本文以 .NET SDK V2.0 为例,演示如何调用云监控2.0(cms20240330)OpenAPI。其他接口的调用方法类似,仅需替换 Request/Response 类型与字段。
环境要求
.NET Framework 4.5 及以上 /.NET Core 2.0 及以上。
安装方式
通过 dotnet CLI 安装:
dotnet add package AlibabaCloud.SDK.Cms20240330 --version 10.0.0或在项目 .csproj 中加入:
<PackageReference Include="AlibabaCloud.SDK.Cms20240330" Version="10.0.0" />配置访问凭据
工程代码建议使用更安全的无 AK 方式,凭据配置方式请参见管理访问凭证。最简单的做法是在系统环境变量中配置:
export ALIBABA_CLOUD_ACCESS_KEY_ID="<your-access-key-id>"
export ALIBABA_CLOUD_ACCESS_KEY_SECRET="<your-access-key-secret>"Aliyun.Credentials.Client 会按照默认凭据链顺序查找凭据。
完整代码示例
以下示例调用 GetCmsService 接口,查询云监控2.0服务对应产品的开通状态:
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using Tea;
using Tea.Utils;
namespace AlibabaCloud.SDK.Sample
{
public class Sample
{
/// <summary>
/// 使用凭据初始化账号 Client
/// </summary>
public static AlibabaCloud.SDK.Cms20240330.Client CreateClient()
{
// 工程代码建议使用更安全的无 AK 方式。
Aliyun.Credentials.Client credential = new Aliyun.Credentials.Client();
AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config
{
Credential = credential,
};
// Endpoint 请参考 https://api.aliyun.com/product/Cms
config.Endpoint = "metrics.cn-hangzhou.aliyuncs.com";
return new AlibabaCloud.SDK.Cms20240330.Client(config);
}
public static void Main(string[] args)
{
AlibabaCloud.SDK.Cms20240330.Client client = CreateClient();
AlibabaCloud.SDK.Cms20240330.Models.GetCmsServiceRequest request = new AlibabaCloud.SDK.Cms20240330.Models.GetCmsServiceRequest
{
Product = "your_value",
Service = "your_value",
};
Dictionary<string, string> headers = new Dictionary<string, string>() { };
try
{
AlibabaCloud.SDK.Cms20240330.Models.GetCmsServiceResponse resp = client.GetCmsServiceWithOptions(request, headers, new AlibabaCloud.TeaUtil.Models.RuntimeOptions());
Console.WriteLine(JsonConvert.SerializeObject(resp, Formatting.Indented));
}
catch (TeaException error)
{
// 错误 message
Console.WriteLine(error.Message);
// 诊断地址
Console.WriteLine(error.Data["Recommend"]);
}
catch (Exception _error)
{
TeaException error = new TeaException(new Dictionary<string, object>
{
{ "message", _error.Message }
});
Console.WriteLine(error.Message);
Console.WriteLine(error.Data["Recommend"]);
}
}
}
}步骤介绍
初始化配置对象
AlibabaCloud.OpenApiClient.Models.Config。Config 对象存放 Credential、Endpoint 等配置,Endpoint 如示例中的metrics.cn-hangzhou.aliyuncs.com。Aliyun.Credentials.Client credential = new Aliyun.Credentials.Client(); AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config { Credential = credential, }; config.Endpoint = "metrics.cn-hangzhou.aliyuncs.com";实例化客户端:
AlibabaCloud.SDK.Cms20240330.Client client = new AlibabaCloud.SDK.Cms20240330.Client(config);创建对应 API 的 Request:
GetCmsServiceRequest request = new GetCmsServiceRequest();设置请求参数:
request.Product = "your_value"; request.Service = "your_value";通过 client 调用接口:
GetCmsServiceResponse response = client.GetCmsService(request); Console.WriteLine(JsonConvert.SerializeObject(response.Body));从 response 读取返回值,例如:
string requestId = response.Body.RequestId;使用 catch 处理报错:
catch (Exception e) { Console.WriteLine(e.StackTrace); }
更多接口与示例代码可在 OpenAPI 门户 SDK 示例 查看。
该文章对您有帮助吗?