API Gateway での REST API の API Gateway ステージ変数リファレンス
次のような場合に、API Gateway ステージ変数を使用できます。
パラメータマッピング式
ステージ変数は、API メソッドのリクエストまたはレスポンスヘッダーパラメータ用のパラメータマッピング式で、一部を置き換えることなく使用できます。次の例では、$
を使用したり、{...}
で囲むことなくステージ変数を参照しています。
-
stageVariables.<variable_name>
マッピングテンプレート
ステージ変数は、次の例に示すように、マッピングテンプレートのどこでも使用できます。
-
{ "name" : "$stageVariables.<variable_name>"}
-
{ "name" : "${stageVariables.<variable_name>}"}
HTTP 統合 URI
ステージ変数は、次の例に示すように、HTTP 統合 URLの一部として使用できます。
-
プロトコルのない完全な URI –
http://${stageVariables.<variable_name>}
-
完全なドメイン –
http://${stageVariables.<variable_name>}/resource/operation
-
サブドメイン –
http://${stageVariables.<variable_name>}.example.com/resource/operation
-
パス –
http://example.com/${stageVariables.<variable_name>}/bar
-
クエリ文字列 –
http://example.com/foo?q=${stageVariables.<variable_name>}
AWS 統合 URI
ステージ変数は、次の例に示すように、AWS URI アクションまたはパスコンポーネントの一部として使用できます。
-
arn:aws:apigateway:<region>:<service>:${stageVariables.<variable_name>}
AWS 統合 URI (Lambda 関数)
ステージ変数は、次の例に示すように、 Lambda 関数名またはバージョン/エイリアスの代わりに使用できます。
-
arn:aws:apigateway:<region>:lambda:path/2015-03-31/functions/arn:aws:lambda:<region>:<account_id>:function:${stageVariables.<function_variable_name>}/invocations
-
arn:aws:apigateway:<region>:lambda:path/2015-03-31/functions/arn:aws:lambda:<region>:<account_id>:function:<function_name>:${stageVariables.<version_variable_name>}/invocations
注記
Lambda 関数にステージ変数を使用するには、関数が API と同じアカウントにある必要があります。ステージ変数は、クロスアカウント Lambda 関数をサポートしていません。
Amazon Cognito ユーザープール
ステージ変数は、COGNITO_USER_POOLS
オーソライザーの Amazon Cognito ユーザープールの代わりに使用できます。
-
arn:aws:cognito-idp:<region>:<account_id>:userpool/${stageVariables.<variable_name>}
AWS 統合認証情報
ステージ変数は、次の例に示すように、AWS ユーザー/ロールの認証情報 ARN の一部として使用できます。
-
arn:aws:iam::<account_id>:${stageVariables.<variable_name>}