Getting Started
Architecture
NServiceBus
Transports
Persistence
ServiceInsight
ServicePulse
ServiceControl
Monitoring
Samples

Outbox (DynamoDB)

NuGet Package: NServiceBus.Persistence.DynamoDB (2.x)
Target Version: NServiceBus 9.x

Configure the Outbox table

The Outbox data table can be configured via:

var outboxConfiguration = endpointConfiguration.EnableOutbox();
outboxConfiguration.UseTable(new TableConfiguration
{
    TableName = "MyOutboxTable",
    PartitionKeyName = "MyOutboxPartitionKey",
    SortKeyName = "MyOutboxSortKey",
    TimeToLiveAttributeName = "MyOutboxTtlAttribute"
});

The Outbox uses time-to-live to ensure cleanup of successfully processed message, therefore, the Outbox table requires a TableConfiguration.TimeToLiveAttributeName value to be set. When installers are enabled, NServiceBus will create the table with the proper time-to-live configuration, otherwise users will need to ensure that the table is properly configured.

Outbox cleanup

When the Outbox successfully processes a message, messages with the same message ID will be ignored (deduplicated) for 7 days by default. To customize the deduplication timespan, use the following API:

var outboxConfiguration = endpointConfiguration.EnableOutbox();
outboxConfiguration.SetTimeToKeepDeduplicationData(TimeSpan.FromDays(14));

Related Articles

  • AWS DynamoDB persistence
    How to use NServiceBus with AWS DynamoDB.
  • Outbox
    Ensure message consistency with the NServiceBus Outbox, handling message deduplication and transactional integrity in distributed systems.