reactjs - Lambda 更改数据时未触发 React Amplify GraphQL 订阅
问题描述
我有一个这样配置的模型:
type MyModel @model
@auth(rules: [
{ allow: owner },
{ allow: private, provider: iam, operations: [read, update] }
])
{
id: ID!
someValue: Int
otherValue: Int
}
以及对该模型的订阅:
const listener = API.graphql(graphqlOperation(onUpdateMyModel, {owner: user.username})).subscribe({
next: (updatedModel) => {
//do something
}
});
我还有一个 lambda,当它被触发时,otherValue
它会通过 graphQL 突变更新模型。但是,这不会触发订阅侦听器。
我已经测试过,当用户更新模型时监听器会接听,这工作得很好,所以我知道订阅一般都在工作。
API 配置了 cognito 用户池作为默认身份验证。
我一定在这里遗漏了一些东西,但我不知道是什么。我如何确保我的听众接收到 Lambda 所做的更改?
解决方案
这不起作用的原因与它是一个更新记录的 lambda 这一事实无关,而是与它用于更新记录的自定义突变有关。
我需要做的就是确保所有字段都由突变返回......这包括自动生成的createdAt
和updatedAt
.
推荐阅读
- amazon-web-services - s3 存储桶创建失败,它在我的本地系统中运行良好
- c# - 大文件上传到 Azure 文件存储失败
- sql-server - Terraform 提供商 Azure - 有没有办法将 customer_managed_key 添加到 SQL 服务器?
- r - 在R中重新排列数据框
- c# - 使用 IronPDF 的 HTML 到 PDF 出现错误“访问路径‘IronPdf.ChromeRenderingEngine.dll’被拒绝。” 在 C# 中
- javascript - 如何将 react/react-dom 从 16.13.1 升级到 15.6.2?
- python - 为什么 SQLAlchemy 在 CAPS 中有数据类型,而有些使用普通大小写?
- linux - Eclipse IDE - Gluon 插件 - 找不到 cc1 - Debian GNU/Linux
- java - 例外:拥有的实体实例不再引用具有 cascade="all-delete-orphan" 的集合
- haskell - 在 IHP 的 Helper 文件中正确导入