阿里云日志api创建logStore

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:
复制代码
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 = 1, shardCount = 2 });
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; }
}



本文转自94cool博客园博客,原文链接:http://www.cnblogs.com/94cool/p/6027164.html,如需转载请自行联系原作者
相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
2月前
|
API 微服务
阿里云微服务引擎 MSE 及 API 网关 2025 年 9 月产品动态
阿里云微服务引擎 MSE 及 API 网关 2025 年 9 月产品动态。
188 26
|
3月前
|
人工智能 运维 监控
阿里云 API 聚合实战:破解接口碎片化难题,3 类场景方案让业务响应提速 60%
API聚合破解接口碎片化困局,助力开发者降本增效。通过统一中间层整合微服务、第三方接口与AI模型,实现调用次数减少60%、响应提速70%。阿里云实测:APISIX+函数计算+ARMS监控组合,支撑百万级并发,故障定位效率提升90%。
290 0
|
3月前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 API 网关 2025 年 9 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要。
473 142
|
3月前
|
人工智能 自然语言处理 安全
探索 API 的无限可能:阿里云的卓越引领
API是数字化时代的“万能钥匙”,阿里云凭借云控制API、API网关、OpenAPI Explorer等产品,构建全方位API生态,助力企业高效集成、安全管控与创新升级,推动电商、制造等行业智能化转型,引领未来科技浪潮。
178 10
|
3月前
|
人工智能 API 监控
告别多接口拼凑!阿里云 API 模型聚合实现技术能力协同跃迁
API聚合整合400+国内外AI模型,统一接口、屏蔽差异,降低开发与维护成本,提升效率与系统稳定性,助力开发者高效应对多API调用困境。
382 0
API 微服务
102 0
|
3月前
|
人工智能 API 开发者
图文教程:阿里云百炼API-KEY获取方法,亲测全流程
本文详细介绍了如何获取阿里云百炼API-KEY,包含完整流程与截图指引。需先开通百炼平台及大模型服务,再通过控制台创建并复制API-KEY。目前平台提供千万tokens免费额度,适合开发者快速上手使用。
2280 5
|
7月前
|
监控 容灾 算法
阿里云 SLS 多云日志接入最佳实践:链路、成本与高可用性优化
本文探讨了如何高效、经济且可靠地将海外应用与基础设施日志统一采集至阿里云日志服务(SLS),解决全球化业务扩展中的关键挑战。重点介绍了高性能日志采集Agent(iLogtail/LoongCollector)在海外场景的应用,推荐使用LoongCollector以获得更优的稳定性和网络容错能力。同时分析了多种网络接入方案,包括公网直连、全球加速优化、阿里云内网及专线/CEN/VPN接入等,并提供了成本优化策略和多目标发送配置指导,帮助企业构建稳定、低成本、高可用的全球日志系统。
817 54
|
9月前
|
监控 Java 应用服务中间件
Tomcat log日志解析
理解和解析Tomcat日志文件对于诊断和解决Web应用中的问题至关重要。通过分析 `catalina.out`、`localhost.log`、`localhost_access_log.*.txt`、`manager.log`和 `host-manager.log`等日志文件,可以快速定位和解决问题,确保Tomcat服务器的稳定运行。掌握这些日志解析技巧,可以显著提高运维和开发效率。
884 13