文档

SDK 客户端的初始化和请求方式

更新时间:
一键部署

本节主要是介绍客户端的 Client 初始化方式以及如何发起 OpenAPI 请求。

SDK 客户端初始化

原版 SDK 因为是所有产品的 SDK 共用一个 SDK Core,所以通过这个共用 SDK Core 中的方法初始化生成一个 client 对象来处理所有产品的请求,下面是原版 SDK 初始化的示例:

static void Main(string[] args)
{
    IClientProfile profile = DefaultProfile.GetProfile(
        // 地域ID
        "<your-region-id>",
        // 从环境变量获取RAM账号的AccessKey ID
        Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID"),
        // 从环境变量获取RAM账号的AccessKey ID
        Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
    DefaultAcsClient client = new DefaultAcsClient(profile);
}
说明

单 Client 的模式存在线程不安全的问题,而且通过一个 profile 信息在不同产品之间混用造成的权限管理问题

OpenAPI 请求方式

原版 SDK 通过 SDK Core 进行 OpenAPI 的请求,开发者通过 SDK 的 Request 和 Response 对象来指定请求的 OpenAPI,请求 OpenAPI 的示例如下:

static void Main(string[] args)
{
    IClientProfile profile = DefaultProfile.GetProfile(
        // 地域ID
        "<your-region-id>",
        // 从环境变量获取RAM账号的AccessKey ID
        Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID"),
        // 从环境变量获取RAM账号的AccessKey ID
        Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
    DefaultAcsClient client = new DefaultAcsClient(profile);
    // 生成的 SDK 的 Request 
    DescribeInstancesRequest request = new DescribeInstancesRequest();
    // 通过 SDK Core 执行实际的 Http 请求将返回的结果序列化为 SDK 的 Response 结构
    DescribeInstancesResponse response = client.GetAcsResponse(request);
    System.Console.WriteLine(response.TotalCount);
}
说明

每个接口 API 都有独立的 Request,命名方式为 ${API}${Request},例如 DescribeInstancesRequest。

  • 本页导读 (1)
文档反馈