serverless/docs/plugins/aws/awsCompileApigEvents.md

37 lines
1.3 KiB
Markdown

# awsCompileApigEvents
This plugins compiles the functions HTTP endpoint definitions to valid API Gateway CloudFormation resources.
## How it works
`awsCompileApigEvents` hooks into the [`deploy:compileEvents`](/docs/plugins/core/deploy.md) hook.
It loops over all functions which are defined in `serverless.yaml`. For each function that has a `http_endpoints` event
defined, an API Gateway REST API will be created.
Furthermore a lambda permission for the current function is created which makes is possible to invoke the function when
the endpoint is accessed.
Those resources are then merged into the `serverless.service.resources.aws.Resources` section.
## Universal JSON request template
The API Gateway plugin implements a request template which provides `{body, method, headers, query, path, identity,
stageVariables} = event` as JavaScript objects. This way you don't have to define the template on your own but can use
this default template to access the necessary variables in your code.
## Event syntax
To define a HTTP endpoint you need to add a `http_endpoints` event source to the `events` section of the `serverless.yaml`
file:
```yaml
functions:
create:
handler: posts.create
events:
aws:
http_endpoints:
post: posts/create
```