CRVM-redis-6/HBase/HbaseUnit.cs
2025-11-07 02:02:31 +08:00

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);
}
}
}