我在AppSync上工作,我正在努力研究如何使用虚拟磁带库在Dynamo Db中保存数据。我的实际需求是保存API调用时的日期。请让我知道如何在Dynamo Db中使用Date.now()来实现这一点。提前谢谢。
发布于 2019-10-10 05:18:12
我通常使用$util.time.nowEpochSeconds()来完成此操作
例如:
#set($input={})
$util.qr($input.put("createdAt", $util.time.nowEpochSeconds()))
$util.qr($input.put("updatedAt", $util.time.nowEpochSeconds()))
#set($id=$util.autoId())
{
"version" : "2017-02-28",
"operation" : "PutItem",
"key" : {
"id": $util.dynamodb.toDynamoDBJson("$id")
},
"attributeValues" : $util.dynamodb.toMapValuesJson($input)
}发布于 2021-12-28 22:52:14
您有几个选项,例如使用DynamoDb,您可以在映射属性之前添加它:
$util.qr($ctx.args.input.put("createdAt", $util.time.nowISO8601()))
{
"version": "2017-02-28",
"operation": "PutItem",
"key": {
"id": $util.dynamodb.toDynamoDBJson($util.autoId()),
},
"attributeValues": $util.dynamodb.toMapValuesJson($ctx.args.input),
"condition": {
"expression": "attribute_not_exists(#id)",
"expressionNames": {
"#id": "id",
},
},
}格式选项:
$util.time.nowISO8601() : 2018-02-06T19:01:35.749Z
$util.time.nowEpochSeconds() : 1517943695
$util.time.nowEpochMilliSeconds() : 1517943695750
$util.time.nowFormatted("yyyy-MM-dd HH:mm:ssZ") : 2018-02-06 19:01:35+0000
$util.time.nowFormatted("yyyy-MM-dd HH:mm:ssZ", "+08:00") : 2018-02-07 03:01:35+0800
$util.time.nowFormatted("yyyy-MM-dd HH:mm:ssZ", "Australia/Perth") : 2018-02-07 03:01:35+0800来源:https://docs.aws.amazon.com/appsync/latest/devguide/resolver-util-reference.html
https://stackoverflow.com/questions/53612282
复制相似问题