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 withAll Buffer, Broker, Auth, and Host plugins
ProductNotiway Notify

Installation

Environment Variables

VariableRequiredDefaultDescription
Infra__Plugins__Storage__NameYesSet to DynamoDb
Infra__Plugins__Storage__VersionYesPlugin version (e.g., 0.9.0)
Infra__Plugins__Storage__Config__TableNameYesName of the DynamoDB table to store notifications in
Infra__Plugins__Storage__Config__RegionYesAWS 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

  1. Create a DynamoDB table with the required key schema.
  2. Enable TTL on the table so expired notifications are cleaned up automatically.
  3. IAM permissions — the Notiway service needs dynamodb:PutItem, dynamodb:GetItem, dynamodb:Query, dynamodb:UpdateItem, and dynamodb:DeleteItem on 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}