阿里云日志api创建logStore
public async Task<bool> CreateLogStore(string project, string logStore)
{
using (var client = new HttpClient())
{
var time = DateTime.Now;
string body = Newtonsoft.Json.JsonConvert.SerializeObject(new LogBody() { logstoreName = logStore, ttl = , shardCount = });
string date = FormatRfc822Date(time); string contentMD5 = MD5Encrypt(body);
string signString = Sign("POST\n" + contentMD5 + "\napplication/json\n" + date + "\nx-log-apiversion:0.6.0\nx-log-signaturemethod:hmac-sha1\n/logstores", this.accessKeySecret); HttpContent content = new StringContent(body);
string sign = string.Format("{0}:{1}", accessKeyId, signString); client.DefaultRequestHeaders.Add("x-log-apiversion", "0.6.0");
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("LOG", sign);
client.DefaultRequestHeaders.Add("host", project + "." + endpoint);
client.DefaultRequestHeaders.Add("Date", date);
client.DefaultRequestHeaders.Add("x-log-signaturemethod", "hmac-sha1");
client.DefaultRequestHeaders.Add("ContentMD5", contentMD5);
content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); try
{ var res = await client.PostAsync(string.Format("http://{0}.{1}/logstores", project, endpoint), content).ConfigureAwait(false);
return res != null && res.StatusCode == System.Net.HttpStatusCode.OK;
}
catch (Exception ex)
{
return false;
}
}
}
private const string _rfc822DateFormat = "ddd, dd MMM yyyy HH:mm:ss \\G\\M\\T";
public static string FormatRfc822Date(DateTime dt)
{
return dt.ToUniversalTime().ToString(_rfc822DateFormat, CultureInfo.InvariantCulture);
} string MD5Encrypt(string strText)
{
using (var md5 = MD5.Create())
{
var result = md5.ComputeHash(Encoding.UTF8.GetBytes(strText));
return BitConverter.ToString(result).Replace("-", "").ToUpper();
}
} byte[] MD5EncryptByte(string strText)
{
using (var md5 = MD5.Create())
{
return md5.ComputeHash(Encoding.UTF8.GetBytes(strText));
}
} string Sign(string signatureString, string secretKey, bool isRaw = true)
{
var enc = Encoding.UTF8;
HMACSHA1 hmac = new HMACSHA1(enc.GetBytes(secretKey));
hmac.Initialize(); byte[] buffer = enc.GetBytes(signatureString);
if (isRaw)
{
byte[] ret = hmac.ComputeHash(buffer);
return Convert.ToBase64String(ret);
}
else
{
string res = BitConverter.ToString(hmac.ComputeHash(buffer)).Replace("-", "").ToLower();
return Convert.ToBase64String(Encoding.UTF8.GetBytes(res));
}
} /// <summary>
/// 外部DLL导入
/// </summary>
void ExportDll()
{
string path = AppDomain.CurrentDomain.BaseDirectory;
try
{
System.IO.DirectoryInfo DirInfo = new DirectoryInfo(path);
DirInfo.Attributes = FileAttributes.Normal & FileAttributes.Directory;
}
catch { } #region zlib32.dll string dllfile1 = Path.Combine(path, "zlib32.dll");
if (!File.Exists(dllfile1))
{
File.WriteAllBytes(dllfile1, Resource.zlib32);
} #endregion #region zlib64.dll string dllfile2 = Path.Combine(path, "zlib64.dll");
if (!File.Exists(dllfile2))
{
File.WriteAllBytes(dllfile2, Resource.zlib64);
} #endregion
} class LogBody
{
public string logstoreName { get; set; }
public int ttl { get; set; }
public int shardCount { get; set; }
}
阿里云日志api创建logStore的更多相关文章
- python 调用阿里云服务器api创建服务器
首先安装阿里云SDK pip install aliyun-python-sdk-core pip install aliyun-python-sdk-ecs 可以配合jenkins传递参数 #!/u ...
- ACK容器服务虚拟节点使用阿里云日志服务来收集业务容器日志
按照这篇博文的介绍,可以在ACK集群上通过Helm的方式部署虚拟节点,提升集群的弹性能力.现在,通过虚拟节点部署的ECI弹性容器实例也支持将stdout输出.日志文件同步到阿里云日志服务(SLS)进行 ...
- C#调用阿里云CDN API刷新缓存
使用CDN必须要解决CDN缓存的问题,要么在每次更新文件时生成不同的URL,要么在每次更新文件时刷新CDN缓存.我们在一个实际应用场景中用到了后者,所以需要调用阿里云CDN的API进行缓存刷新的操作. ...
- python+flask 分分钟完美解析阿里云日志
拿到了自己阿里云服务器的日志,对其需要进行处理. class Read_Rizhi: def __init__(self,filename): self.filename=filename def o ...
- nodejs版 阿里云开放api签名算法
阿里云 API 签名 github:https://github.com/liuyinglong/aliyun; npm :https://www.npmjs.com/package/aliyun-a ...
- 自建k8s集群日志采集到阿里云日志服务
自建k8s集群 的master 节点安装 logtail 采集工具 wget http://logtail-release-cn-hangzhou.oss-cn-hangzhou.aliyuncs.c ...
- 阿里云日志服务 ilogtail 卸载方法
之前使用阿里云日志服务,按照文档安装了ilogtail.后面不需要了,却找不到卸载文档.仔细查看ilogtail的安装脚本后,发现里面有卸载方法. wget http://logtail-releas ...
- 阿里云Open API自动化脚本—ECS公网IP转化弹性公网IP
1.OpenAPI Explorer 记录一下使用阿里云 Open API 自动化/脚本化 “ECS 公网 IP 转化弹性公网 IP”的实现 全过程.原博客地址:https://www.markedi ...
- 阿里云DNS api接口 shell 更改DNS解析
可定时任务检查域名解析,调用alidns.sh更新DNS解析 #!/bin/bash # alidns.sh #https://www.cnblogs.com/elvi/p/11663910.html ...
随机推荐
- Android 开源框架Universal-Image-Loader完全解析(三)---源代码解读
转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/39057201),请尊重他人的辛勤劳动成果,谢谢! 本篇文章 ...
- 用(*.frm *.MYD *.MYI)文件恢复MySql数据库
保存下来以防以后遇到 今天还原mysql数据库时,看到那个data文件夹下好几个文件,还没有.sql文件,没有见过,总结下.Data文件夹里面包括:数据库名文件夹,文件夹里包括,*.frm,*.MYI ...
- IOS 四舍五入 进一法 去尾法
float numberToRound; int result; numberToRound = 4.51; result = (int)roundf(numberToRound); NSLog(@& ...
- 优化MySchool数据库(二)
优化School数据库(TSQL建库建表建约束) 使用T_sql代码建库.建表.建约束: 建库: Create database HotelManagerSystem on ( ---- 数据文件-- ...
- iOS 开发之路(AES/DES加密实现) 三
最近接触的这个项目由于以前服务器上用的是DES/CBC/PKCS5Padding加密方式,为了让在iOS上的加密结果与服务器端保持一致,我做了很多尝试,现在分享给大家.PS:现在不推荐用DES了,只是 ...
- 【代码笔记】iOS-检测手机翻转
一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. ...
- OC中UITabBarController控制器
UITabBarController UITabBarController(记为O)常用于管理多个导航控制器,例如有ABC三个导航控制器,可以:addChildViewController(记为A), ...
- 【Android】Vitamio 4.0 正式版发布/ Vitamio IOS 测试版发布(2013-07-16)
一.链接 Vitamio官网:http://www.vitamio.org/ 官网github地址:https://github.com/yixia 自己无法编译通过的这里下载: Vitamio 4. ...
- iOS--通讯录(UITableViewController)
本文主要实现通讯录的部分功能(分组名.索引.分组的组名)等等功能: 废话不多说了,先上效果图: 在工程中需要导入一个plist文件,文件图如图: 工程目录文件如图: 工程程序如图所示: RootTab ...
- iOS-H5学习篇-02
H5-自学笔记-2016年09月06日 一:各种标签的练习 Html和CSS的关系 学习web前端开发基础技术需要掌握:HTML.CSS.JavaScript语言. 1.1.1. HTML是网页内容的 ...