AI agents: use the documentation index at llms.txt to locate machine-readable pages. This section is indexed by https://docs.particular.net/persistence/llms.txt. The markdown version of this page is served as plain text. An MCP server at /mcp serves the same content via the search_docs and read_doc tools; it is read-only and needs no credentials. Markdown versions of documentation pages are available by appending .md to the page URL. Directory URLs use index.md. They are served as text/plain because some retrieval backends reject text/markdown.

Outbox with DynamoDB persistence

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 clean up records of successfully processed messages, so the Outbox table requires a TableConfiguration.TimeToLiveAttributeName value. When installers are enabled, NServiceBus creates the table with the correct time-to-live configuration. Otherwise, the table must be created and configured before the endpoint starts.

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));

For the read and write capacity the Outbox consumes per message, see capacity planning.

Related Articles

  • AWS DynamoDB persistence
    How to use NServiceBus with AWS DynamoDB.
  • Outbox
    Use the NServiceBus Outbox pattern to ensure message consistency and prevent duplicate message processing in distributed systems.