AppSync Subscription doesn't work when deployed through CloudFormation

0

This may sound weird, but when I deploy my AppSync stack through CloudFormation (using Serverless Framework), stack deploys successfully but on running subscription (enhanced filtering), it doesn't trigger even though mutations are called. I noticed something, when I deploy subscriptions manually through the console or just update the schema from the console without modifying anything, the subscription runs fine as expected.

已提问 3 个月前196 查看次数
3 回答
1

I'm facing the same issue, watch this video: https://youtu.be/bkWkMAch6cw

已回答 3 个月前
  • The same is happening to me too, after deploying just adding a space to the schema in console will make it working. Surprisingly, when I redeploy (2nd time with the same configuration no change) somehow it works.

1

Actually, Whether creating appsync through the console or CloudFormat, it is essentially the same. Both of these methods rely on calling the corresponding API at the bottom, such as CreateGraphqlApi[1], and you can see the corresponding events in your cloudtrail. The only difference between the two is that the parameters specified during creation are different. Cloudformation needs to specify more parameters by itself, which may be the reason why the two appsyncs perform differently.

You can search for CreatGraphqlApi based on event name in your cloudtrail[2] console, event history to compare the difference of these[3].

[1]https://docs.aws.amazon.com/appsync/latest/APIReference/API_CreateGraphqlApi.html
[2]https://docs.aws.amazon.com/zh_cn/appsync/latest/devguide/cloudtrail-logging.html
[3]https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html

profile picture
已回答 3 个月前
0
已接受的回答

I have found the issue, it was due to adding default arguments in the schema.

Apparently, AppSync doesn't formally support default arguments, so whenever I used to deploy using CloudFormation the schema with default argument was uploaded (although it cant be seen from console). And on updating console manually, AppSync would take care of default arguments internally.

Removing the default argument worked for me

已回答 3 个月前
profile picture
专家
已审核 1 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则