This example shows how to setup a basic GraphQL endpoint in AWS AppSync. The endpoint contains one query and one mutation that get and put items to a Dynamo DB table.
-
Create a new stack:
$ pulumi stack init dev
-
Set the AWS region:
$ pulumi config set aws:region us-east-2
-
Create a Python virtualenv, activate it, and install dependencies:
This installs the dependent packages needed for our Pulumi program.
$ python3 -m venv venv $ source venv/bin/activate $ pip3 install -r requirements.txt
-
Run
pulumi up
to preview and deploy changes:$ pulumi up Previewing update (dev): ... Updating (dev): ... Resources: + 10 created Duration: 20s
-
Check the deployed GraphQL endpoint:
$ pulumi stack output endpoint https://***.appsync-api.us-east-2.amazonaws.com/graphql $ pulumi stack output key ***sensitivekey*** $ curl -XPOST -H "Content-Type:application/graphql" -H "x-api-key:$(pulumi stack output key)" -d '{ "query": "mutation AddTenant { addTenant(id: \"123\", name: \"FirstCorp\") { id name } }" }' "$(pulumi stack output endpoint)" { "data": { "addTenant": { "id": "123", "name": "FirstCorp" } } }
-
Run
pulumi destroy
to tear down all resources. -
To delete the stack itself, run
pulumi stack rm
. Note that this command deletes all deployment history from the Pulumi Console.