154 lines
4.6 KiB
C#
154 lines
4.6 KiB
C#
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Linq;
|
|||
|
|
using System.Text;
|
|||
|
|
using System.IO;
|
|||
|
|
using System.Net;
|
|||
|
|
using Newtonsoft.Json;
|
|||
|
|
|
|||
|
|
namespace Baosight.HBase
|
|||
|
|
{
|
|||
|
|
class Token
|
|||
|
|
{
|
|||
|
|
public string token { get; set; }
|
|||
|
|
public string errcode { get; set; }
|
|||
|
|
}
|
|||
|
|
class OperationType
|
|||
|
|
{
|
|||
|
|
public static string token = "token"; //权限认证
|
|||
|
|
public static string table = "table"; //表操作
|
|||
|
|
public static string record = "record"; //记录操作
|
|||
|
|
public static string index = "index"; //索引操作
|
|||
|
|
public static string metrics = "metrics";//监控操作
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class HbaseUnit
|
|||
|
|
{
|
|||
|
|
private string username = "";
|
|||
|
|
private string password = "";
|
|||
|
|
private string urlhead = "";
|
|||
|
|
|
|||
|
|
private Token token;
|
|||
|
|
|
|||
|
|
|
|||
|
|
public HbaseUnit(string username, string password, string urlhead)
|
|||
|
|
{
|
|||
|
|
ReInit(username, password, urlhead);
|
|||
|
|
}
|
|||
|
|
public void ReInit(string username, string password, string urlhead)
|
|||
|
|
{
|
|||
|
|
Console.WriteLine("******************************init******************************");
|
|||
|
|
this.username = username;
|
|||
|
|
this.password = password;
|
|||
|
|
this.urlhead = urlhead;
|
|||
|
|
ReGetToken();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private string ReGetToken()
|
|||
|
|
{
|
|||
|
|
string retString = Request4Json.Get(username, password, urlhead + OperationType.token);
|
|||
|
|
if (retString == null)
|
|||
|
|
{
|
|||
|
|
Console.WriteLine("can't get token");
|
|||
|
|
return null;
|
|||
|
|
}
|
|||
|
|
Console.WriteLine("token>get token string{0}\n", retString);
|
|||
|
|
|
|||
|
|
JsonSerializer serializer = new JsonSerializer();
|
|||
|
|
StringReader sr = new StringReader(retString);
|
|||
|
|
token = (Token)serializer.Deserialize(new JsonTextReader(sr), typeof(Token));
|
|||
|
|
if (token == null)
|
|||
|
|
{
|
|||
|
|
Console.WriteLine("token is null");
|
|||
|
|
return null;
|
|||
|
|
}
|
|||
|
|
Console.WriteLine("token>{0}\n", token.token);
|
|||
|
|
return token.token;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public string Get(string operationUrl)
|
|||
|
|
{
|
|||
|
|
if (this.token.token == null || this.token.token == "")
|
|||
|
|
{
|
|||
|
|
if (ReGetToken() == null)
|
|||
|
|
{
|
|||
|
|
return "can't get token";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return Request4Json.Get(username, this.token.token, this.urlhead + operationUrl);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public byte[] GetBytes(string operationUrl)
|
|||
|
|
{
|
|||
|
|
if (this.token.token == null || this.token.token == "")
|
|||
|
|
{
|
|||
|
|
if (ReGetToken() == null)
|
|||
|
|
{
|
|||
|
|
return null;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return Request4Json.GetBytes(username, this.token.token, this.urlhead + operationUrl);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
public string PostBytes(string operationUrl, byte[] data)
|
|||
|
|
{
|
|||
|
|
if (this.token.token == null || this.token.token == "")
|
|||
|
|
{
|
|||
|
|
if (ReGetToken() == null)
|
|||
|
|
{
|
|||
|
|
return "can't get token";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return Request4Json.PostBytes(this.username, this.token.token, this.urlhead + operationUrl, data);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public string Post(string operationUrl, string data)
|
|||
|
|
{
|
|||
|
|
if (this.token.token == null || this.token.token == "")
|
|||
|
|
{
|
|||
|
|
if (ReGetToken() == null)
|
|||
|
|
{
|
|||
|
|
return "can't get token";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return Request4Json.Post(this.username, this.token.token, this.urlhead + operationUrl, data);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public string Put(string operationUrl, string data)
|
|||
|
|
{
|
|||
|
|
if (this.token.token == null || this.token.token == "")
|
|||
|
|
{
|
|||
|
|
if (ReGetToken() == null)
|
|||
|
|
{
|
|||
|
|
return "can't get token";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return Request4Json.Put(this.username, this.token.token, this.urlhead + operationUrl, data); ;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public string Delete(string operationUrl)
|
|||
|
|
{
|
|||
|
|
if (this.token.token == null || this.token.token == "")
|
|||
|
|
{
|
|||
|
|
if (ReGetToken() == null)
|
|||
|
|
{
|
|||
|
|
return "can't get token";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return Request4Json.Delete(this.username, this.token.token, this.urlhead + operationUrl);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public byte[] File2Bytes(string path)
|
|||
|
|
{
|
|||
|
|
return Request4Json.File2Bytes(path);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void Bytes2File(byte[] buff, string path)
|
|||
|
|
{
|
|||
|
|
Request4Json.Bytes2File(buff, path);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|