Alibaba Cloud サービスにアクセスすると、Alibaba Cloud は各リクエストに一意の RequestId を割り当てます。RequestId を使用して、OpenAPI 診断または ActionTrail でリクエストに関する情報を表示できます。RequestId の一般的な使用方法は、エラーの診断です。OpenAPI 呼び出しが失敗した場合、OpenAPI 診断プラットフォームで RequestId を使用して、エラーの原因とソリューションを見つけることができます。このトピックでは、一般的な権限エラーを例として、さまざまなシナリオで RequestId を取得する方法を説明します。
このトピックは、OpenAPI Portal で利用可能な API にのみ適用されます。
方法
次の方法で RequestId を取得できます。リクエストがエラーを返した場合、OpenAPI 診断プラットフォームで RequestId を使用してソリューションを見つけることができます。権限エラーの場合、エラーメッセージには AccessDeniedDetail も含まれます。このパラメーターは、特定の未承認の操作 (AuthAction) と暗号化された診断メッセージ (EncodedDiagnosticMessage) を提供します。
コンソールでブラウザの開発者ツールを使用する
コンソールで操作を実行するときに、ブラウザで開発者ツールを開くことができます。次に、「api.json?」でフィルターして、リクエストの RequestId を見つけます。

OpenAPI Portal のテスト結果を使用する
OpenAPI Portal で呼び出しをテストすると、結果に RequestId が表示されます。

SDK を使用する
Alibaba Cloud SDK を使用する場合、通常は API 応答から RequestId を取得できます。エラーが発生した場合は、例外をキャッチしてエラーメッセージを取得できます。

コマンドラインインターフェイス (CLI) を使用する
Alibaba Cloud CLI の出力で RequestId を見つけることができます。

Terraform を使用する
Terraform は複数のリソースをオーケストレーションします。このため、実行が成功した後、システムは RequestId を出力しません。実行中にエラーが発生した場合、Terraform はエラーメッセージを出力します。これらのメッセージで RequestId を見つけることができます。

その他の方法
たとえば、V3 署名を使用する API を呼び出すときにエラーが発生した場合、エラー応答には RequestId が含まれます。

RequestId でリクエスト情報を検索する
OpenAPI 診断
ページで、RequestId を入力して、リクエストの呼び出しチェーン、基本情報、認証の詳細、およびコンテンツをクエリできます。リクエストがエラーを返した場合、ソリューションを見つけることもできます。
RAM 権限が不十分なためにリクエストが拒否された場合は、エラーメッセージから EncodedDiagnosticMessage パラメーターを取得できます。次に、DecodeDiagnosticMessage 操作を呼び出して、権限情報をデコードできます。

ActionTrail
LookupEvents 操作を呼び出し、RequestId を渡してイベントの詳細をクエリできます。この操作を呼び出すときは、LookupAttribute パラメーターに次の値を渡します:
パラメーター | 説明 |
Key | これを EventId に設定します。 |
Value | 実際の RequestId を入力します。 |
