

# API Gateway での REST API の API Gateway ステージ変数リファレンス
<a name="aws-api-gateway-stage-variables-reference"></a>

 次のような場合に、API Gateway ステージ変数を使用できます。

## パラメータマッピング式
<a name="stage-variables-in-parameter-mapping-expressions"></a>

ステージ変数は、API メソッドのリクエストまたはレスポンスヘッダーパラメータ用のパラメータマッピング式で、一部を置き換えることなく使用できます。次の例では、`$` を使用したり、`{...}` で囲むことなくステージ変数を参照しています。
+ `stageVariables.<variable_name>`

## マッピングテンプレート
<a name="stage-variables-in-mapping-templates"></a>

 ステージ変数は、次の例に示すように、マッピングテンプレートのどこでも使用できます。
+  `{ "name" : "$stageVariables.<variable_name>"}`
+ `{ "name" : "${stageVariables.<variable_name>}"}`

## HTTP 統合 URI
<a name="stage-variables-in-integration-HTTP-uris"></a>

ステージ変数は、次の例に示すように、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
<a name="stage-variables-in-integration-aws-uris"></a>

 ステージ変数は、次の例に示すように、AWS URI アクションまたはパスコンポーネントの一部として使用できます。
+ `arn:aws:apigateway:<region>:<service>:${stageVariables.<variable_name>}`

## AWS 統合 URI (Lambda 関数)
<a name="stage-variables-in-integration-lambda-functions"></a>

 ステージ変数は、次の例に示すように、 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 ユーザープール
<a name="stage-variables-in-integration-lambda-functions"></a>

ステージ変数は、`COGNITO_USER_POOLS` オーソライザーの Amazon Cognito ユーザープールの代わりに使用できます。
+ `arn:aws:cognito-idp:<region>:<account_id>:userpool/${stageVariables.<variable_name>}`

## AWS 統合認証情報
<a name="stage-variables-in-integration-aws-credentials"></a>

 ステージ変数は、次の例に示すように、AWS ユーザー/ロールの認証情報 ARN の一部として使用できます。
+  `arn:aws:iam::<account_id>:${stageVariables.<variable_name>}` 