DynamoDB
AWS
Open Source
Stores notifications in Amazon DynamoDB with automatic TTL expiration and on-demand capacity scaling.
Source code: Notiway.Plugins.AWS.Storages.DynamoDb
Compatibility
| Compatible with | All Buffer, Broker, Auth, and Host plugins |
| Product | Notiway Notify |
Installation
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
Infra__Plugins__Storage__Name | Yes | — | Set to DynamoDb |
Infra__Plugins__Storage__Version | Yes | — | Plugin version (e.g., 0.9.0) |
Infra__Plugins__Storage__Config__TableName | Yes | — | Name of the DynamoDB table to store notifications in |
Infra__Plugins__Storage__Config__Region | Yes | — | AWS region where the table is located (e.g., us-east-1) |
AWS credentials are resolved using the default AWS credential chain (environment variables, IAM role, instance profile, etc.).
Infrastructure
- Create a DynamoDB table with the required key schema.
- Enable TTL on the table so expired notifications are cleaned up automatically.
- IAM permissions — the Notiway service needs
dynamodb:PutItem,dynamodb:GetItem,dynamodb:Query,dynamodb:UpdateItem, anddynamodb:DeleteItemon the table.
Docker Compose
docker-compose.yml
services:
notiway:
image: notiway/notify:portable-0.5.0
ports:
- "5000:8080"
environment:
- Infra__Plugins__Storage__Name=DynamoDb
- Infra__Plugins__Storage__Version=0.9.0
- Infra__Plugins__Storage__Config__TableName=notiway-notifications
- Infra__Plugins__Storage__Config__Region=us-east-1
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}