首页 阿里云SDK .NET SDK 升级版 SDK 使用指南 SDK 客户端的初始化和请求方式

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

本节主要介绍升级版 SDK 对于客户端的初始化以及 OpenAPI 请求方式。

SDK 客户端初始化

升级版 SDK 中因为具备完整的参数处理、返回值处理以及请求逻辑,所以可以给不同云产品的 SDK 生成不同的 Client 并包含其产品下所有的 OpenAPI 请求方法,可以使不同云产品之间的身份及鉴权信息隔离,使用上更加安全,下面是产品 ECS 的升级版 SDK 初始化示例:

public static void Main(string[] args)
{
    AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config
    {
        // 您的AccessKey ID
        AccessKeyId = accessKeyId,
        // 您的AccessKey Secret
        AccessKeySecret = accessKeySecret,
    };
    // 也可以直接设置 endpoint 指定请求地址,对于开发者而言更好理解
    //  config.Endpoint = "ecs-cn-hangzhou.aliyuncs.com";
    AlibabaCloud.SDK.Ecs20140526.Client client = new AlibabaCloud.SDK.Ecs20140526.Client(config);
}

OpenAPI 请求方式

升级版 SDK 中每个产品的 Client 包含了所有的 OpenAPI,所以可以指定 OpenAPI 请求方法来请求,其方法名对应 OpenAPI 名称:

  • 可以不用传入运行参数的请求方法。

public static void Main(string[] args)
{
    AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config
    {
        // 您的AccessKey ID
        AccessKeyId = accessKeyId,
        // 您的AccessKey Secret
        AccessKeySecret = accessKeySecret,
    };
    // 也可以直接设置 endpoint 指定请求地址,对于开发者而言更好理解
    //  config.Endpoint = "ecs-cn-hangzhou.aliyuncs.com";
    AlibabaCloud.SDK.Ecs20140526.Client client = new AlibabaCloud.SDK.Ecs20140526.Client(config);
    DescribeInstancesRequest request = new DescribeInstancesRequest();
    // 通过 SDK Core 执行实际的 Http 请求将返回的结果序列化为 SDK 的 Response 结构
    var response = client.DescribeInstances(request);
    System.Console.WriteLine(response.Body.TotalCount);
}
  • 需要传入运行参数的请求方法。

public static void Main(string[] args)
{
    AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config
    {
        // 您的AccessKey ID
        AccessKeyId = accessKeyId,
        // 您的AccessKey Secret
        AccessKeySecret = accessKeySecret,
    };
    // 也可以直接设置 endpoint 指定请求地址,对于开发者而言更好理解
    //  config.Endpoint = "ecs-cn-hangzhou.aliyuncs.com";
    AlibabaCloud.SDK.Ecs20140526.Client client = new AlibabaCloud.SDK.Ecs20140526.Client(config);
    RuntimeOptions runtimeOptions = new RuntimeOptions();

    DescribeInstancesRequest request = new DescribeInstancesRequest();
    // 通过 SDK Core 执行实际的 Http 请求将返回的结果序列化为 SDK 的 Response 结构
    var response = client.DescribeInstancesWithOptions(request, runtimeOptions);
    System.Console.WriteLine(response.Body.TotalCount);
}

说明

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

阿里云首页 阿里云SDK 相关技术圈