SqsQueueProps

class aws_cdk.aws_events_targets.SqsQueueProps(*, dead_letter_queue=None, max_event_age=None, retry_attempts=None, message=None, message_group_id=None)

Bases: TargetBaseProps

Customize the SQS Queue Event Target.

Parameters:
  • dead_letter_queue (Optional[IQueue]) – The SQS queue to be used as deadLetterQueue. Check out the considerations for using a dead-letter queue. The events not successfully delivered are automatically retried for a specified period of time, depending on the retry policy of the target. If an event is not delivered before all retry attempts are exhausted, it will be sent to the dead letter queue. Default: - no dead-letter queue

  • max_event_age (Optional[Duration]) – The maximum age of a request that Lambda sends to a function for processing. Minimum value of 60. Maximum value of 86400. Default: Duration.hours(24)

  • retry_attempts (Union[int, float, None]) – The maximum number of times to retry when the function returns an error. Minimum value of 0. Maximum value of 185. Default: 185

  • message (Optional[RuleTargetInput]) – The message to send to the queue. Must be a valid JSON text passed to the target queue. Default: the entire EventBridge event

  • message_group_id (Optional[str]) – Message Group ID for messages sent to this queue. Required for FIFO queues. For standard queues, this parameter is optional and can be used for SQS fair queue feature and deduplication. Default: - no message group ID

ExampleMetadata:

infused

Example:

# FIFO queue - messageGroupId required
fifo_queue = sqs.Queue(self, "MyFifoQueue",
    fifo=True
)

fifo_rule = events.Rule(self, "FifoRule",
    schedule=events.Schedule.rate(cdk.Duration.hours(1))
)

fifo_rule.add_target(targets.SqsQueue(fifo_queue,
    message_group_id="MyMessageGroupId"
))

# Standard queue - messageGroupId optional (SQS Fair queue feature)
standard_queue = sqs.Queue(self, "MyStandardQueue")

standard_rule = events.Rule(self, "StandardRule",
    schedule=events.Schedule.rate(cdk.Duration.hours(1))
)

standard_rule.add_target(targets.SqsQueue(standard_queue,
    message_group_id="MyMessageGroupId"
))

Attributes

dead_letter_queue

The SQS queue to be used as deadLetterQueue. Check out the considerations for using a dead-letter queue.

The events not successfully delivered are automatically retried for a specified period of time, depending on the retry policy of the target. If an event is not delivered before all retry attempts are exhausted, it will be sent to the dead letter queue.

Default:
  • no dead-letter queue

max_event_age

The maximum age of a request that Lambda sends to a function for processing.

Minimum value of 60. Maximum value of 86400.

Default:

Duration.hours(24)

message

The message to send to the queue.

Must be a valid JSON text passed to the target queue.

Default:

the entire EventBridge event

message_group_id

Message Group ID for messages sent to this queue.

Required for FIFO queues. For standard queues, this parameter is optional and can be used for SQS fair queue feature and deduplication.

Default:
  • no message group ID

retry_attempts

The maximum number of times to retry when the function returns an error.

Minimum value of 0. Maximum value of 185.

Default:

185