amazon-dynamodb - 如何直接订阅我的 AWS AppSync 数据源?

标签 amazon-dynamodb graphql aws-appsync

我有一个连接到步骤函数的 DynamoDB,我正在构建一个 UI 来显示更改。我将数据库连接到 AppSync 实例并尝试通过 AppSync 使用订阅,但似乎他们只观察到当前 AppSync 中的突变。

如何直接订阅数据源更改?

最佳答案

你是对的。目前,AppSync 订阅仅从 GraphQL 突变触发。如果从 AppSync 以外的来源对 DynamoDB 进行了更改,则不会触发订阅。

如果要跟踪对 DynamoDB 表所做的所有更改并使用 AppSync 发布它们,您可以执行以下操作:

1) 设置 DynamoDB 流以捕获更改并将更改提供给 AWS Lambda

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.html
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.Lambda.html

2) 使用本地(无数据源)解析器设置 AppSync 突变。您可以使用它向订阅者发布消息,而无需写入数据源。

https://docs.aws.amazon.com/appsync/latest/devguide/tutorial-local-resolvers.html

3) 使 DynamoDB Stream Lambda 函数(在步骤 1 中设置)调用 AWS AppSync 突变(在步骤 2 中设置)。

这将允许将对 DynamoDB 表所做的所有更改发布给 AppSync 订阅者,无论更改来自何处。

关于amazon-dynamodb - 如何直接订阅我的 AWS AppSync 数据源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51659099/

相关文章:

javascript - Gatsby WordPress Source - 灵活的内容布局在不使用时被 graphql 忽略

java - DynamoDBMapper 仅在对象不存在时保存

python - 如何在同一个主键下创建多个 DynamoDB 条目?

amazon-web-services - Serverless.yml DynamoDB 错误 ValidationException : Provided list of item keys contains duplicates

go - 由于缺少模块的 go.sum 条目,无法运行 gqlgen 生成

java - 模式不接受 map 的 GraphQL Java 自定义标量类型

ios - 在 AppSync 中获取 "Software caused connection abort"

android - Kotlin中的AWS Drop-In Auth变成空白

cookies - 应用同步 : How set header in response?

docker - serverless.yml 未在本地创建 dynamodb 表