

# 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>}` 

## Amazon 集成 URI
<a name="stage-variables-in-integration-aws-uris"></a>

 阶段变量可用作 Amazon URI 操作或路径组件的一部分，如以下示例所示。
+ `arn:aws:apigateway:<region>:<service>:${stageVariables.<variable_name>}`

## Amazon 集成 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>}`

## Amazon 集成凭证
<a name="stage-variables-in-integration-aws-credentials"></a>

 阶段变量可用作 Amazon 用户/角色凭证 ARN 的一部分，如以下示例所示。
+  `arn:aws:iam::<account_id>:${stageVariables.<variable_name>}` 