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/FileBinarywith 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/corefor Store, Queue, and Binary base classes;@webda/asyncfor job orchestration using SQSQueue.
Classes
- AWSCommands
- AWSDeployer
- AWSDeployerParameters
- AWSSecretsManager
- AWSSecretsManagerParameters
- CloudFormationDeployer
- CloudFormationDeployerParameters
- CloudWatchLogger
- CloudWatchLoggerParameters
- DynamoRepository
- DynamoStore
- DynamoStoreParameters
- LambdaCaller
- LambdaCallerParameters
- LambdaPackager
- LambdaPackagerParameters
- LambdaServer
- LambdaServerParameters
- Route53Service
- S3Binary
- S3BinaryParameters
- SQSQueue
- SQSQueueParameters
Interfaces
- AWSEventsHandler
- AWSServiceParameters
- CloudFormationContributor
- CloudFormationDeployerInfo
- DynamoFindResult
- DynamoGlobalIndexes
- IAMPolicyContributor
- LambdaAsyncJobEvent
- LambdaCommandEvent
- LambdaPackageOptions
- LambdaPackageResult
- LambdaServerResult
- ZipEntry