内容
公式の手順に沿ってAmplifyのDataStore使ってデータ登録してるのに、
ローカルには保存出来てるっぽいが、クラウド側のDynamoDB見ててもデータ全然入ってこない!
コンソール見ててもそれっぽいログ流れてこないし、めっっちゃ悩んだ。
※公式は以下を参照
https://docs.amplify.aws/lib/datastore/getting-started/q/platform/flutter
Todo newTodo = Todo(name: 'HOGE');
try {
await Amplify.DataStore.save(newTodo);
List<Todo> todos = await Amplify.DataStore.query(Todo.classType);
print(todos); // ここでは取得出来ているので、どうやらクラウド側への反映がうまくいってない?
} on DataStoreException catch (e) {
print('Query failed: $e');
}
解決
どうやらクラウド側への反映はgraphqlのAPIを使ってるっぽく、
flutter_apiの設定もしてやる必要があるっぽい。。。
(書いといてくれよぉ。。。)
なのでAPIの設定してやる。
- amplify_apiの追加
pubspec.yaml
amplify_api: ^0.2.0
- Amplify.addPluginの追加
main.dart
await Amplify.addPlugin(AmplifyAPI());
これで完成!
※AmplifyAPIのconfigrationは公式の手順通りやってれば、「amplify add api」のタイミングで自動生成されてる、、、はず。