是否可以在集成请求的正文映射模板中检索 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: