触发更多突变的AppSync突变

Z J*_*nes 6 amazon-web-services aws-lambda aws-appsync

我有两个表:帖子和用户

createPost变异解析器中,我设置了一些默认值做某些属性(想想userId,createdAt timestamp,isDeleted flag等).另外,我想增加用户的numPosts计数器.

这是通过标准旋转变压器实现的吗?

如果没有,那么更好的选择是什么?为什么?

备选方案1)使用DynamoDB Stream并在添加新的Post记录时触发lambda函数,该记录会增加用户的numPosts计数器.

备选方案2)使用lambda解析器并将所有逻辑移到那里而不是标准解析器.

vah*_*det -1

有可用于 DynamoDB 的更新表达式;它显然属于 AppSync 的DynamoDB 解析器映射模板参考UpdateItem通过代码中给出的示例代码,通过以下一些代码进行操作应该对您有用:

{
    "version" : "2017-02-28",
    "operation" : "UpdateItem",
    "key": {
        "id" : { "S" : "${context.arguments.id}" }
    },
    "update" : {
        "expression" :  "ADD numPosts :incrCount",
        "expressionValues" : {
           ":incrCount" : { "N" : 1 }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:这篇文章假设您的numPosts计数器保留为表中的字段Users