はじめに
AmpifyシリーズのPart3はAppSyncを利用できるようになるまでを解説していきます。
APIの設定
$amplify add api
から $amplify push
まで。
AmplifyにAPIを追加
まずはおなじみのコマンドから実行し、APIの設定を進めていきます。
$ amplify add api
サービスを選択
今回は、AppSyncを利用したいので、GraphQLを選択します。
? Please select from one of the below mentioned services GraphQL
API名設定
何でもいいですが、管理しやすいプロジェクト名などでいいと思います。
? Provide API name: API名
認証形式
今回は、Cognitoを使った認証設定にしています。特段CRUDの権限を制限しない場合は、API KEYでOKです。(その他の選択肢は未検証)
Cognitoを選択すると、まだAuth設定をしていない場合は、amplify add auth
と同じ操作がここから始まります。
? Choose an authorization type for the API Amazon Cognito User Pool
■参考
AWS Amplify フレームワークの使い方Part1〜Auth設定編〜
スキーマ設定
このあたりのスキーマ設定は後で変更ができる(むしその変更が超絶肝!!)ので、デフォルト連打でOK。
? Do you have an annotated GraphQL schema? No
? Do you want a guided schema creation? Yes
? What best describes your project: Single object with fields (e.g., “Todo” with ID, name, description)
? Do you want to edit the schema now? Yes
スキーマファイルの編集
amplify push
の前に amplify/backend/api/<api名>/schema.graphql
を編集していきます。
push後もある程度の更新、変更は可能ですが、思わぬところでエラーが起きて更新できなかったりするので、ある程度考えた上でpushしましょう。
ただ、テストで試す場合は、そのエラーを知ることも大切ですので、基本的なスキーマ設計をしたら次へ進みましょう。
※スキーマファイルの書き方については別途記事にまとめる予定です。
リソースの作成
そして、push。これで、設定完了です!!
$ amplify push
おわりに
まずは、スキーマのデフォルトで選べるTODOのスキーマなどでお試しで触ってみることをおすすめします。次の記事では、push後の実際の利用方法について記事を書いていきます。
関連記事
AWS amplify フレームワークの使い方Part1〜Auth設定編〜
AWS Amplify フレームワークの使い方Part2〜Auth実践編〜
AWS Amplify フレームワークの使い方Part4〜API実践編〜
AWS Amplify フレームワークの使い方Part5〜GraphQL Transform @model編〜
[AWS Amplify フレームワークの使い方Part6〜GraphQL Transform @auth編〜]
(https://qiita.com/too/items/fae2879ea36f00c3ae10)
[AWS Amplify フレームワークの使い方Part7〜GraphQL Transform @key編〜]
(https://qiita.com/too/items/cb1dfb4f44536a3e9855)
AWS Amplify フレームワークの使い方Part8〜GraphQL Transform @connection編〜
AWS Amplify フレームワークの使い方Part9〜Function 基礎編〜
AWS Amplify フレームワークの使い方Part10〜Storage編〜
AWS Amplify フレームワークの使い方Part11〜Function 権限管理編〜
AWS Amplify フレームワークの使い方Part12〜ENV編〜
[AWS Amplify フレームワークの使い方Part13〜Auth 設定更新編〜]
(https://qiita.com/too/items/52f35860bcb5bdf5e667)
[AWS Amplify フレームワークの使い方Part14〜Lambda レイヤー編〜]
(https://qiita.com/too/items/54de781085bd9a3a66d0)