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

时间:2018-08-02 17:20:12

标签: amazon-dynamodb graphql aws-appsync

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

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

1 个答案:

答案 0 :(得分:4)

您是正确的。当前,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流Lambda函数(在步骤1中进行设置)调用AWS AppSync突变(在步骤2中进行设置)。

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