Visual Studio Code (VS Code) に Alibaba Cloud API Toolkit 拡張機能をインストールして使用します。
Alibaba Cloud API Toolkit のインストール
前提条件
VS Code がインストールされていること。
Alibaba Cloud API Toolkit は 2 つの方法でインストールできます。
方法 1:拡張機能ビューからのインストール
-
VS Code のアクティビティバーで
アイコンをクリックします。 -
Alibaba Cloud API Toolkit を検索し、[インストール] をクリックします。
方法 2:VS Code Marketplaceからのインストール
-
VS Code Marketplace で Alibaba Cloud API Toolkit ページにアクセスし、[インストール] をクリックします。VS Code で拡張機能ページが開きます。
-
VS Code の拡張機能ページで[インストール]をクリックします。
インストールの確認
インストール後、アクティビティバーに Alibaba Cloud アイコンが表示されます。
VS Code サイドバーの 拡張機能ビュー で Alibaba Cloud API Toolkit を検索します。メインパネルには拡張機能名、バージョン (v0.0.9)、発行元 (Alibaba Cloud OpenAPI)、および青い [Uninstall] ボタンが表示されます。これは、拡張機能がインストールされていることを示しています。
認証情報の設定
API を呼び出す前に、アクセスキーペアを設定します。この拡張機能では、認証情報としてアクセスキーペアのみがサポートされます。
認証情報の追加または変更
-
Alibaba Cloud CLI Tools 拡張機能をインストールします。
-
VS Code Marketplace の Alibaba Cloud CLI Tools ページにアクセスし、[インストール] をクリックします。
-
表示されるメッセージで、[開く] をクリックします。
-
VS Code の拡張機能ページで[インストール]をクリックします。
-
インストール後、アクティビティバーに Alibaba Cloud アイコンが表示されます。
説明VS Code で直接 Alibaba Cloud CLI Tools をインストールすることもできます。詳細については、「VS Code 用 Alibaba Cloud CLI 拡張機能の使用」をご参照ください。
-
-
ID と認証情報を設定します。
-
VS Code で、を選択します。
-
aliyun configureを実行し、プロンプトの指示に従います。既存のアクセスキーペアを使用するか、新しいアクセスキーペアを作成します。重要AccessKey Secret は作成時にのみ表示され、後から取得することはできません。安全な場所に保管してください。
-
各プロンプトの後に Enter キーを押します。[Saving profile[xxx] ...Done.] が返された場合、プロファイルは保存されます。[!!! Configure Failed please configure again !!!] が返された場合、パラメーターの形式または値が無効で、認証情報の検証に失敗しました。この場合でもプロファイルは保存されます。
$ aliyun configure Configuring profile 'default' ... Aliyun Access Key ID [None]: <Your AccessKey ID> Aliyun Access Key Secret [None]: <Your AccessKey Secret> Default Region Id [None]: cn-hangzhou Default output format [json]: json Default Language [zh]: zh重要Alibaba Cloud アカウントはすべてのリソースに対する完全な権限を持っています。アクセスキーペアが漏洩すると、リソースが重大なリスクにさらされます。代わりに RAM ユーザーのアクセスキーペアを使用してください。
-
ユーザー ID の表示と切り替え
-
左下のステータスバーにある Alibaba Cloud アイコンをクリックします。設定済みのプロファイルが検索ボックスに表示されます。
-
プロファイル名をクリックして ID を切り替えます。
機能
Alibaba Cloud API Toolkit を使用すると、VS Code 内で直接 API の検索、API のデバッグ、SDK サンプルコードの生成を行うことができます。
サービスへのサブスクライブ
Alibaba Cloud サービスをサブスクライブし、API バージョンを選択します。拡張機能はバージョンを推奨し、設定ファイルは不要です。Ctrl+Cmd+K (Windows では Ctrl+Win+K) を押して検索してサブスクライブします。
API サービスのドロップダウンリストで、検索ボックスを使用して対象サービスをフィルタリングして選択します。たとえば、[Certificate Management Service] (サービスコード cas、推奨バージョン 2020-04-07) を選択します。
API 検索
サブスクライブした API を検索し、そのリファレンスを表示します。Ctrl+Cmd+L (Windows では Ctrl+Win+L) を押して API を検索するか、コードスニペットを挿入します。
検索ボックスに describe などのキーワードを入力すると、一致する API がボックスの下に表示されます。各エントリには、リクエストメソッド、API 名、簡単な説明、バージョンパスが表示されます。
API リファレンスのプレビュー
API をクリックすると、新しいタブでそのリファレンスが表示されます。使用上の注意、リクエストパラメーター、レスポンスパラメーター、エラーコードが含まれます。
API Toolkit では、左側のペインに API ナビゲーションツリーが表示され、サービスやカテゴリ別に API を参照できます。[RebootInstances — Restarts one or more instances] などの API を選択すると、右側のメインペインにその API のリファレンスが表示されます。このリファレンスには、説明とリクエストパラメーターが含まれています。上部のタブを使用して [Document]、[Debug]、[Code Sample] を切り替えます。
API デバッグ
-
認証情報の検証後に API をデバッグします。
-
パラメーターを設定し、デバッグ結果を表示します。
-
VS Code 内で直接 API レスポンスを表示します。
たとえば、[DescribeRegions] API を選択します。パラメーターフォームで、[Endpoint] を China (Hangzhou) に、[InstanceChargeType] を PrePaid に、[ResourceType] を instance に、[AcceptLanguage] を zh-CN に設定します。[Debug] をクリックすると、右側のペインに HTTP ステータスコード 200 の成功したレスポンスが JSON 形式で表示され、利用可能なリージョンのリストが含まれます。
サンプルコードの使用
サンプルコードを使用する前に、Alibaba Cloud サービスの SDK をインストールしてください。
Alibaba Cloud サービスの SDK のインストール
-
SDK Center に移動し、サービスを選択して、[SDK バージョン] を [V2.0] に、All languages パラメーターを [TypeScript] に設定します。この例では ECS を使用します。
npm install --save @alicloud/ecs20140526@4.1.8 -
ターミナルでインストールコマンドを実行します。
SDK サンプルコードの生成
-
SDK サンプルコードの表示
さまざまなプログラミング言語の SDKSDK サンプルコードを生成します。生成されたコードを表示するか、VS Code で新しいファイルとして保存します。
API Toolkit 拡張機能で、左側のナビゲーションツリーの対象サービス (例: [ECS]) を展開し、呼び出す API (例: [DescribeRegions]) を選択します。中央のペインで、[Endpoint] (例: China (Hangzhou))、[InstanceChargeType]、[ResourceType]、[AcceptLanguage] (例:
zh-CN) などのリクエストパラメーターを設定します。ペインの下部には [Clear] ボタンと [Debug] ボタンがあります。右側で [Code Sample] タブに切り替え、対象言語とバージョン (例: TypeScript SDK V2.0) を選択します。拡張機能は、直接コピーして使用できる完全な SDK サンプルコードを生成します。 -
コードスニペットの挿入
Java、Java (async)、TypeScript、Python、Go、PHP、C# の SDK コードスニペットを挿入できます。
-
方法 1:エディターでサブスクライブした API 名を入力して、そのコードスニペットを検索します。
-
方法 2:
Ctrl+Cmd+L(Windows ではCtrl+Win+L) を押して API を検索し、コードスニペットを挿入します。
-
コードの完成と実行
-
コードを完成させます。
-
エンドポイントを変更します。
OpenAPI Explorer にログインし、[クラウド製品] にカーソルを合わせてサービスを選択し、リージョンタブでサポートされているエンドポイントを表示します。
-
リクエストパラメーターを指定します。詳細については、このトピックの「API リファレンスのプレビュー」セクションをご参照ください。
-
オプション:ログを追加します。
-
コードを保存します。
import OpenApi, * as $OpenApi from '@alicloud/openapi-client'; import Ecs20140526, * as $Ecs20140526 from '@alicloud/ecs20140526'; export default class DescribeRegion { static async main(args: string[]): Promise<void> { let config = new $OpenApi.Config({ // コード実行環境で ALIBABA_CLOUD_ACCESS_KEY_ID および ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。 accessKeyId: process.env['ALIBABA_CLOUD_ACCESS_KEY_ID'], accessKeySecret: process.env['ALIBABA_CLOUD_ACCESS_KEY_SECRET'], // エンドポイントを指定します。詳細については、https://api.alibabacloud.com/product/Ecs のエンドポイントをご参照ください。 endpoint: `ecs.cn-hangzhou.aliyuncs.com`, }); let client = new Ecs20140526(config); let describeRegionsRequest = new $Ecs20140526.DescribeRegionsRequest({}); let response = await client.describeRegions(describeRegionsRequest); console.log(response.body?.regions?.region); } }
-
-
コードを実行します。
-
TypeScript ファイルを JavaScript にコンパイルします。
tsc describeregion.ts # describeregion.ts はファイル名です。 -
次のコードを使用して main.js ファイルを作成します。
const { default: DescribeRegion } = require("./describeregion"); DescribeRegion.main(); -
サンプルコードを実行します。
node .\main.js -
次の結果が返された場合、呼び出しは成功です。
PS D:\ide\tooldemo> tsc describeregion.ts PS D:\ide\tooldemo> node .\main.js [ DescribeRegionsResponseBodyRegionsRegion { localName: 'China (Qingdao)', regionEndpoint: 'ecs.cn-qingdao.aliyuncs.com', regionId: 'cn-qingdao' }, DescribeRegionsResponseBodyRegionsRegion { localName: 'China (Beijing)', regionEndpoint: 'ecs.cn-beijing.aliyuncs.com', regionId: 'cn-beijing' }, DescribeRegionsResponseBodyRegionsRegion { localName: 'China (Zhangjiakou)', regionEndpoint: 'ecs.cn-zhangjiakou.aliyuncs.com', regionId: 'cn-zhangjiakou' }, DescribeRegionsResponseBodyRegionsRegion { localName: 'China (Hohhot)', regionEndpoint: 'ecs.cn-huhehaote.aliyuncs.com', regionId: 'cn-huhehaote' }, DescribeRegionsResponseBodyRegionsRegion { localName: 'China (Ulanqab)', regionEndpoint: 'ecs.cn-wulanchabu.aliyuncs.com', regionId: 'cn-wulanchabu' }, DescribeRegionsResponseBodyRegionsRegion { localName: 'China (Hangzhou)', ... } ]
-
フィードバック
ご質問やフィードバックは GitHub リポジトリまでお寄せください。