チュートリアル:要求トレースを使用して API をデバッグする
適用対象: Consumption | Developer | Basic | Standard | Premium
このチュートリアルでは、Azure API Management で要求処理を検査 (トレース) する方法について説明します。 トレースは、API のデバッグとトラブルシューティングに役立ちます。
このチュートリアルでは、以下の内容を学習します。
- 呼び出しの例をトレースする
- 要求プロセスのステップを確認する
Note
現時点では、API 要求トレースは Basic v2 および Standard v2 レベルではサポートされていません。
前提条件
- Azure API Management の用語について学習します。
- 次のクイック スタートを完了すること:Azure API Management インスタンスを作成する。
- 次のチュートリアルを完了すること: 最初の API のインポートと発行。
[トレースを許可] 設定を確認する
要求処理を追跡するには、API のデバッグに使用するサブスクリプションの [トレースを許可] 設定を有効にする必要があります。 ポータルにチェックインするには:
API Management インスタンスに移動し、[サブスクリプション] を選択して、設定を確認します。
使用しているサブスクリプションのトレースが有効になっていない場合は、サブスクリプションを選択し、[トレースを許可] を有効にします。
警告
- デバッグの目的でのみサブスクリプションのトレースを許可します。 トレースが許可されたサブスクリプション キーを承認されていないユーザーと共有すると、キー、アクセス トークン、パスワード、内部ホスト名、IP アドレスなどのトレース ログに含まれる機密情報が漏えいする可能性があります。
- テスト コンソールでは、API Management により、トレースはサブスクリプションで有効になってから 1 時間後に自動的に無効になります。
呼び出しのトレース
Azure portal にサインインし、API Management インスタンスに移動します。
[API] を選択します。
API の一覧で [Demo Conference API](デモ会議 API) を選択します。
[テスト] タブを選びます。
[GetSpeakers] 操作を選択します。
必要に応じて、"目" アイコンを選択して、要求で使用される Ocp-Apim-Subscription-Key ヘッダーの値を確認します。
ヒント
ポータルで別のサブスクリプションのキーを取得することで、Ocp-Apim-Subscription-Key の値をオーバーライドできます。 [サブスクリプション] を選択し、別のサブスクリプションのコンテキスト メニュー (...) を開きます。 [キーの表示/非表示] を選択し、いずれかのキーをコピーします。 必要に応じて、キーを再生成することもできます。 次に、テスト コンソールで [ヘッダーの追加] を選択し、新しいキー値を含む Ocp-Apim-Subscription-Key ヘッダーを追加します。
[トレース] を選択します。
トレース情報を確認する
呼び出しが完了したら、[HTTP 応答] の [トレース] タブに移動します。
詳細なトレース情報に移動するには、リンク ([受信]、[バックエンド]、[送信]、[エラー時]) を選択します。
[受信] - API Management が呼び出し元から受信した元の要求と、その要求に適用されているポリシーが表示されます。 たとえば、「チュートリアル: API を変換および保護する」のポリシーを追加した場合、ここに表示されます。
[バックエンド] - API Management が API バックエンドに送信した要求と、受信した応答が表示されます。
[送信] - 呼び出し元に送り返される前に応答に適用されるポリシーが表示されます。
[エラー時] - 要求の処理中に発生したエラーと、エラーに適用されたポリシーが表示されます。
ヒント
各ステップには、API Management が要求を受信してからの経過時間も表示されます。
[メッセージ] タブの ocp-apim-trace-location ヘッダーには、Azure Blob Storage に格納されているトレース データの場所が表示されます。 必要に応じて、この場所に移動してトレースを取得します。 トレース データには最大 24 時間アクセスできます。
Ocp-Apim-Trace ヘッダーを使用してトレースを有効にする
curl
、Postman などの REST クライアント、またはクライアント アプリを使用して API Management に対する要求を行う場合は、次の要求ヘッダーを追加してトレースを有効にします。
- Ocp-Apim-Trace - 値を
true
に設定 - Ocp-Apim-Subscription-Key - API へのアクセスを許可するトレースが有効なサブスクリプションのキーに値を設定
応答には Ocp-Apim-Trace-Location ヘッダーと、Azure BLOB ストレージ内のトレース データの場所への URL が含まれます。
トレース情報のカスタマイズについては、トレース ポリシーを参照してください。
次のステップ
このチュートリアルでは、以下の内容を学習しました。
- 呼び出しの例をトレースする
- 要求プロセスのステップを確認する
次のチュートリアルに進みます。