現在、AWS AppSync はミューテーションのみをサブスクライブできます。これがリアルタイムの更新を取得する唯一の方法です。しかし、AppSync の外部でバッキング データに変更が加えられた場合 (Lambda 関数からの DynamoDB の更新など)、どうすればクライアントに通知できるのでしょうか?
私が見ることができる唯一の解決策は、「ローカル」リゾルバーでミューテーションを作成し、DynamoDB を更新する Lambda にこのミューテーションを呼び出すことです。しかし、私の問題は、私の場合はCognitoに設定されているAppSync認証です。
Lambda ロールでIAM アクセスを許可しようとしappsync:GraphQL
ましたが、AppSync の認証タイプを Cognito から IAM に変更するまで機能しませんでした。しかしもちろん、Cognito 認証は Web クライアントでは機能しません。
Lambda 関数は、Cognito を介してユーザー名とパスワードで認証し、ミューテーションを起動できるようにする必要がありますか? または、Lambda からクライアントに通知する別の方法はありますか?