Skip to main content

aws

@webda/aws

AWS integration bundle for Webda — DynamoDB Store, S3 Binary, SQS Queue, CloudWatch Logger, Secrets Manager, Lambda server, Route53, and Lambda/CloudFormation deployers in one package.

When to use it​

  • You are deploying a Webda application on AWS (Lambda or EC2/ECS) and need cloud-native backing services.
  • You want to swap out MemoryStore / MemoryQueue / FileBinary with AWS-managed equivalents for production.
  • You need to deploy your application as a Lambda function or manage infrastructure via CloudFormation.

Install​

pnpm add @webda/aws

What's inside​

Runtime services​

  • DynamoStore — DynamoDB-backed Store for any Webda model (source)
  • S3Binary — S3-backed Binary service for file uploads and downloads (source)
  • SQSQueue — SQS-backed Queue for durable task queuing (source)
  • CloudWatchLogger — Streams application logs to CloudWatch Logs (source)
  • SecretsManager — Resolves configuration parameters from AWS Secrets Manager (source)
  • Route53 — DNS record management via Route53 (source)
  • LambdaServer — Adapts incoming Lambda events to Webda's HTTP context (source)
  • LambdaCaller — Invokes other Lambda functions as service calls (source)

Deployers (shell/build-time)​

  • LambdaDeployer — Packages and deploys the application as an AWS Lambda function (source)
  • CloudFormationDeployer — Full infrastructure deployment via AWS CloudFormation (source)
  • LambdaPackager — Bundles the application for Lambda deployment (source)

Quick config example​

{
"services": {
"userStore": {
"type": "DynamoStore",
"model": "MyApp/User",
"table": "my-app-users",
"region": "us-east-1"
},
"uploadBucket": {
"type": "S3Binary",
"bucket": "my-app-uploads",
"region": "us-east-1"
},
"taskQueue": {
"type": "SQSQueue",
"queue": "https://sqs.us-east-1.amazonaws.com/123456789/my-tasks"
}
}
}

Reference​

  • API reference: see the auto-generated typedoc at docs/pages/Modules/aws/.
  • Source: packages/aws
  • Related: @webda/core for Store, Queue, and Binary base classes; @webda/async for job orchestration using SQSQueue.

Classes​

Interfaces​

Type Aliases​

Variables​

Functions​