Skip to content

sid88in/serverless-appsync-plugin

Repository files navigation

Tests All Contributors

Deploy AppSync API's in minutes using this Serverless plugin.

Minimum requirements

Installation

npm install serverless-appsync-plugin

Quick start

service: my-app

plugins:
  - serverless-appsync-plugin

provider:
  name: aws

appSync:
  name: my-api
  authentication:
    type: API_KEY

  resolvers:
    Query.user:
      dataSource: my-table

  dataSources:
    my-table:
      type: AMAZON_DYNAMODB
      config:
        tableName: ${sls:stage}-data

Configuration

CLI

This plugin adds some useful CLI commands. See CLI commands documentation

Variables

This plugin exports some handy variables that you can use in your yml files to reference some values generated by CloudFormation:

  • ${appsync:id}: The id of the AppSync API
  • ${appsync:url}: The URL of the AppSync API
  • ${appsync:arn}: The ARN of the AppSync API
  • ${appsync:apiKey.[NAME]}: An API key

Example:

provider:
  environment:
    APPSYNC_ID: ${appsync:id}
    APPSYNC_ARN: ${appsync:arn}
    APPSYNC_URL: ${appsync:url}
    APPSYNC_API_KEY: ${appsync:apiKey.myKey}

appSync:
  name: my-api

  authentication:
    type: API_KEY

  apiKeys:
    - name: myKey

Upgrading from v1

To upgrade form v1 of this plugin, follow this guide

Contributing

If you have any questions, issue, feature request, please feel free to open an issue.

You are also very welcome to open a PR and we will gladly review it.

Resources

Tools

  • Mapping Tool: Quickly Build and Debug AppSync & API Gateway Mapping Templates
  • GraphBolt: A professional desktop app solution for building, testing, and debugging AppSync APIs.
  • AppSync Resolver Autocomplete: VSCode extension. Autocomplete support for VTL template files.

Video tutorials

Blog tutorial

Contributors ✨

Thanks goes to these wonderful people 👏

Image
Benoît Bouré

🚧 💻
Image
Siddharth Gupta

💻
Image
Nik Graf

💻
Image
Charles Killer

💻
Image
jpstrikesback

💻
Image
ZY

💻
Image
Francis Upton IV

💻
Image
Ilya Shmygol

💻
Image
Maddi Joyce

💻
Image
sebflipper

💻
Image
Erez Rokah

💻
Image
Akshay Kadam (A2K)

💻
Image
Anton

💻
Image
Burkhard Reffeling

💻
Image
Dean Koštomaj

💻
Image
Vincent Lesierse

💻
Image
lulzneko

💻
Image
thomas michael wallace

💻
Image
Adnene KHALFA

💻
Image
Alex Rozn

💻
Image
Eric Chan

💻
Image
Joseph

💻
Image
Miha Eržen

💻
Image
Mike Fogel

💻
Image
Philipp Muens

💻
Image
Toxuin

💻
Image
Scott Rippee

💻
Image
Yi Ai

💻
Image
markvp

💻
Image
Alex

💻
Image
Alex Jurkiewicz

💻
Image
Anas Qaderi

💻
Image
Andreas Heissenberger

💻
Image
mickael

💻
Image
Brian Torres-Gil

💻
Image
Cameron Childress

💻
Image
Chris Chiang

💻
Image
Esref Durna

💻
Image
Hari

💻
Image
Ivan Barlog

💻
Image
John Veldboom

💻
Image
Luca Bigon

💻
Image
Lucas

💻
Image
Mark Pollmann

💻
Image
Maurice Williams

💻
Image
Mike Chen

💻
Image
asnaseer-resilient

💻
Image
Neal Clark

💻
Image
Nicky Moelholm

💻
Image
Patrick Arminio

💻
Image
Paul Li

💻
Image
James Lal

💻
Image
Sam Gilman

💻
Image
Stefan Ceriu

💻
Image
tsmith

💻
Image
veloware

💻
Image
Vladimir Lebedev

💻
Image
Ryan Jones

💻
Image
Vicary A.

💻
Image
Brian Santarelli

🤔
Image
Emilio Font

💻
Image
Andriy Nastyn

💻 📖
Image
MarcusJones

📖
Image
h-kishi

💻
Image
Dillon Browne

💻
Image
Piotr Grzesik

💻
Image
Aleksa Cukovic

💻
Image
Scott Davey

💻
Image
Mateus Holzschuh

💻

This project follows the all-contributors specification. Contributions of any kind welcome!