チュートリアル:要求トレースを使用して API をデバッグする

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

このチュートリアルでは、Azure API Management で要求処理を検査 (トレース) する方法について説明します。 トレースは、API のデバッグとトラブルシューティングに役立ちます。

このチュートリアルでは、以下の内容を学習します。

  • 呼び出しの例をトレースする
  • 要求プロセスのステップを確認する

API インスペクターを示すスクリーンショット。

Note

現時点では、API 要求トレースは Basic v2 および Standard v2 レベルではサポートされていません。

前提条件

[トレースを許可] 設定を確認する

要求処理を追跡するには、API のデバッグに使用するサブスクリプションの [トレースを許可] 設定を有効にする必要があります。 ポータルにチェックインするには:

  1. API Management インスタンスに移動し、[サブスクリプション] を選択して、設定を確認します。

    サブスクリプションのトレースを許可する方法を示すスクリーンショット。

  2. 使用しているサブスクリプションのトレースが有効になっていない場合は、サブスクリプションを選択し、[トレースを許可] を有効にします。

警告

  • デバッグの目的でのみサブスクリプションのトレースを許可します。 トレースが許可されたサブスクリプション キーを承認されていないユーザーと共有すると、キー、アクセス トークン、パスワード、内部ホスト名、IP アドレスなどのトレース ログに含まれる機密情報が漏えいする可能性があります。
  • テスト コンソールでは、API Management により、トレースはサブスクリプションで有効になってから 1 時間後に自動的に無効になります。

呼び出しのトレース

  1. Azure portal にサインインし、API Management インスタンスに移動します。

  2. [API] を選択します。

  3. API の一覧で [Demo Conference API](デモ会議 API) を選択します。

  4. [テスト] タブを選びます。

  5. [GetSpeakers] 操作を選択します。

  6. 必要に応じて、"目" アイコンを選択して、要求で使用される Ocp-Apim-Subscription-Key ヘッダーの値を確認します。

    ヒント

    ポータルで別のサブスクリプションのキーを取得することで、Ocp-Apim-Subscription-Key の値をオーバーライドできます。 [サブスクリプション] を選択し、別のサブスクリプションのコンテキスト メニュー (...) を開きます。 [キーの表示/非表示] を選択し、いずれかのキーをコピーします。 必要に応じて、キーを再生成することもできます。 次に、テスト コンソールで [ヘッダーの追加] を選択し、新しいキー値を含む Ocp-Apim-Subscription-Key ヘッダーを追加します。

  7. [トレース] を選択します。

    • サブスクリプションでトレースをまだ許可していない場合は、呼び出しをトレースする場合に有効にするように求められます。

    • トレースなしで要求を送信することもできます。

      API トレースの構成を示すスクリーンショット。

トレース情報を確認する

  1. 呼び出しが完了したら、[HTTP 応答][トレース] タブに移動します。

  2. 詳細なトレース情報に移動するには、リンク ([受信][バックエンド][送信][エラー時]) を選択します。

    応答トレースを確認する

    • [受信] - API Management が呼び出し元から受信した元の要求と、その要求に適用されているポリシーが表示されます。 たとえば、「チュートリアル: API を変換および保護する」のポリシーを追加した場合、ここに表示されます。

    • [バックエンド] - API Management が API バックエンドに送信した要求と、受信した応答が表示されます。

    • [送信] - 呼び出し元に送り返される前に応答に適用されるポリシーが表示されます。

    • [エラー時] - 要求の処理中に発生したエラーと、エラーに適用されたポリシーが表示されます。

    ヒント

    各ステップには、API Management が要求を受信してからの経過時間も表示されます。

  3. [メッセージ] タブの ocp-apim-trace-location ヘッダーには、Azure Blob Storage に格納されているトレース データの場所が表示されます。 必要に応じて、この場所に移動してトレースを取得します。 トレース データには最大 24 時間アクセスできます。

    Azure Storage 内のトレースの場所

Ocp-Apim-Trace ヘッダーを使用してトレースを有効にする

curl、Postman などの REST クライアント、またはクライアント アプリを使用して API Management に対する要求を行う場合は、次の要求ヘッダーを追加してトレースを有効にします。

  • Ocp-Apim-Trace - 値を true に設定
  • Ocp-Apim-Subscription-Key - API へのアクセスを許可するトレースが有効なサブスクリプションのキーに値を設定

応答には Ocp-Apim-Trace-Location ヘッダーと、Azure BLOB ストレージ内のトレース データの場所への URL が含まれます。

トレース情報のカスタマイズについては、トレース ポリシーを参照してください。

次のステップ

このチュートリアルでは、以下の内容を学習しました。

  • 呼び出しの例をトレースする
  • 要求プロセスのステップを確認する

次のチュートリアルに進みます。