概要
この記事では、AppSync を外部サーバから叩く際の curlコマンド例を紹介します。
前提条件
- AppSync が用意されていること
- AppSync にカスタムドメインが紐づけられていること
コマンド例
Query
コマンド
curl -s "https://<カスタムドメイン>/graphql" \
-H "Content-Type: application/graphql" \
-H "x-api-key: <APIキー>" \
-d '{ "query": "query MyQuery { getData(id: "id1") { column } }" }'
設定値の説明
- MyQuery:クエリの名称。自由に設定可。
- getData:AppSyncで設定しているクエリの名称。
- id:取得したいデータの主キーの名称。
- id1:取得したいデータの主キーの値。
- column:取得したいデータのカラム名。
AWS CloudShell の場合
- CloudShell を使用する場合は、クエリ内のダブルクォーテーションの前に「\」をつける必要があります。
$ curl -s "https://<カスタムドメイン>/graphql" \
-H "Content-Type: application/graphql" \
-H "x-api-key: <APIキー>" \
-d '{ "query": "query MyQuery { getData(id: \"id1\") { column } }" }'
Mutation
コマンド
$ curl -s "https://<カスタムドメイン>/graphql" \
-H "Content-Type: application/graphql" \
-H "x-api-key: <APIキー>" \
-d '{ "query":"mutation MyMutation($input1: CreateDataInput!)
{ createData(input: $input1) { id column } }",
"variables": { "input1": { "id": "id1", "column": "data" } } }'
設定値の説明
- MyMutation:ミューテーションの名称。自由に設定可。
- CreateDataInput:AppSyncで設定しているミューテーションの名称。
- createData:AppSyncで設定しているミューテーションの名称。
- id:登録したいデータの主キーの名称。
- id1:登録したいデータの主キーの値。
- column:登録したいデータのカラム名。
- data:登録したいデータの値。
下から2行目の{ id column }
は戻り値です。ほしい値を設定してください。
おわりに
自身が試したいと思ったときに Query の例は見つけられても Mutation の例が見つからなかったので今回記事を書きました。
-d '{ "query": " <ここ> " }'
「ここ」と記載した箇所は、基本的に AppSync のコンソール画面の「クエリ」と同じですので、画面上でクエリを作成してから「ここ」の箇所にペーストしてお使いいただければ楽だと思います。