全部產品
Search
文件中心

Alibaba Cloud SDK:通過IDE使用阿里雲.NET SDK

更新時間:Oct 30, 2024

本文以在Windows作業系統上,通過VS Code使用阿里雲.NET SDK為例,協助您瞭解如何快速使用阿里雲.NET SDK。

前提條件

使用SDK

使用OpenAPI門戶提供的程式碼範例工程

說明

可能會存在OpenAPI無法下載程式碼範例工程的情況,您可以查看在已有的專案中安裝SDK的介紹。

  1. 搜尋OpenAPI:在OpenAPI門戶搜尋您將要調用的介面。例如調用Elastic Compute Service的DescribeRegions介面,可在搜尋欄中填入DescribeRegions,在搜尋結果中單擊API名稱進入API調試頁面。|

    1716346246233_4A41CC11-FA46-4973-BC7B-C4AAD6E7F3F0

  2. 查看OpenAPI參數資訊:在參數配置頁簽中填寫需要的參數資訊。填寫時請參考右側文檔頁簽,充分瞭解介面的說明和注意事項(尤其是費用相關資訊),以及各個參數的具體含義和使用方法。

    1716346635851_0B018C7F-D759-497b-B529-58E23E4AC41B

  3. 下載樣本工程:在右側的SDK樣本頁簽,下載SDK完整工程至本地並解壓。

    image

  4. 開啟 Visual Studio Code,單擊開啟,選擇解壓後的工程檔案夾。

  5. 在調用之前,需要先擷取訪問憑證AccessKey,建議使用RAM使用者的AccessKey。更多資訊,請參見建立RAM使用者的AccessKey

    重要

    擷取RAM使用者的AccessKey之後,還需要在環境變數中設定AccessKey,具體操作步驟請參見在Linux、macOS和Windows系統配置環境變數

  6. 將憑證配置到環境變數之後,使用命令列運行專案,如果未拋出異常則說明調用成功。

    cd core
    dotnet run 

在已有的專案中安裝SDK

  1. 建立應用程式專案:使用File -> Open Folder開啟.NET專案檔夾,在Terminal執行dotnet new console -n V2SDKProject命令建立一個新的控制台應用程式專案,執行cd V2SDKProject進入該專案。

  2. 安裝SDK:訪問SDK中心,選擇您想要使用的 SDK的雲產品,這裡以Elastic Compute Service為例。SDK版本選擇V2.0,語言選擇C#,複製安裝命令在Terminal中執行。

    dotnet add package AlibabaCloud.SDK.Ecs20140526 --version 4.1.9

  3. 初始化用戶端。如您想調用Elastic Compute Service的API,必須先對Elastic Compute Service的用戶端做初始化。

    重要
    1. 初始化用戶端時需要使用AccessKey完成身分識別驗證,請提前擷取AccessKey。擷取方法請參見建立AccessKey

    2. 擷取RAM使用者的AccessKey之後,還需要在環境變數中設定AccessKey,具體操作步驟請參見在Linux、macOS和Windows系統配置環境變數

    3. endpoint如何設定請參見服務存取點

            public static AlibabaCloud.SDK.Ecs20140526.Client CreateClient()
            {
                AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config
                {
                    // 必填,請確保代碼運行環境設定了環境變數 ALIBABA_CLOUD_ACCESS_KEY_ID。
                    AccessKeyId = Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID"),
                    // 必填,請確保代碼運行環境設定了環境變數 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
                    AccessKeySecret = Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
                };
                // Endpoint 請參考 https://api.aliyun.com/product/Ecs
                config.Endpoint = "ecs.cn-shanghai.aliyuncs.com";
                return new AlibabaCloud.SDK.Ecs20140526.Client(config);
            }
  4. 調用API。在調用OpenAPI之前,您需要先瞭解OpenAPI的詳細資料,請查看API文檔,以調用ECS的DescribeRegions為例。

    說明

    每個API都有獨立的請求對象,命名規則為${API名稱}${Request},例如DescribeRegionsRequest。

                AlibabaCloud.SDK.Ecs20140526.Models.DescribeRegionsRequest describeRegionsRequest = new AlibabaCloud.SDK.Ecs20140526.Models.DescribeRegionsRequest
                {
                    AcceptLanguage = "zh-CN",
                };
  5. 異常處理:請重視異常處理,切勿在專案中直接忽略異常。建議採取合理的措施來處理異常,比如合理地傳播異常、記錄日誌、嘗試恢複等,以確保系統的健壯性和穩定性。.NET V2.0 SDK異常處理介紹請參見異常處理

    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.IO;
    using System.Threading.Tasks;
    
    using Tea;
    using Tea.Utils;
    
    
    namespace AlibabaCloud.SDK.Sample
    {
        public class Sample 
        {
    
            /**
             * 使用AK&SK初始化帳號Client
             * @return Client
             * @throws Exception
             */
            public static AlibabaCloud.SDK.Ecs20140526.Client CreateClient()
            {
                AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config
                {
                    // 必填,請確保代碼運行環境設定了環境變數 ALIBABA_CLOUD_ACCESS_KEY_ID。
                    AccessKeyId = Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID"),
                    // 必填,請確保代碼運行環境設定了環境變數 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
                    AccessKeySecret = Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
                };
                config.Endpoint = "ecs.cn-shanghai.aliyuncs.com";
                return new AlibabaCloud.SDK.Ecs20140526.Client(config);
            }
    
            public static void Main(string[] args)
            {
                AlibabaCloud.SDK.Ecs20140526.Client client = CreateClient();
                AlibabaCloud.SDK.Ecs20140526.Models.DescribeRegionsRequest describeRegionsRequest = new AlibabaCloud.SDK.Ecs20140526.Models.DescribeRegionsRequest
                {
                    AcceptLanguage = "zh-CN",
                };
                AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
                try
                {
                    AlibabaCloud.SDK.Ecs20140526.Models.DescribeRegionsResponse resp = client.DescribeRegionsWithOptions(describeRegionsRequest, runtime);
                    Console.WriteLine(AlibabaCloud.TeaUtil.Common.ToJSONString(resp));
                }
                catch (TeaException error)
                {
                    // 此處僅做列印展示,請謹慎對待異常處理,在工程專案中切勿直接忽略異常。
                    // 錯誤 message
                    Console.WriteLine(error.Message);
                    // 診斷地址
                    Console.WriteLine(error.Data["Recommend"]);
                    AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
                }
                catch (Exception _error)
                {
                    TeaException error = new TeaException(new Dictionary<string, object>
                    {
                        { "message", _error.Message }
                    });
                    // 此處僅做列印展示,請謹慎對待異常處理,在工程專案中切勿直接忽略異常。
                    // 錯誤 message
                    Console.WriteLine(error.Message);
                    // 診斷地址
                    Console.WriteLine(error.Data["Recommend"]);
                    AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
                }
            }
    
        }
    }
  6. 運行範例程式碼。

    dotnet run

相關文檔

進階文檔