Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

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: 14 days ago
JSON representation

serverless plugin for appsync

Lists

README

        

[![Tests](https://github.com/sid88in/serverless-appsync-plugin/workflows/Tests/badge.svg)](https://github.com/sid88in/serverless-appsync-plugin/actions?query=workflow%3ATests)
[![All Contributors](https://img.shields.io/badge/all_contributors-69-orange.svg?style=flat-square)](#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!