次の方法で共有


チュートリアル: Visual Studio Code 用の Azure API Management 拡張機能を使用して API をインポートおよび管理する

適用対象: Consumption | Developer | Basic | Standard | Premium

このチュートリアルでは、API Management の一般的な操作に Visual Studio Code 用の Azure API Management 拡張機能を使用する方法について説明します。 使い慣れた Visual Studio Code 環境を使用して、API のインポート、更新、テスト、管理を行うことができます。

注意

現在、この機能はワークスペースでは使用できません。

この記事では、次の方法について説明します。

  • API Management に API をインポートする
  • API を編集する
  • API Management のポリシーを適用する
  • API のテスト

API Management 拡張機能の API のスクリーンショット。

その他の API Management 機能の概要については、 最初の API のインポートと発行に関するページを参照してください

前提条件

API をインポートする

以下の例では、JSON 形式の OpenAPI 仕様を API Management にインポートします。 この例では、オープンソースの Petstore API をインポートします。

  1. Visual Studio Code のアクティビティ バーから Azure アイコンを選択します。

  2. 作成した API Management インスタンスをエクスプローラー ペインで展開します。

  3. [API] を右クリックし、 [Import from OpenAPI Link](OpenAPI リンクからインポート) を選択します。

  4. 確認を求められたら、次の値を入力します。

    1. JSON 形式のコンテンツの OpenAPI リンク。 この例では「 https://petstore.swagger.io/v2/swagger.json 」とします。

      このファイルは、この例の API を実装するバックエンド サービスとそれがサポートする操作を指定します。

    2. API Management インスタンスで一意の API 名 ( petstore など)。 この名前には、英文字、数字、ハイフンのみを含めることができます。 最初と最後の文字は、英数字にする必要があります。 API を呼び出す際のパスに、この名前が使用されます。

API は、正常にインポートされるとエクスプローラー ペインに表示され、利用できる API 操作が [Operations](操作) ノードに表示されます。

Explorer ウィンドウのインポートされた API のスクリーンショット。

API を編集する

API は、Visual Studio Code で編集することができます。 たとえば、API の Resource Manager JSON 記述をエディター ウィンドウで編集し、API へのアクセスに使用される http プロトコル (次の切り取り領域で強調表示されている) を削除します。

OpenAPI 形式を編集するには、エクスプローラー ペインで API 名を右クリックし、 [Edit OpenAPI]\(OpenAPI の編集\) を選択します。 変更を行ってから、 [ファイル]>[保存] を選択します。

Visual Studio Code での JSON の説明の編集のスクリーンショット。

API にポリシーを適用する

API Management には、API 向けに構成できるポリシーが用意されています。 ポリシーはステートメントのコレクションです。 これらのステートメントは、API の要求または応答に対して順番に実行されます。 ポリシーは、グローバルにして API Management インスタンスのすべての API に適用することも、特定の製品、API、または API 操作に限定することもできます。

このセクションでは、一般的な受信および送信ポリシーを API に適用する方法について説明します。

  1. エクスプローラー ペインで、インポートした petstore API の下の [ポリシー] を選択します。 エディター ウィンドウでポリシー ファイルが開きます。 このファイルによって構成されるポリシーの対象は、この API のすべての操作です。

  2. 次の内容でファイルを更新します。

    <policies>
        <inbound>
            <rate-limit calls="3" renewal-period="15" />
            <base />
        </inbound>
        <outbound>
            <set-header name="Custom" exists-action="override">
                <value>"My custom value"</value>
              </set-header>
            <base />
        </outbound>
        <on-error>
            <base />
        </on-error>
    </policies>
    
    • rate-limit セクションのinbound ポリシーでは、API への呼び出しの数を 15 秒ごとに 3 回に制限します。
    • set-header セクションの outbound ポリシーは、デモンストレーション用のカスタム応答ヘッダーを追加します。
  3. ファイルを保存します。 確認を求められた場合は、[アップロード] を選択してファイルをクラウドにアップロードしてください。

API のテスト

API をテストするには、サブスクリプション キーを取得し、API Management ゲートウェイに要求を行います。

サブスクリプション キーを取得する

インポートした API と適用されるポリシーをテストするには、API Management インスタンスのサブスクリプション キーが必要です。

  1. エクスプローラー ペインで、API Management インスタンスの名前を右クリックします。

  2. [Copy Subscription Key](サブスクリプション キーのコピー) を選択します。 このキーは、API Management インスタンスの作成時に作成される組み込みのオールアクセス サブスクリプション用です。

    Visual Studio Code のサブスクリプション キーのコピー コマンドのスクリーンショット。

    注意事項

    オールアクセス サブスクリプションを使用すると、この API Management インスタンス内のすべての API へのアクセスが可能になります。これは、承認されたユーザーのみが使用する必要があります。 これを定期的な API アクセスに使用したり、クライアント アプリにオールアクセス キーを埋め込んだりしないでください。

API 操作をテストする

  1. エクスプローラー ペインで、インポートした petstore API の下の [操作] ノードを展開します。

  2. [GET] Find pet by ID などの操作を選択してから、操作を右クリックして [テスト操作] を選択します。

  3. エディター ウィンドウで、要求 URL の 5 パラメーターを petId に置き換えます。

  4. エディター ウィンドウで、Ocp-Apim-Subscription-Key の隣に、コピーしたサブスクリプション キーを貼り付けます。

  5. [要求の送信] をクリックします。

    Visual Studio Code からの API 要求送信のスクリーンショット。

要求が成功すると、バックエンドから 200 OK およびいくつかのデータが応答として返されます。

Visual Studio Code での API テスト応答のスクリーンショット。

この応答の次の点に注目してください。

  • 応答に Custom ヘッダーが追加されています。

次に、レート制限ポリシーをテストします。 [要求の送信] を数回続けて選択します。 構成された期間内に送信された要求が多すぎると、429 Too Many Requests 応答が返されます。

要求処理のトレース

必要に応じて、API のデバッグとトラブルシューティングに役立つ詳細な要求トレース情報を取得できます。

API のトレースを有効にする手順については、「API のトレースを有効にする」を参照してください。 機密情報の意図しない開示を制限するため、トレースは既定では 1 時間だけ許可されます。

リソースをクリーンアップする

API Management インスタンスが必要なくなった場合にこれを削除するには、右クリックして [ポータルで開く] を選択し、API Management サービスとそのリソース グループを削除します

または、[ API Management の削除 ] を選択して、API Management インスタンスのみを削除することもできます。 この操作では、そのリソース グループは削除されません。

Visual Studio Code からの API Management インスタンス削除のスクリーンショット。

API Management 拡張機能には、次のような API を操作するためのより多くの機能が用意されています。