AWS API 网关如何在集成请求>正文映射模板中获取时间戳



是否可以在集成请求的正文映射模板中检索 API 网关请求的时间戳,以便它只能检索大于(或小于(创建日期的记录?

当前设置

API 网关(GET( -> DynamoDB --响应--> API 网关

身体映射模板

{
"TableName": "table-name-in-dynamodb",
"ScanFilter": {
"creationDate": {
"AttributeValueList": [ { "N":"TIMESTAMP_OF_THE_API_REQUEST" } ],
"ComparisonOperator": "GT"
}
}

}

我已经读到可以使用$input.params('X-Amzn-Trace-Id'(检索标头X-Amzn-Trace-Id,它将返回一个带有版本号和时间戳的字符串。 AWS API 网关 - 如何在正文映射模板中获取日期/时间戳/纪元?

我对所有这些仍然很陌生,所以我不确定如何处理数据。

这可能吗?

是的,这是可能的。你可以做:

身体映射模板

{
"TableName": "table-name-in-dynamodb",
"ScanFilter": {
"creationDate": {
"AttributeValueList": [ { "N":"$context.requestTimeEpoch" } ],
"ComparisonOperator": "GT"
}
}

但是您必须知道$context.requestTimeEpoch在测试环境中不起作用。 因此,在使用 API 之前,您首先需要部署它。

所有关于上下文变量的文档都可以在这里找到 https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html:

最新更新