我有BatchGetItem的请求映射模板
{
"version" : "2018-05-29",
"operation" : "BatchGetItem",
"tables" : {
"user-post": { ## Get table name from enviroment varible or CloudFormation
"keys": $util.toJson($ids),
"consistentRead": true
}
}
}
和response $util.toJson($ctx.result.data.user-post)
。如何从varible或CloudFormation环境中自动获取表名,而不需要手动编写。我的映射模板有数据源user-post
- dynamoDB表。
发布于 2018-07-27 06:34:45
如果您通过CloudFormation将解析器(和映射模板)部署到AppSync,则应该能够使用引用自动填充DynamoDB表名。
如果您在同一个cloudformation模板中创建一个DynamoDB表,那么DynamoDB cloudformation条目的返回输出将是表名,您可以引用它。
下面是使用cloudformation创建DynamoDB表的文档,以及返回的输出是https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#w2ab2c21c10d384c15
下面是使用"Ref“引用资源的文档:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html
如果您的DynamoDB表是预先创建的,那么可以通过cloudformation参数或在映射中传递表名,然后就可以引用它了。
您可能必须将"Ref“与其他一些Cloudformation函数结合使用,例如"Sub”,以便将DynamoDB表引用替换到映射模板定义中。
组合使用Sub和Ref的示例:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html#w2ab2c21c28c59c11
https://stackoverflow.com/questions/51532658
复制相似问题