|Part of the core team for the middy middleware engine for Node.js Lambda functions.||A collection of helpful commands for working with AWS Lambda and related AWS services.|
The project is a collection of tightly integrated tools, including:
- a correlation-ids package for recording correlation IDs.
- a logger package that supports structured logging and would automatically include the current correlation IDs.
- a collection of middy middlewares for extracting correlation IDs from the invocation event, sample logging, logging timeout errors, stopping infinite recursions and obfuscation.
- a collection of client libraries for HTTP, SNS, SQS, Kinesis, Step Functions and Lambda, all of which knows how to forward the current correlation IDs on.
- a wrapper which applies and configures the aforementioned middlewares to your handler.
Serverless Application Repository apps
- lambda-janitor: cron job to delete old, unused versions of all Lambda functions in the region to free up storage space.
- auto-subscribe-log-group-to-arn: subscribes new and existing CloudWatch log groups to a Lambda function, Kinesis stream, or Firehose delivery stream by ARN.
- auto-set-log-group-retention: updates the retention policy for new and existing CloudWatch log groups to a specified number of days to reduce CloudWatch Logs cost.
- async-custom-metrics: lets you record custom metrics by writing to stdout (which is recorded in CloudWatch Logs) which is then parsed and forwarded to CloudWatch metrics as custom metrics.
- propagate-cfn-tags: propagates CloudFormation tags to resources that are not automatically tagged, e.g. CloudWatch log groups.
- autodeploy-layer: automatically deploys a Lambda layer to all new and existing functions in the region. Supports opt-in and opt-out via function tags.
- lambda-invocation-cfn-custom-resource: supports CloudFormation custom resource to invoke a Lambda function during deployment.
- dazn-lambda-powertools: deploys all the packages from DAZN lambda powertools (see above) as one Lambda layer in your account.
- cloudwatch-alarms-macro: deploys a CloudFormation macro that auto-generates CloudWatch Alarms for you based on the resources you have in a CloudFormation template.
Serverless framework plugins
- serverless-step-functions: lets you define Step Functions state machines in the serverless.yml.
- serverless-apigateway-service-proxy: supports AWS service integrations with API Gateway.
- serverless-plugin-extrinsic-functions: gives you the ability to use additional Fn:: functions such as StartsWith, Substring, etc.
- serverless-lumigo: makes it easy to install the Lumigo tracer to your functions.
I have published many demo apps with accompanying blog posts to illustrate techniques for building serverless applications, such as: