https://github.com/sid88in/serverless-appsync-plugin
serverless plugin for appsync
https://github.com/sid88in/serverless-appsync-plugin
aws-appsync dynamodb elasticsearch graphql lambda serverless-applications serverless-framework serverless-plugin
Last synced: 2 months ago
JSON representation
serverless plugin for appsync
- Host: GitHub
- URL: https://github.com/sid88in/serverless-appsync-plugin
- Owner: sid88in
- License: mit
- Created: 2017-12-28T09:00:02.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2024-10-17T06:43:39.000Z (about 1 year ago)
- Last Synced: 2025-09-12T08:20:49.639Z (2 months ago)
- Topics: aws-appsync, dynamodb, elasticsearch, graphql, lambda, serverless-applications, serverless-framework, serverless-plugin
- Language: TypeScript
- Size: 2.77 MB
- Stars: 952
- Watchers: 19
- Forks: 189
- Open Issues: 136
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- popular-dependents-lists - sid88in/serverless-appsync-plugin - ๐ 900 (Ramda / sid88in/serverless-appsync-plugin)
README
[](https://github.com/sid88in/serverless-appsync-plugin/actions?query=workflow%3ATests)
[](#contributors-)
Deploy [AppSync](https://aws.amazon.com/appsync) API's in minutes using this [Serverless](https://www.serverless.com/) plugin.
# Minimum requirements
- [Node.js v16 or higher](https://nodejs.org)
- [Serverless v3.0.0 or higher](https://github.com/serverless/serverless)
# Installation
```
npm install serverless-appsync-plugin
```
# Quick start
```yaml
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
- [General config](doc/general-config.md)
- [DataSources](doc/dataSources.md)
- [Resolvers](doc/resolvers.md)
- [Pipeline Functions](doc/pipeline-functions.md)
- [Authentication](doc/authentication.md)
- [API keys](doc/API-keys.md)
- [Custom Domain](doc/custom-domain.md)
- [Variable Substitutions](doc/substitutions.md)
- [Caching](doc/caching.md)
- [Web Application Firewall (WAF)](doc/WAF.md)
# CLI
This plugin adds some useful CLI commands. See [CLI commands documentation](doc/commands.md)
# 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:
```yaml
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](https://github.com/sid88in/serverless-appsync-plugin/tree/v1) of this plugin, [follow this guide](doc/upgrading-from-v1.md)
# Contributing
If you have any questions, issue, feature request, please feel free to [open an issue](/issues/new).
You are also very welcome to open a PR and we will gladly review it.
# Resources
## Tools
- [Mapping Tool](https://mappingtool.dev/): Quickly Build and Debug AppSync & API Gateway Mapping Templates
- [GraphBolt](http://graphbolt.dev/?utm_source=serverless-appsync-plugin&utm_medium=Referral): A professional desktop app solution for building, testing, and debugging AppSync APIs.
- [AppSync Resolver Autocomplete](https://marketplace.visualstudio.com/items?itemName=theBenForce.appsync-resolver-autocomplete): VSCode extension. Autocomplete support for VTL template files.
## Video tutorials
- [Building an AppSync + Serverless Framework Backend | FooBar](https://www.youtube.com/watch?v=eTUYqI_LCQ4)
## Blog tutorial
- _Part 1:_ [Running a scalable & reliable GraphQL endpoint with Serverless](https://serverless.com/blog/running-scalable-reliable-graphql-endpoint-with-serverless/)
- _Part 2:_ [AppSync Backend: AWS Managed GraphQLย Service](https://medium.com/@sid88in/running-a-scalable-reliable-graphql-endpoint-with-serverless-24c3bb5acb43)
- _Part 3:_ [AppSync Frontend: AWS Managed GraphQLย Service](https://hackernoon.com/running-a-scalable-reliable-graphql-endpoint-with-serverless-db16e42dc266)
- _Part 4:_ [Serverless AppSync Plugin: Top 10 New Features](https://medium.com/hackernoon/serverless-appsync-plugin-top-10-new-features-3faaf6789480)
# Contributors โจ
Thanks goes to these wonderful people :clap:

Benoรฎt Bourรฉ
๐ง ๐ป

Siddharth Gupta
๐ป

Nik Graf
๐ป

Charles Killer
๐ป

jpstrikesback
๐ป

ZY
๐ป

Francis Upton IV
๐ป

Ilya Shmygol
๐ป

Maddi Joyce
๐ป

sebflipper
๐ป

Erez Rokah
๐ป

Akshay Kadam (A2K)
๐ป

Anton
๐ป

Burkhard Reffeling
๐ป

Dean Koลกtomaj
๐ป

Vincent Lesierse
๐ป

lulzneko
๐ป

thomas michael wallace
๐ป

Adnene KHALFA
๐ป

Alex Rozn
๐ป

Eric Chan
๐ป

Joseph
๐ป

Miha Erลพen
๐ป

Mike Fogel
๐ป

Philipp Muens
๐ป

Toxuin
๐ป

Scott Rippee
๐ป

Yi Ai
๐ป

markvp
๐ป

Alex
๐ป

Alex Jurkiewicz
๐ป

Anas Qaderi
๐ป

Andreas Heissenberger
๐ป

mickael
๐ป

Brian Torres-Gil
๐ป

Cameron Childress
๐ป

Chris Chiang
๐ป

Esref Durna
๐ป

Hari
๐ป

Ivan Barlog
๐ป

John Veldboom
๐ป

Luca Bigon
๐ป

Lucas
๐ป

Mark Pollmann
๐ป

Maurice Williams
๐ป

Mike Chen
๐ป

asnaseer-resilient
๐ป

Neal Clark
๐ป

Nicky Moelholm
๐ป

Patrick Arminio
๐ป

Paul Li
๐ป

James Lal
๐ป

Sam Gilman
๐ป

Stefan Ceriu
๐ป

tsmith
๐ป

veloware
๐ป

Vladimir Lebedev
๐ป

Ryan Jones
๐ป

Vicary A.
๐ป

Brian Santarelli
๐ค

Emilio Font
๐ป

Andriy Nastyn
๐ป ๐

MarcusJones
๐

h-kishi
๐ป

Dillon Browne
๐ป

Piotr Grzesik
๐ป

Aleksa Cukovic
๐ป

Scott Davey
๐ป

Mateus Holzschuh
๐ป
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!