我有一个这样配置的模型:
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,当触发时,通过graphQL突变更新模型上的otherValue
。但是,这不会触发订阅侦听器。
我已经测试过,当用户时,侦听器会拾取更新模型,这工作得很好,所以我知道订阅是正常的。
API配置了cognito用户池作为默认授权。
我一定错过了什么,但我不知道是什么。如何确保侦听器拾取Lambda所做的更改?
这不起作用的原因与它是一个lambda更新记录的事实无关,而是与它用于更新记录的自定义突变有关。
我需要做的就是确保所有这些场是由突变返回的…这包括自动生成的createdAt
和updatedAt
。