Skip to main content

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:

Get started with this example
git clone --filter=blob:none --sparse https://github.com/pulumi/examples pulumi-examples
git -C pulumi-examples sparse-checkout set aws-go-appsync
cd pulumi-examples/aws-go-appsync

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.

Prerequisites#

  1. Install Pulumi
  2. Configure AWS credentials
  3. Install Go

Deploying the example#

  1. Create a new stack, which is an isolated deployment target for this example:

    Terminal window
    pulumi stack init dev
  2. Set the AWS region to deploy into:

    Terminal window
    pulumi config set aws:region us-west-2
  3. Install dependencies:

    Terminal window
    go mod download
  4. Deploy the stack:

    Terminal window
    pulumi up
  5. Check the deployed GraphQL endpoint:

    Terminal window
    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"
    }
    }
    }

Cleaning up#

Once you’re finished experimenting, tear down your stack’s resources by destroying and removing it:

Terminal window
pulumi destroy
pulumi stack rm

Related

The infrastructure as code platform for any cloud.