【发布时间】:2021-09-09 20:31:28
【问题描述】:
我是 VTL 和 AWS appsync 的新手,并试图了解事情是如何运作的。
表示列表中的步骤的映射在存储到 DynamoDB 之前应该具有带有 UUID 的属性 id。为此,我尝试遍历数组并访问 map 上的 put 方法,如下例所示。
{
"version" : "2017-02-28",
"operation" : "PutItem",
"key": {
"id" : $util.dynamodb.toDynamoDBJson($util.autoId())
},
#set($input = $util.dynamodb.toMapValues($ctx.args.input))
#set($input.createdAt = $util.dynamodb.toDynamoDB($util.time.nowISO8601()))
#foreach($step in $input.steps)
$step.put('id', $util.dynamodb.toDynamoDBJson($util.autoId())))
#end
"attributeValues": $util.toJson($input)
}
我的第二次尝试:
#foreach($step in $input.steps)
#set($step.id = $util.dynamodb.toDynamoDBJson($util.autoId()))
#end
但是,我的地图仍然无缘无故没有 id 属性。
foreach 循环给我的只是我尝试修改的地图的副本而不是原始对象,是否存在问题?
感谢您的宝贵时间! 希望我的问题能为 VTL 和 appsync 的所有新手提供服务
【问题讨论】:
标签: amazon-dynamodb aws-cdk aws-appsync vtl