このトピックでは、Windows 上の統合開発環境 (IDE) で Node.js 用 Alibaba Cloud SDK を使用する方法について説明します。この例では、Visual Studio (VS) Code を使用します。
前提条件
Node.js がインストールされていること。詳細については、Windows への Node.js のインストールをご参照ください。
VS Code がインストールされていること。詳細については、Windows での Node.js 開発環境の構築をご参照ください。
SDK の使用
OpenAPI Explorer で提供されるサンプルプロジェクトの使用
特定の API 操作のサンプルプロジェクトをダウンロードできない場合があります。この場合は、既存のプロジェクトで SDK を使用します。
OpenAPI Explorer にアクセスします。使用する API 操作を検索します。この例では、Elastic Compute Service (ECS) の DescribeRegions 操作を使用します。検索ボックスに DescribeRegions と入力し、検索結果で操作名をクリックして API デバッグページに移動します。
中央の列にある [パラメーター] タブで、要件に基づいてパラメーターを指定します。パラメーターを指定する際は、右端の列にある [ドキュメント] タブの情報をお読みください。操作の使用方法に関する注意事項と各パラメーターの説明を理解していることを確認してください。課金関連の情報に注意してください。
この例では、DescribeRegions 操作は 3 つの要求パラメーターをサポートしています。
パラメーター
必須
説明
InstanceChargeType
いいえ
インスタンスの課金方法。サポートされているリージョンは、課金方法によって異なります。デフォルト値:PrePaid。これはサブスクリプション課金方法を示します。
ResourceType
いいえ
リソースタイプ。サポートされているリージョンは、リソースタイプによって異なります。デフォルト値:instance。
AcceptLanguage
いいえ
レスポンスが返される言語。デフォルト値:zh-CN。
右端の列にある [SDK サンプルコード] タブで、プログラミング言語を選択し、[プロジェクトのダウンロード] をクリックして、完全な SDK プロジェクトをコンピューターにダウンロードします。次に、パッケージを解凍します。
VS Code を開き、上部のナビゲーションバーで [ファイル] > [フォルダーを開く] を選択し、解凍したフォルダーを選択します。
上部のナビゲーションバーで、[ターミナル] > [新しいターミナル] を選択します。コンソールの 下部に TERMINAL ウィンドウが表示されます。
ターミナルで次のコマンドを実行して、TypeScript をインストールします。
npm install -g typescript
ターミナルで次のコマンドを実行して、プロジェクト内の
package.json
ファイルを読み取り、ファイルにリストされているすべての依存関係を解析し、プロジェクトのnode_modules
ディレクトリにダウンロードします。npm install
ターミナルで次のコマンドを実行して、
tsconfig.json
設定ファイルに基づいて.ts
TypeScript ファイルをtsconfig.json
.js
JavaScript ファイルにコンパイルします。JavaScript ファイルは通常、後続の実行またはデプロイのために などの指定された出力ディレクトリに保存されます。tsc
ターミナルで次のコマンドを実行して、サンプルコードを実行します。
node ./dist/client.js
結果を表示します。ターミナルの任意の場所をクリックし、
Ctrl+F
を押してstatusCode
を検索します。"statusCode":200
が表示されている場合、呼び出しは成功しています。
既存のプロジェクトで SDK を使用
VS Code を開きます。上部のナビゲーションバーで、[ファイル] > [フォルダーを開く] を選択します。プロジェクトフォルダーを作成して選択するか、既存のプロジェクトフォルダーを選択します。この例では、tssdkproject という名前のフォルダーが作成され、選択されます。
上部のナビゲーションバーで [ターミナル] > [新しいターミナル] を選択します。コンソールの 下部に TERMINAL ウィンドウが表示されます。
SDK を取得します。
SDK Center にアクセスし、SDK を使用したいクラウドサービスを選択します。この例では、ECS を使用します。SDK バージョンとして [V2.0] を、プログラミング言語として [typescript] を選択します。
SDK をインストールします。
インストールコマンドをターミナルにコピーして、Enter キーを押します。
ファイルを作成します。プロジェクト名の右側にある [新しいファイル...] アイコンをクリックし、ecsDescribeRegions.js などのファイル名を入力します。
クライアントを初期化します。
ECS API を呼び出すには、最初に ECS クライアントを初期化する必要があります。
重要クライアントを初期化する際には、AccessKey ペアを使用して本人確認を完了する必要があります。この場合、事前に AccessKey ペアを取得する必要があります。AccessKey ペアの取得方法の詳細については、AccessKey の作成をご参照ください。
RAM ユーザーの AccessKey ペアを取得したら、環境変数に AccessKey ペアを設定する必要があります。詳細については、Linux、macOS、および Windows での環境変数の設定をご参照ください。
エンドポイントの設定方法の詳細については、エンドポイントをご参照ください。
// ECS クライアントと API クライアントをインポートします。 // Import the ECS client and the API client. const ecs20140526 = require('@alicloud/ecs20140526'); const openapiclient = require('@alicloud/openapi-client'); /** * ECS クライアントの構成を初期化します。 * 環境変数に設定されている AccessKey ID と AccessKey シークレットを使用して本人確認を完了し、エンドポイントを ecs.cn-hangzhou.aliyuncs.com に設定します。 * Initialize the configurations of the ECS client. * Use the AccessKey ID and AccessKey secret configured in the environment variables to complete identity verification and set the endpoint to ecs.cn-hangzhou.aliyuncs.com. */ const ecsconfig = new openapiclient.Config(); ecsconfig.accessKeyId = process.env.ALIBABA_CLOUD_ACCESS_KEY_ID; // 環境変数から AccessKey ID を取得します。// Obtain the AccessKey ID from the environment variables. ecsconfig.accessKeySecret = process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET; // 環境変数から AccessKey シークレットを取得します。// Obtain the AccessKey secret from the environment variables. ecsconfig.endpoint = 'ecs.cn-hangzhou.aliyuncs.com'; // ECS のエンドポイントを指定します。// Specify the endpoint of ECS. // バージョン 20140526 の ECS API のクライアントインスタンスを作成します。 // Create a client instance for the ECS API of version 20140526. const ecs20140526client = new ecs20140526.default(ecsconfig);
API 操作を呼び出します。API 操作を呼び出す前に、対応する API ドキュメント を読む必要があります。この例では、ECS の DescribeRegions 操作を使用します。
説明各 API 操作には、${API名}${Request} 形式で名前が付けられたリクエストオブジェクトがあります。例:DescribeRegionsRequest。
// ECS クライアントと API クライアントをインポートします。 // Import the ECS client and the API client. const ecs20140526 = require('@alicloud/ecs20140526'); const openapiclient = require('@alicloud/openapi-client'); /** * ECS クライアントの構成を初期化します。 * 環境変数に設定されている AccessKey ID と AccessKey シークレットを使用して本人確認を完了し、エンドポイントを ecs.cn-hangzhou.aliyuncs.com に設定します。 * Initialize the configurations of the ECS client. * Use the AccessKey ID and AccessKey secret configured in the environment variables to complete identity verification and set the endpoint to ecs.cn-hangzhou.aliyuncs.com. */ const ecsconfig = new openapiclient.Config(); ecsconfig.accessKeyId = process.env.ALIBABA_CLOUD_ACCESS_KEY_ID; // 環境変数から AccessKey ID を取得します。// Obtain the AccessKey ID from the environment variables. ecsconfig.accessKeySecret = process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET; // 環境変数から AccessKey シークレットを取得します。// Obtain the AccessKey secret from the environment variables. ecsconfig.endpoint = 'ecs.cn-hangzhou.aliyuncs.com'; // ECS のエンドポイントを指定します。// Specify the endpoint of ECS. // バージョン 20140526 の ECS API のクライアントインスタンスを作成します。 // Create a client instance for the ECS API of version 20140526. const ecs20140526client = new ecs20140526.default(ecsconfig); const describeRegionsRequest = new ecs20140526.DescribeRegionsRequest(); // 使用可能なリージョンを照会するリクエストを開始します。 // Initiate a request to query the available regions. ecs20140526client.describeRegions(describeRegionsRequest).then((res)=>{ console.log(res); })
例外を処理します。
Node.js 用 V2.0 SDK では、例外は 2 つのタイプに分けられます。ビジネスエラーによって発生する例外と、ネットワークの問題によって発生する例外です。再試行回数が上限に達すると、ネットワークの問題によって発生した例外がスローされます。関連する外部例外モジュールは、2 つのタイプの例外では使用できません。したがって、次のサンプルコードでは、2 つのタイプの例外は区別されません。
// ECS クライアントと API クライアントをインポートします。 // Import the ECS client and the API client. const ecs20140526 = require('@alicloud/ecs20140526'); const openapiclient = require('@alicloud/openapi-client'); /** * ECS クライアントの構成を初期化します。 * 環境変数に設定されている AccessKey ID と AccessKey シークレットを使用して本人確認を完了し、エンドポイントを ecs.cn-hangzhou.aliyuncs.com に設定します。 * Initialize the configurations of the ECS client. * Use the AccessKey ID and AccessKey secret configured in the environment variables to complete identity verification and set the endpoint to ecs.cn-hangzhou.aliyuncs.com. */ const ecsconfig = new openapiclient.Config(); ecsconfig.accessKeyId = process.env.ALIBABA_CLOUD_ACCESS_KEY_ID; // 環境変数から AccessKey ID を取得します。// Obtain the AccessKey ID from the environment variables. ecsconfig.accessKeySecret = process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET; // 環境変数から AccessKey シークレットを取得します。// Obtain the AccessKey secret from the environment variables. ecsconfig.endpoint = 'ecs.cn-hangzhou.aliyuncs.com'; // ECS のエンドポイントを指定します。// Specify the endpoint of ECS. // バージョン 20140526 の ECS API のクライアントインスタンスを作成します。 // Create a client instance for the ECS API of version 20140526. const ecs20140526client = new ecs20140526.default(ecsconfig); const describeRegionsRequest = new ecs20140526.DescribeRegionsRequest(); // 使用可能なリージョンを照会するリクエストを開始します。 // Initiate a request to query the available regions. ecs20140526client.describeRegions(describeRegionsRequest).then((res) => { console.log(res); }).catch((err) => { console.log(err.message); throw err; });
SDK デモコードを実行します。
Code Runner 拡張機能をインストールしている場合は、エディター内の任意の場所を右クリックし、[コードの実行] を選択します。
ターミナルで node コマンドを使用してコードを実行します。例:
node .\ecsDescribeRegions.js
。実行するファイル (例:ecsDescribeRegions.js) を選択します。左側のナビゲーションバーにある [実行とデバッグ] アイコンをクリックするか、
Ctrl+Shift+D
を押します。次に、[実行とデバッグ] をクリックしてコードを実行します。
オプション。OpenAPI Explorer で提供されているサンプルコードをファイルにコピーして、サンプルコードを実行することもできます。サンプルコードの取得方法の詳細については、SDK 例の自動生成をご参照ください。