
AWS Amplify CLIでチュートリアル後に独自にSchemaをさわりたいとき
1週間前までAWSのAの字も知らなかったのですが、ついにAWSに進出したので、AWSを触ってみた感想を残しておきます。
細かなハンズオンは他の方々が素晴らしい形で提供しているので、そちらを参考にしてください。
また、Reactの方に関しては、公式チュートリアルをぜひ試してみてください。
1.触ってみた感想
AWSは以前は非常に難しい印象がありましたが、比較的簡単にAmplify、AppSync、DynamoDBを活用してGraphQLを使うまでのレベルまで進むことができました。
Amplify CLIのチュートリアルを試してみましたが、自分独自のスキーマをカスタマイズしたいというニーズは当然あると思います。
しかし、そのような情報はあまり提供されておらず、少し困った経験がありました。
そのため、ここにカスタマイズ方法を記しておきたいと思います。
● 自分でSchema追加する場合どうするの?
● 自動で生成されたAPI.tsとかmutations.tsとかどうやって更新するの?
2.登場人物
登場人物は、大まかに以下の通りです。
// おおもとのSchemaファイル
├── amplify
├── api
├── amplifyreactappsync
└── schema.graphql
// Amplify CLIでSchemaから最適なqueryやmutationsファイルがgraphqlディレクトリに自動生成されています
├── graphql
├── mutations.ts
├── queries.ts
├── schema.json
└── subscriptions.ts
// mutations.tsやqueris.tsで使用されている型定義ファイル
├── API.ts
3.やったこと
やったことは単純です。
AppSyncを使用するため、すべてはSchemaベースになります。そのため、Schemaに修正を加えました。
①AppSyncのコンソールでスキーマを更新または追加します。
②amplify codegenコマンドを実行すると、スキーマに適応したAPI.tsやGraphQL関連のファイル(queries.ts、mutations.tsなど)が自動的に生成され、上書きされます。
以上で独自にスキーマを修正することができるようになりました。
それでは。