是否有可能从中监听Dynamo中的db更改?
目标是当DB中发生变化时,自动更新ReactiveNative中的值。
发布于 2022-06-22 04:56:04
扩容支持它,但只有当更改的起源是通过grapql (来自您的其他用户的本地应用程序)进行的,而不是数据库中的更改来自其他人(例如lambda函数)时,才有可能。这是因为在aws中放大的是aws AppSync,它正在推动更改消息。
如果更改的起源来自其他人,则需要手动配置lambda函数,并将其作为一个触发器附加到dynamodb (这可能是通过扩容cli实现的,但我从来没有这样做过,所以我不确定),并使lambda函数发送一个websocket/mqtt消息到您的应用程序。但这需要大量手工编码和配置。
如果来源是您的应用程序的用户,通过graphql,放大为您提供了开箱即用的订阅可能性。我使用角,当使用扩容时,我得到一个名为API.service.ts的文件(不确定是否与react本机相同)。在该文件中,将有一个可观察的调用,例如OnCreateTodoListener
。
您可以使用它来订阅创建事件。或类似于OnUpdateTodoListener
等。
graphql查询如下所示(棱角的类型记录版本):
OnUpdateTodoListener: Observable<
SubscriptionResponse<OnUpdateTodoSubscription>
> = API.graphql({
query:
`subscription OnUpdateTodo {
onUpdateTodo {
__typename
id
}
}`
}
) as Observable<SubscriptionResponse<OnUpdateTodoSubscription>>;
除非您已经手动配置了graphql架构模型以不允许订阅,否则这些列表应该已经可供您使用。
看一看mor详细信息文档
https://stackoverflow.com/questions/72714924
复制相似问题