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.

demandé il y a 3 mois198 vues
3 réponses
1

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

répondu il y a 3 mois
  • 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
répondu il y a 3 mois
0
Réponse acceptée

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

répondu il y a 3 mois
profile picture
EXPERT
vérifié il y a un mois

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.

Instructions pour répondre aux questions