本节总结了 API Gateway 中 WebSocket API 当前支持的变量集。
参数 | 说明 |
---|---|
$context.connectionId |
连接的唯一 ID,可用于对客户端进行回调。 |
$context.connectedAt |
Epoch |
$context.domainName |
WebSocket API 的域名。这可用于对客户端进行回调(而不是硬编码值)。 |
$context.eventType |
事件类型: |
$context.messageId |
消息的唯一服务器端 ID。仅当 |
$context.routeKey |
选定的路由键。 |
$context.requestId |
与 |
$context.extendedRequestId |
为 API 调用自动生成的 ID,其中包含用于调试/故障排除的更有用的信息。 |
$context.apiId |
API Gateway 分配给您的 API 的标识符。 |
$context.authorizer.principalId |
与由客户端发送的令牌关联并从 API Gateway Lambda 授权方(以前称为自定义授权方)Lambda 函数返回的委托人用户标识。 |
$context.authorizer. |
从 API Gateway Lambda 授权方函数返回的
调用 |
$context.error.messageString |
$context.error.message 的带引号的值,即 "$context.error.message" 。 |
$context.error.validationErrorString |
包含详细验证错误消息的字符串。 |
$context.identity.accountId |
与请求关联的 AWS 账户 ID。 |
$context.identity.apiKey |
API 所有者密钥与启用密钥的 API 请求关联。 |
$context.identity.apiKeyId |
API 密钥 ID 与启用密钥的 API 请求关联 |
$context.identity.caller |
发出请求的调用方的委托人标识符。 |
$context.identity.cognitoAuthenticationProvider |
发出请求的调用方使用的所有 Amazon Cognito 身份验证提供程序的逗号分隔列表。仅当使用 Amazon Cognito 凭证对请求签名时才可用。 例如,对于 Amazon Cognito 身份池中的身份, 有关更多信息,请参阅 Amazon Cognito 开发人员指南 中的使用联合身份。 |
$context.identity.cognitoAuthenticationType |
发出请求的调用方的 Amazon Cognito 身份验证类型。仅当使用 Amazon Cognito 凭证对请求签名时才可用。可能的值包括经过身份验证的身份的 |
$context.identity.cognitoIdentityId |
发出请求的调用方的 Amazon Cognito 身份 ID。仅当使用 Amazon Cognito 凭证对请求签名时才可用。 |
$context.identity.cognitoIdentityPoolId |
发出请求的调用方的 Amazon Cognito 身份池 ID。仅当使用 Amazon Cognito 凭证对请求签名时才可用。 |
$context.identity.sourceIp |
向 API Gateway 终端节点发出请求的即时 TCP 连接的源 IP 地址。 |
$context.identity.user |
发出请求的用户的委托人标识符。 |
$context.identity.userAgent |
API 调用方的用户代理。 |
$context.identity.userArn |
身份验证后标识的有效用户的 Amazon Resource Name (ARN)。 |
$context.requestTime |
CLFdd/MMM/yyyy:HH:mm:ss
+-hhmm )。 |
$context.requestTimeEpoch |
Epoch |
$context.stage |
API 调用的部署阶段(例如测试或生产)。 |
$context.status |
响应状态。 |
$input.body |
以字符串形式返回原始负载。 |
$input.json(x) |
此函数计算 JSONPath 表达式并以 JSON 字符串形式返回结果。 例如, 有关 JSONPath 的更多信息,请参阅 JSONPath |
$input.path(x) |
获取一个 JSONPath 表达式字符串 ( 例如,如果表达式
有关 JSONPath 的更多信息,请参阅 JSONPath |
$stageVariables. |
|
$stageVariables[' |
|
${stageVariables[' |
|
$util.escapeJavaScript() |
使用 JavaScript 字符串规则对字符串中的字符进行转义。 注意此函数会将任何常规单引号 (
|
$util.parseJson() |
获取“字符串化的”JSON 并返回结果的对象表示形式。您可以使用此函数的结果通过 Apache Velocity 模板语言 (VTL) 在本机访问和操作负载的元素。例如,如果您具有以下负载:
并使用以下映射模板
您将得到以下输出:
|
$util.urlEncode() |
将字符串转换为“application/x-www-form-urlencoded”格式。 |
$util.urlDecode() |
对“application/x-www-form-urlencoded”字符串进行解码。 |
$util.base64Encode() |
将数据编码为 base64 编码的字符串。 |
$util.base64Decode() |
对 base64 编码字符串中的数据进行解码。 |