GraphQL Endpoint in AWS AppSync (in Go)
defining an AWS AppSync endpoint from Pulumi in Golang
This example lives in the pulumi/examples repository. Check out just this directory to use it:
git clone --filter=blob:none --sparse https://github.com/pulumi/examples pulumi-examplesgit -C pulumi-examples sparse-checkout set aws-go-appsynccd pulumi-examples/aws-go-appsyncThis 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.
Deploying the App#
To deploy your infrastructure, follow the below steps.
Prerequisites#
Steps#
After cloning this repo, from this working directory, run these commands:
-
Create a new Pulumi stack, which is an isolated deployment target for this example:
Terminal window pulumi stack init dev -
Set the required configuration variables for this program (AWS Region):
Terminal window pulumi config set aws:region us-west-2 -
Run
pulumi upup to preview and deploy changes:Terminal window pulumi upPreviewing update (dev):...Updating (dev):...Resources:+ 10 createdDuration: 20s -
Check the deployed GraphQL endpoint:
Terminal window pulumi stack output endpointhttps://***.appsync-api.us-west-2.amazonaws.com/graphqlpulumi 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"}}}
Clean up#
-
Run
pulumi destroyto 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.