The AWS CLI for AppSync has a lovely array of functions to manage it remotely from the command line of my workstation such that mostly I do not have to use the browser console.
But to do a query I have to go into the web browser console and find GraphQl queries under AppSync. I can change all manner of things via the CLI, but I can't find a command that simply issues a graphql query.
Have I missed it? Is it there?
I don't want to look at this screen anymore...
graphql-python/gql supports AWS AppSync since version 3.0.0rc0.
It supports queries, mutation and even subscriptions on the realtime endpoint.
It supports IAM, api key and JWT authentication methods.
And it has a gql-cli script which allows you to execute queries, mutations and subscriptions from the command line.
The documentation is available here
For queries and mutations, use the --transport appsync_http
argument:
# Put the request in a file
$ echo 'mutation createMessage($message: String!) {
createMessage(input: {message: $message}) {
id
message
createdAt
}
}' > mutation.graphql
# Execute the request using gql-cli with --transport appsync_http
$ cat mutation.graphql | gql-cli $AWS_GRAPHQL_API_ENDPOINT --transport appsync_http -V message:"Hello world!"
For subscriptions, use the --transport appsync_websockets
argument:
echo "subscription{onCreateMessage{message}}" | gql-cli $AWS_GRAPHQL_API_ENDPOINT --transport appsync_websockets