このトピックでは、Windows 上の統合開発環境(IDE)で .NET 向け Alibaba Cloud SDK を使用する方法について説明します。この例では、Visual Studio(VS)Code を使用します。
前提条件
.NET がインストールされていること。詳細については、「Windows への .NET のインストール」をご参照ください。
VS Code がインストールされていること。詳細については、「Windows での .NET 開発環境の構築」をご参照ください。
SDK の使用
OpenAPI Explorer で提供されるサンプルプロジェクトの使用
特定の API 操作のサンプルプロジェクトのダウンロードに失敗する場合があります。この場合は、既存のプロジェクトで SDK を使用できます。詳細については、このトピックの「既存のプロジェクトへの SDK のインストール」セクションをご参照ください。
OpenAPI Explorer にアクセスします。呼び出す API 操作を検索します。この例では、Elastic Compute Service(ECS)の DescribeRegions 操作を使用します。検索ボックスに DescribeRegions と入力し、検索結果で操作名をクリックして API デバッグページに移動します。 |

[パラメーター] タブで、要件に基づいてパラメーターを指定します。パラメーターを指定する際は、デバッグページの右側にある [ドキュメント] タブの情報をお読みください。操作の使用方法に関する注意事項と各パラメーターの説明を理解していることを確認してください。課金関連の情報に注意してください。

デバッグページの右側にある [SDK サンプルコード] タブで、C# プログラミング言語を選択し、[プロジェクトのダウンロード] をクリックして、完全なサンプルプロジェクトパッケージをコンピューターにダウンロードします。その後、パッケージを解凍します。

VS Code を開き、[フォルダーを開く] をクリックし、解凍したプロジェクトフォルダーを選択します。
この操作を呼び出す前に、アクセス資格情報として AccessKey ペアを取得する必要があります。Resource Access Management(RAM)ユーザーの AccessKey ペアを使用することをお勧めします。詳細については、「AccessKey の作成」トピックの「RAM ユーザーの AccessKey ペアの作成」セクションをご参照ください。
重要RAM ユーザーの AccessKey ペアを取得したら、環境変数に AccessKey ペアを設定する必要があります。詳細については、「Linux、macOS、および Windows での環境変数の設定」をご参照ください。
環境変数に AccessKey ペアを設定した後、次のコマンドを実行してプロジェクトを実行します。例外がスローされない場合、API 呼び出しは成功です。
cd core dotnet run
既存のプロジェクトへの SDK のインストール
アプリプロジェクトを作成します。VS Code を開きます。上部のナビゲーションバーで、[ファイル] > [フォルダーを開く] を選択し、プロジェクトフォルダーを選択します。ターミナルで
dotnet new console -n V2SDKProjectコマンドを実行して、コンソールアプリプロジェクトを作成します。次に、cd V2SDKProjectコマンドを実行して、プロジェクトのディレクトリに移動します。SDK をインストールします。SDK Center にアクセスし、管理するクラウドサービスを選択します。この例では、ECS を使用します。表示されるページで、[SDK 生成] ドロップダウンリストから V2.0 を選択し、[すべての言語] セクションで C# を選択します。SDK をインストールするために使用するコマンドをコピーし、ターミナルでコマンドを実行します。
dotnet add package AlibabaCloud.SDK.Ecs20140526 --version 4.1.9クライアントを初期化します。ECS API を呼び出す場合は、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.cn-shanghai.aliyuncs.com"; return new AlibabaCloud.SDK.Ecs20140526.Client(config); }API 操作を呼び出します。API 操作を呼び出す前に、対応する API ドキュメント を読む必要があります。この例では、ECS の DescribeRegions 操作を使用します。
説明各 API 操作には、${API 名}${Request} 形式で名前が付けられたリクエストオブジェクトがあります。例:DescribeRegionsRequest。
AlibabaCloud.SDK.Ecs20140526.Models.DescribeRegionsRequest describeRegionsRequest = new AlibabaCloud.SDK.Ecs20140526.Models.DescribeRegionsRequest { AcceptLanguage = "zh-CN", };例外を処理します。実際のビジネスシナリオでは例外を慎重に処理し、プロジェクトで例外を無視しないでください。適切な方法で例外を伝播したり、ログを記録したり、例外から回復したりするなど、例外を処理するための合理的な対策を講じることをお勧めします。これは、システムの堅牢性と安定性を確保するのに役立ちます。.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 { /** * AccessKey ID と AccessKey シークレットを使用してクライアントを初期化します。 * @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) { // 実際のビジネスシナリオでは例外を慎重に処理し、プロジェクトで例外を無視しないでください。この例では、エラーメッセージがコンソールに表示されます。 // エラーメッセージ。 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