Windows 上の VS Code で、初めての Alibaba Cloud SDK for .NET プロジェクトをセットアップして実行します。
前提条件
-
.NET がインストールされていること。「Windows への .NET のインストール」をご参照ください。
-
VS Code がインストールされていること。「Windows での .NET 開発環境のセットアップ」をご参照ください。
SDK の使用
OpenAPI Explorer のサンプルプロジェクトの使用
サンプルプロジェクトが利用できない場合は、「既存のプロジェクトへの SDK のインストール」をご参照ください。
-
OpenAPI Explorer で、呼び出す API オペレーション (Elastic Compute Service (ECS) の DescribeRegions など) を検索し、API 名をクリックしてデバッグページを開きます。
-
[parameters] タブで API パラメーターを設定します。操作の詳細と請求情報については、[documentation] タブを確認します。
-
[SDK Sample Code] タブで、SDK プロジェクトをダウンロードして展開します。
-
VS Code で、展開したプロジェクトフォルダーを開きます。
-
Resource Access Management (RAM) ユーザーのアクセスキーペアを取得します。詳細については、「RAM ユーザーの AccessKey の作成」をご参照ください。
重要アクセスキーペアを環境変数として設定します。詳細については、「Linux、macOS、および Windows での環境変数の設定」をご参照ください。
-
プロジェクトを実行します。例外のないレスポンスは成功を示します。
cd core dotnet run
既存のプロジェクトへの SDK のインストール
-
VS Code で、.NET プロジェクトフォルダーを開きます。
dotnet new console -n V2SDKProjectを実行してコンソールプロジェクトを作成し、cd V2SDKProjectを実行してそのプロジェクトに移動します。 -
SDK をインストールします。 SDK Center でクラウド製品 (この例では ECS) を選択し、[SDK Version] を [V2.0] に、言語を [C#] に設定してから、インストールコマンドをコピーして実行します。
dotnet add package AlibabaCloud.SDK.Ecs20140526 --version 4.1.9 -
ECS クライアントを初期化します。
重要クライアントを初期化する際に、AccessKey ペアを使用して本人確認を完了する必要があります。 この場合、事前に AccessKey ペアを取得する必要があります。 AccessKey ペアの取得方法の詳細については、「AccessKey の作成」をご参照ください。
RAM ユーザーの AccessKey ペアを取得した後、環境変数に AccessKey ペアを設定する必要があります。 詳細については、「Linux、macOS、Windows で環境変数を設定する」をご参照ください。
エンドポイントの設定方法の詳細については、「エンドポイント」をご参照ください。
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..aliyuncs.com"; return new AlibabaCloud.SDK.Ecs20140526.Client(config); } -
API を呼び出します。対象 API のAPI ドキュメントを確認します。次の例では、ECS の
DescribeRegionsAPI を呼び出します。説明各 API には、
${APIName}${Request}という命名規則に従ったリクエストオブジェクトがあります (例:DescribeRegionsRequest)。AlibabaCloud.SDK.Ecs20140526.Models.DescribeRegionsRequest describeRegionsRequest = new AlibabaCloud.SDK.Ecs20140526.Models.DescribeRegionsRequest { AcceptLanguage = "en-US", }; -
エラー処理を追加します。詳細については、「例外処理」をご参照ください。
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 { /** * AccessKey ID と AccessKey Secret を使用してクライアントを初期化します。 * @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..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 = "en-US", }; 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) { // これはデモンストレーション専用です。プロジェクトでは、例外を無視せず、慎重に処理してください。 // エラーメッセージ Console.WriteLine(error.Message); // 診断 URL 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 } }); // これはデモンストレーション専用です。プロジェクトでは、例外を無視せず、慎重に処理してください。 // エラーメッセージ Console.WriteLine(error.Message); // 診断 URL Console.WriteLine(error.Data["Recommend"]); AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message); } } } } -
サンプルコードを実行します。
dotnet run