このページの内容は Apigee と Apigee ハイブリッドに該当します。
Apigee Edge のドキュメントを表示する。
このセクションでは、デバッグ セッションの作成と管理を行い、Apigee UI と API を使用してリクエストとレスポンスのデータを表示する方法について説明します。
以前にダウンロードしたデバッグ セッションを表示して分析するには、Offline Debug を使用します。
デバッグ セッションを作成する
このツールの使い方は簡単です。デバッグ セッションを開始して、Apigee に対して API 呼び出しを行うと、UI にリクエスト データとレスポンス データが表示されます。
次のセクションで説明するように、Apigee UI または API を使用してデバッグ セッションを作成します。
Cloud コンソールの UI
Debug v2(新規)
デバッグ セッションを作成するには:
- Google Cloud コンソールにログインします。
- [プロキシ開発] > [API プロキシ] を選択します。
- デバッグする API プロキシを選択します。プロキシ エディタの [概要] ペインが表示されます。
- [デバッグ] タブをクリックします。
- [Start Debug Session] をクリックします。これにより、[Start debug session] ペインが表示されます。
-
[Start debug session] ペインで次の操作を行います。
- デバッグ セッションを実行する環境を選択します。
-
(省略可)[フィルタ] プルダウン リストから、作成するデバッグ セッションのすべてのトランザクションに適用するフィルタを選択します。デフォルトは
None (All transactions)
で、デバッグデータ内のすべてのトランザクションが含まれます。フィルタの使用方法については、デバッグ セッションでのフィルタの使用をご覧ください。組み込みフィルタの詳細については、定義済みフィルタの使用をご覧ください。
- [開始] をクリックします。
Apigee UI に [Debug session in progress] ビューが表示されます。


デバッグ セッションでは、10 分間またはリクエストが 15 件キャプチャされるまでリクエストが記録されます。API を使用してデバッグ セッションを作成する場合は、10 分間の制限を調整できます。[Ends within] フィールドに、セッションの残り時間が表示されます。
デバッグ セッション用に選択した環境でデバッグしているプロキシにリクエストを送信するまで、[デバッグ] ペインに情報は表示されません。
リクエストを送信すると、[トランザクション] リストペインに表示されます。[トランザクション] リストは、5 秒ごとに更新されます。


Debug v1
新しいプロキシ エディタでデバッグ セッションを作成するには:
- Google Cloud コンソールにログインします。
[プロキシ開発] > [API プロキシ] を選択します。
デバッグする API プロキシを選択します。プロキシ エディタの [概要] ビューが表示されます。
- ウィンドウの左上にある [デバッグ] タブをクリックします。
- [デバッグ] ペインの右上にある [Start Debug Session] をクリックします。これにより、[Start debug session] ダイアログが表示されます。
ダイアログで操作を行う場合:
- デバッグ セッションを実行する環境を選択します。
- (省略可)[フィルタ] プルダウン リストから、作成するデバッグ セッションのすべてのトランザクションに適用するフィルタを選択します。デフォルトは
None (All transactions)
で、デバッグデータ内のすべてのトランザクションが含まれます。フィルタの使用方法については、デバッグ セッションでのフィルタの使用をご覧ください。 組み込みフィルタの詳細については、定義済みフィルタの使用をご覧ください。
- [開始] をクリックします。
Apigee UI に [Debug session in progress] ビューが表示されます。

デバッグ セッションでは、10 分間またはリクエストが 15 件キャプチャされるまでリクエストが記録されます。API を使用してデバッグ セッションを作成する場合は、10 分間の制限を調整できます。[Ends within] フィールドに、セッションの残り時間が表示されます。
選択した環境でデバッグしているプロキシにリクエストを送信するまで、[デバッグ] ペインに情報は表示されません。
送信したリクエストが左側のペインの下部に表示されます。
注: アクティブなデバッグ セッション中に、Apigee UI で別のセッションを開始できます。その場合は、[Start Debug Session] をもう一度クリックします。
従来の UI
従来のプロキシ エディタでデバッグ セッションを作成するには:
- Apigee UI にログインします。
- メインビューから [API Proxies] を選択します。
デバッグする API プロキシを選択します。
[概要] タブが表示されます。
- ページの右上にある [デバッグ] タブをクリックします。
[Debug] ビューが表示されます。
- [Start a debug session] パネルで次の操作を行います。
- [Env] プルダウン リストから、デバッグする API プロキシの環境とリビジョン番号を選択します。
- (省略可)[フィルタ] プルダウン リストから、作成するデバッグ セッションのすべてのトランザクションに適用するフィルタを選択します。デフォルトは
None
で、これにはトレースデータ内のすべてのトランザクションが含まれます。フィルタの使用方法については、デバッグ セッションでのフィルタの使用をご覧ください。 組み込みフィルタの詳細については、定義済みフィルタの使用をご覧ください。
- [Start Debug Session] をクリックします。
Apigee UI の [Debug details] パネルに、ID を含む現在のデバッグ セッションの詳細が表示されます。
UI によりデバッグ セッションが作成されましたが、リクエストを送信しないとデータは収集されません。
[Debug details] パネルでは、次の操作を行うことができます。
アイコン 関数 説明 ダウンロード アクティブ セッションのデバッグデータをダウンロードします。このデータはオフラインで表示できます。 戻る 前のパネルに戻ります。ここで別のデバッグ セッションを開始できます。現在のデバッグ セッションはタイムアウトになるか、トランザクション数に達するまで継続します。 削除 現在選択されているデバッグ セッションのデータを削除します。セッションのデータは削除されますが、セッションは停止しません。 UI で開始したデバッグ セッションのデフォルトのタイムアウトは 10 分です。これは API で開始したセッションとは異なります。
[Start Debug Session] をクリックすると直ちに時計が動き始めます。収集するデータ量を最大にするには、次のステップが終わるまで待機してから [Start Debug Session] をクリックします。
次の例は [Start a debug session] パネルを示しています。
- [Send Requests] パネルで、以下の操作を行います。
- [URL] フィールドに、リクエストの送信先となるエンドポイントを入力します。必要に応じて、URL にクエリ文字列パラメータを追加します。
GET
以外のリクエストは送信できません。エンドポイント URL の見つけ方
- [管理] > [環境] > [グループ] の順に移動します。
- この URL は、デバッグ セッションを実行する環境のホスト名です。
- [送信] をクリックします。
指定された URL にリクエストが送信されます。[送信] をクリックするたびに、[Debug details] パネルでリクエストがログに記録されます。
次の例は、成功した複数のリクエストを示しています(HTTP ステータス コード
200
が返されています)。[コピー] をクリックして、今後の参照またはクエリ用のトレース ID をコピーします。
さらに UI では、[Send Requests] パネルの [Transaction Map] セクションと [Phase Details] セクションにトレースデータが表示されます。また、次の例のように [Proxy Endpoint]、[Request Headers]、[Request Content]、[Properties] の各セクションの値が自動的に入力されます。
フェーズ、トランザクション マップ、[Send Requests] ビューのその他のセクションの詳細については、デバッグの読み取り方法をご覧ください。
[Send Requests] パネルには、UI ベースのリクエストのデータのみが表示されます。ただし、UI で開始していないリクエストのデータも記録されています。
デバッグ セッションがアクティブになり、すべてのリクエストのデータが記録されます(除外されている場合を除く)。セッションは、タイムアウトに達するか、セッションで記録されたリクエスト数が上限を超えるまで、アクティブな状態が維持されます。
- [URL] フィールドに、リクエストの送信先となるエンドポイントを入力します。必要に応じて、URL にクエリ文字列パラメータを追加します。
- UI では、任意の数のデバッグ セッションを作成できます。詳細については、別のデバッグ セッションを開始するをご覧ください。
API
API を使用してデバッグ セッションを作成するには、次のリソースに POST
リクエストを発行します。
https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/apis/$API/revisions/$REV/debugsessions
必要に応じて、次の処理を行うこともできます。
timeout
プロパティをクエリ パラメータとして渡すか、リクエスト本文でデバッグ セッションの長さ(秒)を設定します。両方で指定された場合は、リクエスト本文で指定されたtimeout
値が優先されます。- リクエスト本文に
filter
プロパティを渡してデバッグ セッションのデータをフィルタリングします。
次の例は、API を使用してデバッグ セッションを作成する方法を示しています。
curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions" \ -X POST \ -H "Authorization: Bearer $TOKEN"
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN
は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl
オプションの詳細については、curl の使用をご覧ください。使用される環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
レスポンスの例を次に示します。
{ "name":"56382416-c4ed-4242-6381-591bbf2788cf", "validity":300, "count":10, "tracesize":5120, "timeout":"600" }
セッション継続時間または最大リクエスト数に達するまで、API プロキシに対する後続のリクエストが評価されます。また、デバッグ セッション データに格納されることもあります。
詳細については、デバッグ セッション API を作成するをご覧ください。
API を使用したデバッグ セッションの長さの設定
API を使用してデバッグ セッションの長さを設定するには、デバッグ セッション作成リクエストに次のものをペイロードとして含めます。
{ "timeout":"debug_session_length_in_seconds" }
次の例は、42 秒のデバッグ セッションを作成します。
curl https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions" -X "POST" \ -H "Authorization: Bearer $TOKEN" \ -d ' { "timeout":"42" } '
セッションの timeout
は、デバッグ セッションの作成リクエストでのみ設定できます。セッションの作成後にセッションの長さを変更することはできません。
timeout
のデフォルト値は 300(5 分)です。最大値は 600 秒(10 分)です。
プロキシ URL をコピーする
プロキシ URL を使用して、API プロキシにリクエストを送信します。
Cloud コンソールの UI
Debug v2(新規)
プロキシ URL を見つけてコピーするには:
- [Debug session] ペインで、[URL] フィールドの [コピー] をクリックします。
- [Debug session] が開いていない場合:
- Google Cloud コンソールで、[管理] > [環境] > [Environment Groups] に移動します。
- この URL は、デバッグ セッションを実行する環境のホスト名です。選択してコピーします。
別のプロキシ URL を選択するには:
- [Debug session] ペインで、[URL] フィールドの [編集] をクリックします。
- 必要な変更を行い、[更新] をクリックします。
- [Debug session] が開いていない場合:
- プロキシ URL を見つけます。
- [その他] をクリックし、 [編集] をクリックします。
- 必要な変更を行い、[更新] をクリックします。
Debug v1
プロキシ URL を見つけてコピーするには:
- Google Cloud コンソールで、[管理] > [環境] > [Environment Groups] に移動します。
- この URL は、デバッグ セッションを実行する環境のホスト名です。選択してコピーします。
プロキシ URL を編集するには:
- プロキシ URL を見つけます。
- [その他] をクリックし、 [編集] をクリックします。
- 必要な変更を行い、[更新] をクリックします。
従来の UI
エンドポイント URL を見つけてコピーするには:
- Apigee UI で、[管理] > [環境] > [グループ] に移動します。Google Cloud コンソールの [管理] > [環境] > [Environment Groups] ページにリダイレクトされます。
- この URL は、デバッグ セッションを実行する環境のホスト名です。選択してコピーします。
ターゲット URL を編集するには:
- エンドポイント URL を見つけます。
- [その他] をクリックし、 [編集] をクリックします。
- 必要な変更を行い、[更新] をクリックします。
UI で別のデバッグ セッションを開始する
UI では、任意の数のデバッグ セッションを作成できます。
Cloud コンソールの UI
アクティブなデバッグ セッション中に、Apigee UI で別のセッションを開始できます。この操作を行うには、[Debug session] ペインで
[閉じる] をクリックします。
![閉じて [Start a debug session] パネルに戻る](https://cloud.google.com/static/apigee/docs/api-platform/debug/images/ui-trace-return-to-start-panel-v2.png?authuser=19&hl=ja)
UI に [Start a debug session] パネルが表示され、新しいデバッグ セッションを開始できます。
従来の UI
アクティブなデバッグ セッション中に、Apigee UI で別のセッションを開始できます。この操作を行うには、[Debug details] パネルで戻る矢印アイコン(
)をクリックします。UI に [Start a debug session] パネルが表示され、新しいデバッグ セッションを開始できます。
デバッグ セッションが終了するタイミング
アクティブなデバッグ セッションを途中で停止することはできません。ただし、デバッグ セッション データを削除するで説明されているように、アクティブ セッションのデータを削除できます。
デバッグ セッションを作成すると、次の 2 つのプロパティによってセッションが終了するタイミングが決まります。
- timeout: セッション中にデータを収集する期間。 デフォルトの長さは、セッションの開始方法(UI または API)によって異なります。最大値は 600 秒(または 10 分)です。
- count: Message Processor ごとに 1 回のセッションで記録されるリクエストの最大数。ほとんどのクラスタで Message Processor の数は可変であるため、カウントの影響は予測できません。この設定のカスタマイズはおすすめしません。
タイムアウトまたはカウントに到達すると、その Message Processor のデバッグ セッションが終了します。
デバッグ セッションの状態を説明する際に、次の用語を使用しています。
- アクティブ セッション: タイムアウトに達していないか、カウントを超えていないデバッグ セッション。アクティブ セッションでは、フィルタで除外されていないリクエストのデータが記録されます。
- 完了セッション: タイムアウトに達したか、カウントを超過したデバッグ セッション。完了セッションでは新しいリクエストのデータは記録されません。セッションが終了してから 24 時間以内にデータが削除されます。
デバッグ セッションの読み取り方法
このセクションでは、デバッグ セッションの概要について説明します。
関連項目:
Cloud コンソールの UI
Debug v2(新規)
デバッグツールには、[トランザクション] ペインと [Phase details] ペインという主要な 2 つの部分があります。
- [トランザクション] ペインでは、アイコンを使用して、API プロキシ トランザクション中に発生した重要なステップ(ポリシー実行、条件ステップ、遷移など)をマーキングします。アイコンにマウスカーソルを合わせると、概要情報が表示されます。リクエスト フローのステップはトランザクション マップの一番上に表示され、下部にはレスポンス フローのステップが表示されます。
- [Phase details] ペインには、設定済みの変数または読み取られた変数、リクエスト ヘッダーやレスポンス ヘッダーなど、プロキシの内部処理に関する情報が一覧表示されます。アイコンをクリックすると、そのステップのフェーズの詳細が表示されます。
Debug v1
このバージョンのデバッグツールでは、ガントチャートを使用して、リクエストとレスポンスのステップが表示されます。
従来の UI
デバッグツールには、トランザクション マップとフェーズの詳細という主要な 2 つの部分があります。
- トランザクション マップでは、アイコンを使用して、API プロキシ トランザクション中に発生した重要なステップ(ポリシー実行、条件ステップ、遷移など)にマークを付けます。アイコンにマウスカーソルを合わせると、概要情報が表示されます。リクエスト フローのステップはトランザクション マップの一番上に表示され、下部にはレスポンス フローのステップが表示されます。
- ツールの [Phase details] セクションには、設定済みの変数または読み取られた変数、リクエスト ヘッダーやレスポンス ヘッダーなど、プロキシの内部処理に関する情報が一覧表示されます。アイコンをクリックすると、そのステップのフェーズの詳細が表示されます。
[トランザクション] ペイン
[トランザクション] ペインには、リクエストとレスポンスのステップが表示されます。
Cloud コンソールの UI
Debug v2(新規)
以下に、主なプロキシ処理セグメントにラベルを付けた、デバッグツールの [トランザクション] ペインのサンプルを示します。


Debug v1
[デバッグ] ビューでトランザクションの詳細(リクエストとレスポンス)を表示するには、トランザクションの行をクリックして、右側のペインにガントチャートを表示します。このペインに、リクエストとレスポンスのステップが表示されます。
図の横軸は各ステップが発生した時間(ミリ秒単位)を示しています。各ステップは、ステップの開始時間から終了時間までの長方形で表されます。
[デバッグ] ペインを進めるには、デバッグペインの右下にある [戻る] ボタンと [次へ] ボタンを使用します。クリックすると次のようになります。
- [戻る] をクリックすると、選択した行をグラフ内の前のステップに移動します。
- [次へ] をクリックすると、選択した行をグラフ内の次のステップに移動します。
上記の例では、レスポンスで実行される 2 つのポリシーがグラフに表示されています。
- ResponsePayload
- Add CORS
いずれかのステップをクリックすると、その詳細が表示されます。 たとえば、Add CORS ポリシーをクリックすると、以下の詳細がガントチャートの横に表示されます。
ポリシー構成を変更する場合は、[開発] をクリックして [開発] ビューに切り替えます。ここで、レスポンス PostFlow には同じ 2 つのポリシーが表示されます。
従来の UI
以下に、主なプロキシ処理セグメントにラベルを付けたデバッグツール マップのサンプルを示します。
デバッグツールのトランザクション マップ
[トランザクション] ペインの凡例
[トランザクション] ペインに表示されるアイコンは次のとおりです。
Cloud コンソールの UI
Debug v2(新規)
このセクションでは、[トランザクション] ペインのアイコンについて説明します。
ポリシー アイコン
ポリシーのタイプごとに一意のアイコンがあります。これらのアイコンにより、ポリシーが適切な順序で実行されているかどうかと、ポリシーの実行が成功したのかどうかを確認できます。ポリシーのアイコンをクリックすると、ポリシーの実行結果と、それが想定した結果と一致しているかどうかを確認できます。たとえば、メッセージが適切に変換されているかどうか、またはメッセージがキャッシュに保存されているかどうかを確認できます。
標準ポリシーを使用すると、API を拡張して、トラフィックの制御、パフォーマンスの向上、セキュリティの適用を行い、コードの記述やバックエンド サービスの変更を必要とせずに、API の有用性を高めます。
拡張可能なポリシーを使用すると、API プロキシにカスタム ロジックを追加できます。これらのポリシーを使用して、標準ポリシーでは提供されていない機能を追加できます。
ポリシーとカテゴリの詳細については、ポリシー リファレンスの概要をご覧ください。
テーブルをフィルタするには:
- 1 つのポリシータイプまたはポリシー カテゴリを選択します。
- [名前] 列ヘッダーをクリックして、ポリシー名でテーブルを並べ替えます。
- キーワードを入力してポリシー名を検索します。
アイコン | 名前 | タイプ | カテゴリ |
---|---|---|---|
manage_search | ParseDialogflowRequest ポリシー | 拡張可能 | ダイアログ フロー |
chat_add_on | SetDialogflowResponse ポリシー | 拡張可能 | ダイアログ フロー |
stacked_line_chart | DataCapture ポリシー | 拡張可能 | 拡張機能 |
display_external_input | ExternalCallout ポリシー | 標準 | 拡張機能 |
flowsheet | FlowCallout ポリシー | 拡張可能 | 拡張機能 |
automation | IntegrationCallout ポリシー | 拡張可能 | 拡張機能 |
![]() |
JavaCallout ポリシー | 拡張可能 | 拡張機能 |
![]() |
JavaScript ポリシー | 拡張可能 | 拡張機能 |
add_notes | MessageLogging ポリシー | 拡張可能 | 拡張機能 |
chat_paste_go | PublishMessage ポリシー | 標準 | 拡張機能 |
![]() |
PythonScript ポリシー | 拡張可能 | 拡張機能 |
integration_instructions | ServiceCallout ポリシー | 拡張可能 | 拡張機能 |
automation | SetIntegrationRequest ポリシー | 拡張可能 | 拡張機能 |
waterfall_chart | TraceCapture ポリシー | 拡張可能 | 拡張機能 |
cloud_done | AccessEntity ポリシー | 拡張可能 | メディエーション |
account_tree | AssertCondition ポリシー | 標準 | メディエーション |
edit_square | AssignMessage ポリシー | 拡張可能 | メディエーション |
login | ExtractVariables ポリシー | 拡張可能 | メディエーション |
![]() |
GraphQL ポリシー | 標準 | メディエーション |
sync_alt | HTTPModifier ポリシー | 標準 | メディエーション |
sync_alt | JSONtoXML ポリシー | 標準 | メディエーション |
account_tree | KeyValueMapOperations ポリシー | 拡張可能 | メディエーション |
sync_alt | MonetizationLimitsCheck ポリシー | 拡張可能 | メディエーション |
cloud_done | OASValidation ポリシー | 標準 | メディエーション |
report | RaiseFault ポリシー | 標準 | メディエーション |
sync_alt | ReadPropertySet ポリシー | 標準 | メディエーション |
cloud_done | SOAPMessageValidation ポリシー | 標準 | メディエーション |
sync_alt | XMLtoJSON ポリシー | 標準 | メディエーション |
cloud_done | XSLTransform ポリシー | 拡張可能 | メディエーション |
lock | AccessControl ポリシー | 標準 | セキュリティ |
security | BasicAuthentication ポリシー | 拡張可能 | セキュリティ |
connect_without_contact | CORS ポリシー | 標準 | セキュリティ |
lock | DecodeJWS ポリシー | 拡張可能 | セキュリティ |
lock | DecodeJWT ポリシー | 標準 | セキュリティ |
passkey | DeleteOAuthV2Info ポリシー | 拡張可能 | セキュリティ |
lock | GenerateSamlAssertion ポリシー | 拡張可能 | セキュリティ |
lock | GenerateJWS ポリシー | 拡張可能 | セキュリティ |
lock | GenerateJWT ポリシー | 拡張可能 | セキュリティ |
passkey | GetOAuthV2Info ポリシー | 拡張可能 | セキュリティ |
lock | HMAC ポリシー | 標準 | セキュリティ |
security | JSONThreatProtection ポリシー | 拡張可能 | セキュリティ |
passkey | OAuthV2 ポリシー | 拡張可能 | セキュリティ |
security | RegularExpressionProtection ポリシー | 拡張可能 | セキュリティ |
passkey | RevokeOAuthV2 ポリシー | 拡張可能 | セキュリティ |
passkey | SetOAuthV2Info ポリシー | 拡張可能 | セキュリティ |
lock | ValidateSamlAssertion ポリシー | 拡張可能 | セキュリティ |
key | VerifyAPIKey ポリシー | 拡張可能 | セキュリティ |
passkey | VerifyIAM ポリシー | 拡張可能 | セキュリティ |
lock | VerifyJWS ポリシー | 拡張可能 | セキュリティ |
lock | VerifyJWT ポリシー | 標準 | セキュリティ |
security | XMLThreatProtection ポリシー | 拡張可能 | セキュリティ |
cached | InvalidateCache ポリシー | 拡張可能 | トラフィック管理 |
cached | LookupCache ポリシー | 拡張可能 | トラフィック管理 |
cached | PopulateCache ポリシー | 拡張可能 | トラフィック管理 |
bar_chart_4_bars | Quota ポリシー | 拡張可能 | トラフィック管理 |
repartition | ResetQuota ポリシー | 拡張可能 | トラフィック管理 |
cached | ResponseCache ポリシー | 拡張可能 | トラフィック管理 |
emergency_home | SpikeArrest ポリシー | 標準 | トラフィック管理 |
その他のアイコン
次の表で、[トランザクション] ペインに表示されるその他のアイコンの意味について説明します。これらのアイコンは、プロキシフロー全体で重要な処理ステップに表示されます。
テーブルをフィルタするには:
- アイコンタイプを 1 つ選択します。
- [名前] 列ヘッダーをクリックして、アイコン名でテーブルを並べ替えます。
- キーワードを入力してアイコン名を検索します。
アイコン | 名前 | 型 | 説明 |
---|---|---|---|
monitor | クライアント アプリ | 標準トランザクション | API プロキシの ProxyEndpoint にリクエストを送信するクライアント アプリ。 |
circle | 遷移エンドポイント | 標準トランザクション | この円は、プロキシフローの遷移エンドポイントを示します。このアイコンは、リクエストがクライアントから到着するとき、リクエストがターゲットに送信されるとき、レスポンスがターゲットから戻ってくるとき、レスポンスがクライアントに戻されるときに表示されます。 |
stat_0 | フロー セグメント | 標準トランザクション |
このダイヤモンドは、API プロキシフロー内のフロー セグメントの開始を示します。フロー セグメントは、ProxyEndpoint リクエスト、TargetEndpoint リクエスト、TargetEndpointレスポンス、ProxyEndpoint レスポンスです。セグメントには、PreFlow、条件付きフロー、PostFlow があります。 詳細については、条件付きフローをご覧ください。 |
![]() |
true 条件付きフロー | 標準トランザクション |
true と評価された条件付きフロー( 一部の条件は Apigee で生成されるので注意してください。たとえば、次の式は、Apigee が ProxyEndpoint でエラーが発生したかどうかを確認するために使用されます。
|
![]() |
false 条件付きフロー | 標準トランザクション |
false と評価された条件付きフロー。条件付きフローの概要については、条件付きフローをご覧ください。 一部の条件は Apigee で生成されるので注意してください。たとえば、次の式は、Apigee が TargetEndpoint でエラーが発生したかどうかを確認するために使用されます。
|
![]() |
フローの情報 | 標準トランザクション | API プロキシの実行に関するコンテキスト情報を表します。情報、フロー内のポイントによって異なります。プロキシ構成の詳細、現在の実行状態(例: PreFlow、PostFlow、フローフック)、ポリシー実行の詳細、ポリシー実行中に入力された変数など、その時点でのプロキシの特定の状態を示す詳細情報が示されます。 |
done_all | フローの実行 | 標準トランザクション | フロー実行の開始または終了にマークを付けて、個々のフロー セグメントのタイムラインを示し、フローの境界を視覚的に区切り、フロー実行の順序を示します。 |
commit | フロー処理 | 標準トランザクション | フロー内のアクティブな処理を示し、ポリシーとフローロジックが実行される期間を表します。 |
bar_chart | Apigee Analytics でキャプチャされたデータ | 標準トランザクション | 分析アクションがバックグラウンドで実行されていることを示します。 |
location_on | バックエンド サービス | 標準トランザクション | リクエストを受信するバックエンド サービス。API プロキシによって呼び出されるバックエンド ターゲット。 |
![]() |
無効 | ステップのステータス | ポリシーが無効になっているときに、ポリシーのアイコンに表示されます。ポリシーは公開 API で無効にすることができます。API プロキシ構成リファレンスをご覧ください。 |
![]() |
エラー | ステップのステータス | ポリシーのステップ条件が false と評価されたときにポリシー アイコンに表示されます(フロー変数での条件を参照)。また、RaiseFault ポリシーが実行されるたびに RaiseFault ポリシー アイコンに表示されます。 |
![]() |
スキップ | ステップのステータス | ステップ条件が false と評価されたためにポリシーが実行されなかったときに、ポリシー アイコンに表示されます。詳しくは、フロー変数の条件をご覧ください。 |
Debug v1
このバージョンでは、ガントチャートを使用してリクエストとレスポンスのステップが表示されます。凡例は表示されません。
従来の UI
次の表で、トランザクション マップに表示されるアイコンの目的について説明します。これらのアイコンは、プロキシフロー全体で重要な処理ステップにそれぞれマークを付けます。
トランザクション マップ アイコン
![]() |
API プロキシの ProxyEndpoint にリクエストを送信するクライアント アプリ。 |
![]() |
この円は、プロキシフローの移行中のエンドポイントを示します。このアイコンが表示されるのは、リクエストがクライアントから到着するとき、リクエストがターゲットに送信されるとき、レスポンスがターゲットから戻ってくるとき、レスポンスがクライアントに戻されるときです。 |
![]() |
この縦長バーは、API プロキシのフロー内のフロー セグメントの開始が示します。各フロー セグメントは、ProxyEndpoint リクエスト、TargetEndpoint リクエスト、TargetEndpoint レスポンス、ProxyEndpoint レスポンスです。セグメントには、PreFlow、条件フロー、および PostFlow が含まれています。 詳細については、フローの構成をご覧ください。 |
![]() |
分析アクションがバックグラウンドで実行されていることを示します。 |
![]() |
true と評価された条件付きフロー。条件付きフローの概要については、フローの構成をご覧ください。 一部の条件は Apigee で生成されるので注意してください。たとえば、次の式は、Apigee が ProxyEndpoint でエラーが発生したかどうかを確認するために使用されます。 ((error.state equals PROXY_REQ_FLOW) or (error.state equals
PROXY_RESP_FLOW))
|
![]() |
false と評価された条件付きフロー。条件付きフローの概要については、フローの構成をご覧ください。 一部の条件は Apigee で生成されるので注意してください。たとえば、次の式は、Apigee が TargetEndpoint でエラーが発生したかどうかを確認するために使用されます。 (((error.state equals TARGET_REQ_FLOW) or (error.state equals
TARGET_RESP_FLOW)) or ((error.state equals REQ_SENT) or (error.state equals
RESP_START)))
|
|
ポリシー。ポリシーのタイプごとに一意のアイコンがあります。これは、AssignMessage ポリシーのアイコンです。これらのアイコンにより、ポリシーが適切な順序で実行されているかどうかと、ポリシーの実行が成功したか失敗したかを確認できます。ポリシーのアイコンをクリックすると、ポリシーの実行結果と、その結果が予期されていた結果であるかどうかを確認できます。たとえば、メッセージが適切に変換されているかどうか、またはメッセージがキャッシュされているかどうかを確認できます。 適切に実行されているポリシーはチェックマークで明確に示されます。エラーの場合は、赤色の感嘆符がアイコンに表示されます。 |
![]() |
API プロキシによって呼び出されるバックエンド ターゲット。 |
![]() |
タイムラインには、処理の完了までにかかった時間(ミリ秒)が示されます。経過時間セグメントを比較すると、実行に最も時間がかかっている、API 呼び出しの速度を低下させているポリシーを特定できます。 |
![]() |
イプシロンは、ミリ秒より短い時間を表します。 |
![]() |
無効。ポリシーが無効になっているときに、ポリシーのアイコンに表示されます。ポリシーは公開 API で無効にすることができます。API プロキシ構成リファレンスをご覧ください。 |
![]() |
エラー。ポリシー ステップの条件が false と評価されたときに、ポリシー アイコンに表示されます(フロー変数と条件を参照)。また、RaiseFault ポリシーが実行されるたびに RaiseFault ポリシー アイコンに表示されます。 |
![]() |
スキップ。ステップ条件が false と評価されたために実行されなかったポリシーのアイコンにこれが表示されます。 詳しくは、フロー変数と条件をご覧ください。 |
[Phase details] ペイン
[Phase details] ペインには、各処理ステップにおけるプロキシの状態が表示されます。
Cloud コンソールの UI
Debug v2(新規)
フェーズの詳細ペインには、各処理ステップにおけるプロキシの状態が表示されます。ここでは、表示される詳細情報の一部について説明します。選択されているステップの詳細を確認するには、デバッグツールで任意のアイコンをクリックするか、> [次へ] または < [戻る] ボタンを使用してステップ間を移動します。
次の表で、[Phase details] ペインに表示される詳細情報について説明します。
フェーズの詳細 | 説明 |
変数 |
ポリシーによって値が読み取られ、割り当てられたフロー変数の一覧を表示します。フロー変数の使用もご覧ください。 |
リクエスト ヘッダー | HTTP リクエスト ヘッダーの一覧を表示します。 |
リクエスト コンテンツ | HTTP リクエスト本文を表示します。 |
プロパティ | プロパティは、API プロキシの内部状態を表します。デフォルトでは表示されません。 |
ターゲット エンドポイント | 実行対象として選択された TargetEndpoint を示します。 |
レスポンス ヘッダー | HTTP レスポンス ヘッダーの一覧を表示します。 |
レスポンス コンテンツ | HTTP レスポンスの本文を表示します。 |
Debug v1
ガントチャートのステップをクリックすると、フェーズの詳細が表示されます。または、> [次へ] または < [戻る] ボタンを使用して、デバッグ セッションを移動することもできます。
従来の UI
このツールの [Phase Details] 部分では、各処理ステップでのプロキシの状態に関する情報が表示されます。以下は、[Phase Details] に表示される詳細の一部です。選択されているステップの詳細を確認するには、デバッグツールで任意のアイコンをクリックします。ステップ間を移動するには、[次へ] または [戻る] ボタンを使用します。
フェーズの詳細 | 説明 |
プロキシ エンドポイント | 実行するために選択された ProxyEndpoint フローを示します。API プロキシには、名前付きのプロキシ エンドポイントが複数含まれていることがあります。 |
変数 |
ポリシーによって値が読み取られ、割り当てられたフロー変数の一覧を表示します。フロー変数の使用もご覧ください。 注:
|
リクエスト ヘッダー | HTTP リクエスト ヘッダーの一覧を表示します。 |
リクエスト コンテンツ | HTTP リクエスト本文を表示します。 |
プロパティ | プロパティは、API プロキシの内部状態を表します。デフォルトでは表示されません。 |
ターゲット エンドポイント | 実行対象として選択された TargetEndpoint を示します。 |
レスポンス ヘッダー | HTTP レスポンス ヘッダーの一覧を表示します。 |
レスポンス コンテンツ | HTTP レスポンスの本文を表示します。 |
PostClientFlow | リクエスト元のクライアント アプリにリクエストが返された後に実行される PostClientFlow の情報を表示します。PostClientFlow に追加できるのは MessageLogging ポリシーのみです。現在、PostClientFlow は主に、レスポンス メッセージの開始と終了のタイムスタンプの間隔を測定するために使用されています。 |
タイムライン
タイムラインでは、処理の完了にかかった時間(ミリ秒)が示されます。経過時間セグメントを比較すると、API 呼び出しの速度を低下させている実行に最も時間のかかっているポリシーを識別できます。
Epsilon(イプシロン)では、ミリ秒より短いタイムスパンが示されます。
Cloud コンソールの UI
Debug v2(新規)


Debug v1


従来の UI


グループの展開と折りたたみ
このセクションでは、[トランザクション] ペインでグループを展開/折りたたむ方法について説明します。
Cloud コンソールの UI
Debug v2(新規)
リクエストとレスポンスのトランザクション ステップは、[開発] タブで以前構成した方法に沿って共有フローごとにグループ化されます。たとえば、プロキシ前、プロキシ後、ターゲット前、ターゲット後などです。
各グループには、関連するポリシー、条件、共有フロー、フロー情報が明示されます。
共有フローは、デフォルトでグループ化され、折りたたまれています。
[トランザクション] ペインでは、次のアクションを実行できます。
項目 | 名前 | 説明 |
---|---|---|
![]() <img <="" alt="collapse all slider" class="screenshot" src="/static/apigee/docs/api-platform/debug/images/collapse_all_slider.png" td="" width="" /> |
すべて展開 すべて折りたたむ |
すべてのグループを展開/折りたたみます。 |
![]() ![]() |
展開 折りたたむ |
1 つのグループを展開/折りたたみます。 |
関連項目:
Debug v1
このバージョンでは、グループを展開/折りたたむことはできません。
従来の UI
このバージョンでは、グループを展開/折りたたむことはできません。
検索
検索を使用すると、リクエストまたはレスポンス内の単語や語句を検索できます。
Cloud コンソールの UI
Debug v2(新規)
検索を使用すると、リクエストまたはレスポンス内の単語や語句を検索できます。
次の点にご注意ください。
- 検索では大文字と小文字が区別されません。
- 検索は、単一のトランザクションに適用されます。つまり、デバッグ セッション全体のすべてのトランザクションを検索するわけではありません。
- 検索すると折りたたまれたセクションが展開されますが、[表示オプション] の選択で除外したノードの情報は表示されません。
検索方法:
- 検索ボックスにテキストを入力します。
-
Enter キーを押します。
[トランザクション] ペインと [Phase Details] ペインに、検索結果がハイライト表示されます。
- keyboard_arrow_up [戻る] または keyboard_arrow_down [次へ] ボタンをクリックして、次または前のステップに移動します。


Debug v1
このバージョンでは検索できません。
従来の UI
このバージョンでは検索できません。
ズーム
ズームを使用すると、[トランザクション] ペインの表示を制御できます。
Cloud コンソールの UI
Debug v2(新規)
ズームでは、次のように [トランザクション] ペインの表示を制御します。


アイコン | 説明 |
---|---|
100% | 現在のズームレベル。デフォルトは 100% です。 |
fit_screen | 画面に合わせる |
zoom_in | ズームイン |
zoom_out | ズームアウト |
youtube_searched_for | ズームのリセット |
Debug v1
このバージョンではズームを使用できません。
従来の UI
このバージョンではズームを使用できません。
デバッグツールを使用してデバッグする
Debug を使用すると、API プロキシに関する多くの内部情報を確認できます。例:
- ポリシーが正しく実行されているか、失敗したかを一目で確認できます。
- たとえば、Analytics ダッシュボードで、1 つの API のパフォーマンスが異常に低下していることに気づいたとします。この場合、Debug を使用して、ボトルネックが発生場所を特定できます。Debug では、各処理ステップの完了に要した時間がミリ秒単位で示されます。1 つのステップに時間がかかりすぎていることが判明した場合は、是正処置を取ることができます。
- バックエンドに送信されているヘッダーや、ポリシーによって設定された変数などを確認できます。
- ベースパスを検証することで、ポリシーによってメッセージが正しいサーバーにルーティングされていることを確認できます。
デバッグ セッションでのデータのフィルタリング
デバッグ セッションを作成するときに、セッションにフィルタを追加すると、必要なデータのみが Apigee から返されるようになります。フィルタは、Apigee がリクエスト メッセージとレスポンス メッセージの評価で使用する条件文です。これにより、デバッグデータをデバッグ セッションに含める必要があるかどうかが決まります。たとえば、HTTP レスポンス コードが 599 未満のリクエストを除外できます。また、リクエストの値とカスタム変数を比較することもできます。
次の点にご注意ください。
- フィルタで除外され、デバッグ セッションに含まれないリクエストは、デバッグ セッションの最大トランザクション数にカウントされません。
- Apigee では、クエリ文字列にフィルタを追加できません。
- セッションの開始後にデバッグ セッションにフィルタを追加することはできません。フィルタを追加するには、デバッグ セッションを作成する必要があります。
フィルタの使用
次のセクションで説明するように、Apigee UI または API を使用してデバッグ セッションを作成するときにフィルタを使用します。
Cloud コンソールの UI
UI でデバッグ セッションを作成するときに、[フィルタ] プルダウン リストから、[Start a debug session] パネルに適用する定義済みフィルタを選択できます。また、[カスタム フィルタ] を選択し、フィルタ構文を使用して独自のフィルタを作成することもできます。
従来の UI
UI でデバッグ セッションを作成するときに、[フィルタ] プルダウン リストから、[Start a debug session] パネルに適用する定義済みフィルタを選択できます。また、[カスタム フィルタ] を選択し、フィルタ構文を使用して独自のフィルタを作成することもできます。
API
API を使用してフィルタを含むデバッグ セッションを作成するには、デバッグ セッション作成リクエストにペイロードとして次のものを含めます。
{ "filter":"filter_body" }
フィルタの作成の詳細については、フィルタ構文をご覧ください。
次の例では、ヘッダー A
が 42
、ヘッダー B
が 43
、または障害コードが ExpectedEOF
であるトランザクションのみを含むデバッグ セッションを作成しています。
curl -H "Authorization: Bearer $TOKEN" -X "POST" https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions -d ' { "filter":"(request.header.A == '42' && request.header.B == '43') || fault.code == 'jsonparser.ExpectedEOF'" } '
フィルタは、デバッグ セッション作成リクエストでのみ定義できます。既存のデバッグ セッションにフィルタを追加することはできません。また、アクティブなデバッグ セッションからフィルタを削除することもできません。
フィルタ構文
フィルタは、Apigee の条件と同じ構文をサポートしています(詳細は条件リファレンスをご覧ください)。次のものが含まれます。
また、フィルタは、フロー変数のリファレンスに記載されているすべてのフロー変数とカスタム変数にアクセスできます。次の例は、フィルタで使用できるフロー変数の例を示しています。
# Response codes: response.status.code <= 599 response.status.code >=301 && response.status.code <=420 # Requests/responses: request.verb == "GET" request.header.A == 'B' || request.queryparam.X == 'Y' # Query parameters: request.queryparam.myparam == 'fish' (request.queryparam.param1 == 'X' || request.queryparam.param2 == 'Y') && request.queryparam.param3 == 'Z' # Faults: fault.code != 'messaging.runtime.RouteFailed' fault.name == 'IPDeniedAccess'
カスタム変数の使用方法については、Apigee コミュニティの Apigee でカスタム属性を使用する方法をご覧ください。
事前定義の UI フィルタ
Apigee UI には一般的なフィルタが用意されています。これらのフィルタを使用すれば、独自のカスタム フィルタを作成する必要はありません。次の表に、事前定義フィルタの概要を示します。
フィルタ名 | 説明 |
---|---|
Response Time Greater Than |
レイテンシの問題を確認します。
例: target.duration > 420 && client.duration > 1000 詳細については、フロー変数のリファレンスで |
Response Code |
指定された値と HTTP レスポンス コードが一致するかどうかを確認します。例: response.status.code <= 599 |
Header |
指定されたリクエスト ヘッダーが指定の値と一致するかどうかを確認します。例: request.header.cache-control.1 == "16544" |
Path |
リクエストが指定されたパスと一致するかどうかを確認します。値にワイルドカード マッチングを使用できます。例: request.path == /myproxy/customer/4* |
Query Param |
指定されたリクエスト クエリ パラメータが指定の値と等しいかどうかを確認します。例: request.queryparam.lang == "language:en-us" |
Custom |
独自の式を挿入できます。フロー変数リファレンスにある任意のオブジェクトと条件リファレンスの構文を使用できます。また、カスタム変数を使用することもできます。 カスタム フィルタの作成の詳細については、フィルタ構文をご覧ください。 |
デバッグ セッションを表示する
デバッグ セッション データは 24 時間保存されます。この値は構成できません。24 時間が経過するとデータは利用できなくなります。それまでは、デバッグ セッションを表示できます。
次のセクションで説明するように、最近のデバッグ セッションを表示するには Apigee UI または API を使用します。
Cloud コンソールの UI
Debug v2(新規)
Google Cloud コンソールを使用してデバッグ セッションを表示するには
- Google Cloud コンソールにログインします。
[プロキシ開発] > [API プロキシ] をクリックします。
- デバッグするプロキシをクリックします。
- [デバッグ] タブをクリックします。
- [Recent debug sessions] に、使用可能なデバッグ セッションのリストが表示されます。
表示するセッションのリンクをクリックします。
Debug v1
新しいプロキシ エディタを使用してデバッグ セッションを表示するには:
- Google Cloud コンソールにログインします。
[プロキシ開発] > [API プロキシ] を選択します。
- デバッグするプロキシを選択します。
- [デバッグ] タブをクリックします。
- [Recent debug sessions] に、使用可能なデバッグ セッションのリストが表示されます。
表示するセッションのリンクをクリックします。
従来の UI
従来のプロキシ エディタを使用してデバッグ セッションを表示するには:
- Apigee UI にログインします。
- メインビューから [API Proxies] を選択します。
- デバッグするプロキシを選択します。
- [デプロイ] ビューの右上にある [デバッグ] タブをクリックします。
- [Recent debug sessions] パネルで次の操作を行います。
- [Env] プルダウン リストから、デバッグ セッションを表示する API プロキシの環境を選択します。
- [Rev] プルダウン リストから、デバッグ セッションを表示する API プロキシのリビジョン番号を選択します。
Apigee UI に、利用可能なデバッグ セッションのリストが表示されます。
表示するセッションのリンクをクリックします。
デバッグ セッションが読み込まれ、[Send Requests] パネルにデバッグデータが表示されます。
API
API を利用すると、次のような処理が可能です。
API を使用してすべてのデバッグ セッションを表示する
環境内で API プロキシ リビジョンに定義されている最新のデバッグ セッションをすべて表示するには、次のリソースに GET リクエストを発行します。
https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions
必要に応じて、次のクエリ パラメータのいずれかを指定して、返されるデータ量を制御できます。
- pageSize - 一覧を取得するデバッグ セッションの最大数。ページサイズはデフォルトの 25 に設定されています。
- pageToken - 前の呼び出しから返されたページトークン。次のページを取得するときに使用できます。
次の例は、test
環境にある helloworld
API プロキシのリビジョン 1 のデバッグ セッションを表示する方法を示しています。
curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions" \ -X GET \ -H "Authorization: Bearer $TOKEN"
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN
は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl
オプションの詳細については、curl の使用をご覧ください。使用される環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
次のように、レスポンスには現在アクティブなデバッグ セッションのリストを含む sessions
オブジェクトが含まれています。
{ "sessions": [ { "id": "a423ac73-0902-4cfa-4242-87a353a84d87", "timestamp_ms": 1566330186000 }, { "id": "f1eccbbe-1fa6-2424-83e4-3d063b47728a", "timestamp_ms": 1566330286000 } ] }
トランザクションが 1 つ以上存在するデバッグ セッションのみがレスポンスに含まれます。このリストには、トランザクションのないデバッグ セッションは含まれていません。
詳細については、Debug Sessions API の一覧表示をご覧ください。
API を使用してデバッグ セッションのすべてのトランザクションを表示する
デバッグ セッションのトランザクションの一覧を表示するには、次のリソースに GET リクエストを発行します。
https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions/debugsession/data
ここで、debugsession はデバッグ セッションを表示したときに返されるデバッグ セッションの ID です。
次の例は、test
環境にある helloworld
API のリビジョン 1 のデバッグ セッションのトランザクションを表示する方法を示しています。
curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data" \ -X GET \ -H "Authorization: Bearer $TOKEN"
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN
は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl
オプションの詳細については、curl の使用をご覧ください。使用される環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
レスポンスには、次のように取引 ID の配列が含まれます。
[ "myorg-test-ver-5qxdb-64", "myorg-test-ver-5qxdb-65", "myorg-test-ver-5qxdb-66", "myorg-test-ver-5qxdb-67", "myorg-test-ver-5qxdb-68", "myorg-test-ver-5qxdb-69", "myorg-test-ver-5qxdb-70", "myorg-test-ver-5qxdb-71", "myorg-test-ver-5qxdb-72" ]
詳細については、デバッグ セッション データ API の一覧表示をご覧ください。
API を使用してデバッグ セッションのトランザクション データを表示する
デバッグ セッションのトランザクション データを表示するには、次のリソースに GET リクエストを発行します。
https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}/debugsessions/{debugsession}/data/{transactionId}
ここで debugsession は、デバッグ セッションを表示する際に返されるデバッグ セッションの ID です。transactionId はデバッグ セッションのトランザクションのリストを表示する際に返されるトランザクション ID です。
デバッグ セッションで保存されるトランザクション データは JSON 形式になります。このデータは Offline Debug ツールで読み込むことができます。
次の例は、test
環境にある helloworld
API のリビジョン 1 のデバッグ セッションのトランザクション データをダウンロードする方法を示します。
curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data/myorg-test-ver-5qxdb-64" \ -X GET \ -H "Authorization: Bearer $TOKEN"
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN
は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl
オプションの詳細については、curl の使用をご覧ください。使用される環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
ダウンロード データの構造で説明しているとおり、レスポンスには、指定したトランザクションのデータを含む JSON ペイロードが含まれます。
デバッグデータには、各フローのリクエストとレスポンスに関するすべての情報が独自の JSON 形式で含まれています。このデータを保存して、後でオフライン デバッグツールで使用できます。
セッションが終了する前にリクエストが 1 つも追加されなかった場合、レスポンスは次のようになります。
[]
詳細については、デバッグ セッション データ API の取得をご覧ください。
UI で表示オプションを選択する
このセクションでは、表示オプションを選択して UI に表示される内容をフィルタする方法について説明します。
Cloud コンソールの UI
デバッグ セッションの表示オプションを選択するには、[表示オプション] ペインのオプションを選択またはクリアします。これらの表示オプションは、各ユーザーのデバッグ セッションで保持されます。


オプション | 説明 |
---|---|
Show disabled policies | 無効化されたポリシーを表示します。公開 API でポリシーを無効にすることができます。API プロキシ構成のリファレンスをご覧ください。 |
Show skipped policies | スキップされたポリシーを表示します。スキップされたポリシーは、ステップ条件が false と評価されたためにポリシーが実行されなかった場合に発生します。詳しくは、フロー変数の条件をご覧ください。 |
Show all FlowInfos | フロー セグメント内の遷移を表示します。 |
Show all flow conditions | 各フローの評価された条件を示します。 |
従来の UI
デバッグ セッションの表示オプションを選択するには、[表示オプション] ペインのオプションを選択またはクリアします。
オプション | 説明 |
---|---|
Show Disabled Policies | 無効化されたポリシーを表示します。公開 API でポリシーを無効にすることができます。API プロキシ構成のリファレンスをご覧ください。 |
Show Skipped Phases | スキップされたフェーズを表示します。スキップされたフェーズは、ステップ条件が false と評価されたためにポリシーが実行されなかった場合に発生します。詳しくは、フロー変数の条件をご覧ください。 |
Show all FlowInfos | フロー セグメント内の遷移を表示します。 |
Automatically Compare Selected Phase | 選択したフェーズを前のフェーズと比較します。選択したフェーズのみを表示するには、このオプションをオフにします。 |
Show Variables | 値が読み取られて割り当てられた変数の表示 / 非表示を切り替えます。 |
Show Properties | プロパティは、API プロキシの内部状態を表します(デフォルトでは非表示)。 |
デバッグ セッションを共有する
組織へのアクセス権と必要な権限を持っている他のユーザーとデバッグ セッションを共有できます。共有するには、デバッグ セッションを表示したときにブラウザに表示される URL を送信します。このリンクの有効期間は、デバッグ セッションの作成後 24 時間です。
デバッグ セッション データをダウンロードする
未加工のデバッグ結果が保存されているファイルをダウンロードして、オフラインで表示できます。ダウンロードされたファイルには、すべてのヘッダー、変数、ポリシーの内容を含むデバッグ セッションの詳細が含まれています。
UI でデバッグ セッション データをダウンロードまたは表示できる期間は 24 時間です。この時間が経過すると、Apigee はセッション データを削除します。
ダウンロードしたデバッグ セッション データを表示するには、オフライン デバッグツールを使用します。
Cloud コンソールの UI
Debug v2(新規)
Google Cloud コンソールで現在のデバッグ セッションをダウンロードするには、[デバッグ] ビューの [ダウンロード] をクリックします。


Debug v1
新しいプロキシ エディタで現在のデバッグ セッションをダウンロードするには、[デバッグ] ビューの左側のペインにある [Download Session] をクリックします。
デバッグ セッションは、完了後 24 時間で削除されるため、それ以降にデバッグ セッションを表示する場合は、事前にダウンロードしておく必要があります。
従来の UI
従来のプロキシ エディタを使用して現在のデバッグ セッションのデータをダウンロードするには:
- アクティブ セッション: [Debug details] パネルのダウンロード アイコン(
)をクリックします。
- 前のセッション: [Recent debug sessions] パネルでセッションの名前をクリックします。デバッグ セッションの表示をご覧ください。その後、[Debug details] パネルの
をクリックします。
API
Apigee API を使用して現在のデバッグ セッションのすべてのトランザクションの ID を表示するには、次のコマンドを入力します。
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions/SESSION_ID/data
ここで SESSION_ID は、ダウンロードするデバッグ セッションの ID です。
デバッグ セッションのトランザクション ID を一覧表示するをご覧ください。
Apigee API を使用してトランザクションのデバッグデータを取得するには、次のコマンドを入力します。
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions/SESSION_ID/data/TRANSACTION_ID
ダウンロード データの構造
ダウンロードされるデバッグ セッション データの構造は Apigee UI と Apigee API で異なります。
Cloud コンソールの UI
Apigee UI を使用してデータをダウンロードする場合、データ構造は次のとおりです。
- セッション全体のすべてのトランザクションが含まれます。
- トランザクションを
Messages
配列に格納します。 - セッションに関するメタデータが含まれます(
DebugSession
オブジェクトとして)。
従来の UI
Apigee UI を使用してデータをダウンロードする場合、データ構造は次のとおりです。
- セッション全体のすべてのトランザクションが含まれます。
- トランザクションを
Messages
配列に格納します。 - セッションに関するメタデータが含まれます(
DebugSession
オブジェクトとして)。
API
Apigee API を使用して、セッション全体のデータを一度に表示することはできません。デバッグ セッションの表示で説明されているように、API を使用して表示できるのは個々のトランザクション データのみです。
例:
{ "completed": true, "point": [ ... ... }
ダウンロード データの例
次の例では、ダウンロードされたデータの DebugSession
メタデータ オブジェクトがハイライト表示されています。このオブジェクトの後に、セッション内のトランザクションを含む Messages
配列が続きます。
{ "DebugSession": { "Retrieved": "2019-06-08T13:08:13.395Z", "Organization": "myorg", "Environment": "prod", "API": "myproxy", "Revision": "1", "SessionId": "a2a271aa-4242-4ac6-97cb-aec8dcb115a9" }, "Messages": [ { "completed": true, "point": [ { "id": "Paused" }, { "id": "Resumed" }, { "id": "StateChange", "results": [ { "ActionResult": "DebugInfo", "properties": { "property": [ { "name": "To", "value": "REQ_HEADERS_PARSED" }, { "name": "From", "value": "REQ_START" } ] }, "timestamp": "8-6-19 13:08:37:718" }, { "ActionResult": "RequestMessage", "headers": [ { "name": "accept", "value": "*/*" }, { "name": "accept-encoding", "value": "gzip,gzip,deflate,br" }, { "name": "content-length", "value": "0" }, { "name": "host", "value": "myorg.example.domain.net" }, { "name": "user-agent", "value": "Google-Apigee" }, { "name": "x-b3-sampled", "value": "0" }, { "name": "x-b3-spanid", "value": "d4ee579206759662" }, { "name": "x-b3-traceid", "value": "adc1e171777c237dd4ee579206759662" }, { "name": "x-forwarded-for", "value": "66.102.8.98" }, { "name": "x-forwarded-proto", "value": "https" }, { "name": "x-request-id", "value": "54e05cba-4242-4490-4242-60c45c156f90" } ], "uRI": "/myproxy", "verb": "GET" } ] }, { "id": "FlowInfo", "results": [ { "ActionResult": "DebugInfo", "properties": { "property": [ { "name": "environment.name", "value": "prod" }, { "name": "environment.qualifiedname", "value": "myorg__prod" }, { "name": "environment.orgname", "value": "myorg" } ] }, "timestamp": "8-6-19 13:08:37:718" } ] }, { "id": "FlowInfo", "results": [ { "ActionResult": "DebugInfo", "properties": { "property": [ { "name": "organization.name", "value": "myorg" } ] }, "timestamp": "8-6-19 13:08:37:718" } ] }, { "id": "FlowInfo", "results": [ { "ActionResult": "DebugInfo", "properties": { "property": [ { "name": "apiproxy.qualifiedname", "value": "myproxy__1" }, { "name": "apiproxy.basepath", "value": "/" }, { "name": "apiproxy.revision", "value": "1" }, { "name": "apiproxy.name", "value": "myproxy" } ] }, "timestamp": "8-6-19 13:08:37:718" } ] }, ... ... } ] }
デバッグ セッションにリクエストが含まれていなかった場合、次の例のように Message
配列が空になっています。
{ "DebugSession": { "Retrieved": "2019-06-08T13:08:13.395Z", "Organization": "myorg", "Environment": "prod", "API": "myproxy", "Revision": "1", "SessionId": "a2a271aa-4242-4ac6-97cb-aec8dcb115a9" }, "Messages": [] }
デバッグ セッションのデータを削除する
以下のセクションで説明するように、デバッグ セッション データを削除するには Apigee UI または API を使用します。
Cloud コンソールの UI
Debug v2(新規)
Google Cloud コンソールでデバッグ セッションを削除するには:
- [デバッグ] タブで、削除するセッションの行をクリックします。
- [Debug session] ペインで、 [削除] をクリックします。


Debug v1
新しいプロキシ エディタでデバッグ セッションを削除するには:
- 削除するセッションの行を選択します。
- 行の最後にあるその他メニューをクリックし、[削除] を選択します。
従来の UI
デバッグ セッションの [Debug details] パネルで をクリックします。
API
API を使用してすべてのデバッグ セッション データを削除するには、次のリソースに DELETE リクエストを送信します。
https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions/debugsession/data
ここで、debugsession はデバッグ セッションを表示したときに返されるデバッグ セッションの ID です。
次の例は、test
環境の helloworld
API のリビジョン 1 のデバッグ セッション データを削除する方法を示しています。
curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data" \ -X DELETE \ -H "Authorization: Bearer $TOKEN"
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN
は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl
オプションの詳細については、curl の使用をご覧ください。使用される環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
成功すると、レスポンスの本文は空になります。
デバッグ セッション データは 24 時間保持されます。その時間までに削除しなかった場合、Apigee によって削除されます。