デバッグメッセージの有効化
ゲートウェイの開発中に、デバッグメッセージを有効にして、Lambda 関数エラー、出力オーソライザーエラー、ターゲット仕様パラメータ検証エラーなど、ターゲット設定の問題の詳細を返すことができます。デバッグメッセージをオンにした後、ゲートウェイを呼び出すときに問題が発生した場合、レスポンスはデバッグに役立つメッセージを返します。
デバッグメッセージを有効にするには、次のいずれかを実行します。
-
AgentCore CLI を使用してゲートウェイを作成すると、デバッグは自動的に有効になります。
-
AWS マネジメントコンソールを使用してゲートウェイを作成する場合、デバッグはデフォルトで有効になっています。オプションは、ゲートウェイの詳細セクションの追加設定にあります。
-
CLI または AWS SDK AWS を使用する場合は、CreateGateway または UpdateGateway リクエストを行う
DEBUGときにexceptionLevel値を に設定します。
ゲートウェイのデバッグが完了したら、ゲートウェイを更新してデバッグメッセージを無効にし、エンドユーザーへのメッセージに未指定の内部エラーのみが表示されるようにすることができます。
デバッグメッセージを無効にするには、次のいずれかを実行します。
-
AWS マネジメントコンソールで、ゲートウェイを作成または編集するときにゲートウェイの詳細セクションの追加設定を展開し、例外レベルのデバッグの横にあるチェックボックスをオフにします。
-
AWS CLI または AWS SDK で、デバッグの無効化を
CreateGatewayまたは にUpdateGatewayリクエストするときにexceptionLevelフィールドを省略します。
デバッグをオンまたはオフにしたゲートウェイレスポンスの例
例えば、ゲートウェイがターゲットとする Lambda 関数を呼び出すアクセス許可がユーザーにないとします。この関数を呼び出すリクエストは、デバッグがオンかオフかに応じて別のメッセージを返します。
-
でのデバッグ – 次の例のように、コンテンツの
textフィールドとレスポンスの_metaフィールドにも詳細なエラーメッセージが返されます。{ "jsonrpc": "2.0", "id": 24, "result": { "content": [ { "type": "text", "text": "Access denied while invoking Lambda function arn:aws:lambda:us-west-2:123456789012:function:TestGatewayLambda. Check the permissions on the Lambda function and Gateway execution role, and retry the request." } ], "_meta": { "debug": { "type": "text", "text": "Access denied while invoking Lambda function arn:aws:lambda:us-west-2:123456789012:function:TestGatewayLambda. Check the permissions on the Lambda function and Gateway execution role, and retry the request." } }, "isError": true } } -
デバッグオフ – 次の例のように、一般的なエラーメッセージがレスポンスのコンテンツの
textフィールドに返されます。{ "jsonrpc": "2.0", "id": 24, "result": { "content": [ { "type": "text", "text": "An internal error occurred. Please retry later." } ], "isError": true } }