日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

集成SDK

更新時間:

在采用V1.0代系的SDK進行開發時,正確集成核心SDK與云產品SDK是至關重要的步驟,本文為您詳細介紹如何添加并管理這些依賴。

云產品的V1.0 SDK依賴信息

云產品的V1.0 SDK中主要包括OpenAPI的Request以及Response對象,還有包含了返回值序列化邏輯的Unmarshaller對象。以云產品ECS的V1.0 SDK的為例,引入云產品SDK依賴的方式如下:

.NET CLI

dotnet add package aliyun-net-sdk-ecs

# 通過 -Version 指定版本
dotnet add package aliyun-net-sdk-ecs --version 4.24.18

Package Manager

Install-Package aliyun-net-sdk-ecs

# 通過 -Version 指定版本
Install-Package aliyun-net-sdk-ecs -Version 4.24.18

PackageReference

<PackageReference Include="aliyun-net-sdk-ecs" Version="4.24.18" />

Paket CLI

paket add aliyun-net-sdk-ecs --version 4.24.18

F# Interactive

#r "nuget: aliyun-net-sdk-ecs, 4.24.18"
說明

V1.0 SDK的命名格式為aliyun-net-sdk-${產品名}。開發者亦可通過SDK信息中心查閱特定云產品的V1.0 SDK相關信息。

核心SDK的依賴信息

核心SDK包括對OpenAPI的HTTP請求、認證信息、簽名算法、異常處理等主要邏輯。依賴信息如下:

dotnet add package aliyun-net-sdk-core

使用SDK

1. 初始化客戶端

在V1.0 SDK中,所有云產品的SDK均共享一個SDK Core,因此可以通過該共用SDK Core中的方法初始化并生成一個client對象,以處理所有產品的請求。以下是V1.0 SDK客戶端初始化的示例,更多客戶端初始化方式,請參見管理訪問憑據。

static void Main(string[] args)
{
    IClientProfile profile = DefaultProfile.GetProfile(
        // 地域ID
        "<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信息在不同產品之間混用造成的權限管理問題,建議使用V2.0 SDK。

2. 構造請求對象并發起請求

V1.0 SDK通過SDK Core發起對OpenAPI的請求。開發者可以利用云產品SDK提供的Request對象傳遞請求參數,隨后通過已初始化的客戶端發起請求,最終返回一個Response對象以接收OpenAPI的返回參數。以使用ECS V1.0 SDK并調用查詢一臺或多臺ECS實例詳細信息的接口為例:

說明

每個OpenAPI都有獨立的Request和Response對象,命名方式為:

  • ${API}${Request},例如DescribeInstancesRequest。

  • ${API}${Response},例如DescribeInstancesResponse。

using Aliyun.Acs.Core;
using Aliyun.Acs.Core.Profile;
using Aliyun.Acs.Ecs.Model.V20140526;

namespace AlibabaCloud.SDK.Sample
{
    public class Sample 
    {
        static void Main(string[] args)
        {
            IClientProfile profile = DefaultProfile.GetProfile(
                // 地域ID
                "<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);
            // 構造請求對象
            DescribeInstancesRequest request = new DescribeInstancesRequest{
                RegionId = "<REGION_ID>"
            };;
            // 通過client發起請求,將返回的結果序列化為Response對象
            DescribeInstancesResponse response = client.GetAcsResponse(request);
            System.Console.WriteLine(response.TotalCount);
        }
    }
}