Amazon dynamodb 在DynamoDb中创建或读取项
我正在尝试从DynamoDB读取ID为X的项(使用Appsync graphql),如果没有,我希望它创建一个默认项 这似乎应该是一个正常的用例。但我尝试过的解决方案都非常糟糕:Amazon dynamodb 在DynamoDb中创建或读取项,amazon-dynamodb,aws-appsync,Amazon Dynamodb,Aws Appsync,我正在尝试从DynamoDB读取ID为X的项(使用Appsync graphql),如果没有,我希望它创建一个默认项 这似乎应该是一个正常的用例。但我尝试过的解决方案都非常糟糕: 我试图创建一个管道解析器,首先获取该项,然后在第二个函数中创建一个项(如果前一个函数的结果中没有项)。这与返回已读项有关 我尝试在具有此ID的项不工作的条件下执行PutAction。这就是我所需要的,但无论我对响应映射模板做了什么,我都无法更改来自错误警告的响应 那么,如何有效地为DynamoDb创建“读取或创建(如果
那么,如何有效地为DynamoDb创建“读取或创建(如果不存在)”解析器呢?事实证明,我已经接近解决方案了。 根据本文件:
{
"version" : "2017-02-28",
"operation" : "PutItem",
"key" : {
"id" : { "S" : "${ctx.args.id}" }
},
"condition" : {
"expression" : "attribute_not_exists(id)",
"equalsIgnore": [ "__typename", "_version", "_lastChangedAt", "_createdAt", "name", "owner"]
},
"attributeValues": {
"name": { "S" : "User Username" }
}
}