MDAA TS Docs
    Preparing search index...

    SQS queue configuration for buffering and decoupling Lambda producers from consumers.

    Each queue is encrypted with the project KMS key, denies non-SSL access, and is created with a redrive dead letter queue. Queue name, ARN, and URL are published as SSM parameters so other modules can reference the queue.

    Use cases: Ingestion buffering; Producer/consumer decoupling; Backpressure; Message-level retry

    AWS: SQS queue with CMK encryption and a redrive dead letter queue

    Validation: Optional properties only; visibilityTimeoutSeconds must be at least the timeout of every function consuming the queue as an event source

    interface SqsQueueProps {
        contentBasedDeduplication?: boolean;
        deliveryDelaySeconds?: number;
        dlq?: QueueDlqProps;
        fifo?: boolean;
        maxMessageSizeBytes?: number;
        receiveMessageWaitTimeSeconds?: number;
        retentionPeriodSeconds?: number;
        visibilityTimeoutSeconds?: number;
    }
    Index

    Properties

    contentBasedDeduplication?: boolean

    Whether to deduplicate messages by content instead of requiring an explicit deduplication ID on each send. Only applies to FIFO queues, and implies fifo.

    false
    
    deliveryDelaySeconds?: number

    Seconds to delay delivery of every message sent to the queue.

    0 seconds, as applied by SQS
    

    Redrive configuration for the dead letter queue created alongside this queue. A dead letter queue is always created, so that queues satisfy the AwsSolutions-SQS3 rule without a per-deployment suppression.

    - a dead letter queue with a maxReceiveCount of 5
    
    fifo?: boolean

    Whether this is a first-in-first-out (FIFO) queue. The '.fifo' suffix SQS requires is appended to the generated queue name automatically and must not be included in the queue key.

    false
    
    maxMessageSizeBytes?: number

    Maximum size in bytes of a single message.

    262144 bytes (256 KiB), as applied by SQS
    
    receiveMessageWaitTimeSeconds?: number

    Seconds a receive call waits for a message to arrive before returning empty (long polling).

    0 seconds, as applied by SQS
    
    retentionPeriodSeconds?: number

    Seconds a message is retained before SQS discards it.

    345600 seconds (4 days), as applied by SQS
    
    visibilityTimeoutSeconds?: number

    Seconds a message stays invisible to other consumers after being received. Must be at least the timeout of every function consuming this queue as an event source, otherwise Lambda rejects the event source mapping. AWS recommends six times the function timeout.

    30 seconds, as applied by SQS