AWS Amplify x flutter ModelIdentifierが見つからない問題の対応

AWS Amplify x flutter ModelIdentifierが見つからない問題の対応

Type
AWSamplifyflutter
Description
Created time
May 3, 2024 3:27 AM
Last edited time
May 3, 2024 3:29 AM

AmplifyとFlutterを使用して、iOSとAndroidアプリを開発しています。

Cognitoを使ってユーザー認証を実装していましたが、あるタイミングで認証コード確認処理でエラーが発生しました。

結果的にamplify_flutterのバージョンを1.0.1にアップグレードすることで解決しましたが、このアップグレードにより、GraphQL APIで変更があり、それに対応する必要が生じました。

amplify_flutter: ^0.6.12

amplify_flutter: ^1.0.1

具体的には、ModelIdentifierが定義されていない問題です。

アップグレード後、

amplify codegen models

を実行しても、各モデルクラスのModelIdentifierは生成されませんでした。

対応策として、respectPrimaryKeyAttributesOnConnectionFieldのフラグをtrueに設定することで解決しました。

  "respectprimarykeyattributesonconnectionfield": true,

ファイルの場所は、<path-to-your-flutter-project>/amplify/cli.jsonです。

Custom Primary Key機能導入前にAmplifyプロジェクトを作成していたことが原因だと思われます。

🔗https://docs.amplify.aws/cli/reference/feature-flags/#respectPrimaryKeyAttributesOnConnectionField

🔗https://github.com/aws-amplify/amplify-flutter/issues/2929