aws-eventbridge-sqs
Reference Documentation: | https://docs.aws.amazon.com/solutions/latest/constructs/ |
Language | Package |
---|---|
|
|
|
|
|
|
Overview
This AWS Solutions Construct implements an Amazon EventBridge rule and an AWS SQS Queue.
Here is a minimal deployable pattern definition:
Pattern Construct Props
Name | Type | Description |
---|---|---|
existingEventBusInterface? |
Optional user-provided custom EventBus for construct to use. Providing
both this and |
|
eventBusProps? |
Optional user-provided properties to override the default properties
when creating a custom EventBus. Setting this value to |
|
eventRuleProps |
User provided eventRuleProps to override the defaults. |
|
targetProps? |
Optional user provided properties to define the SQS target on the Event Rule. If you specify a deadLetterQueue for the rule here, you are responsible for adding a resource policy to the queue allowing events.amazonaws.com permission to SendMessage, GetQueueUrl and GetQueueAttributes. You cannot send a DLQ in this property and set deployEventRuleDlq to true. Default is undefined and all system defaults are used. |
|
eventRuleDlqKeyProps |
Optional properties to define the key created to protect the ruleDlq. Only valid if deployRuleDlq is set to true. Defaults to CloudFormation defaults. |
|
deployEventRuleDlq? |
boolean |
Whether to deploy a DLQ for the Event
Rule. If set to |
existingQueueObj? |
An optional, existing SQS queue to be used instead of the default
queue. Providing both this and |
|
queueProps? |
User provided props to override the default props for the SQS Queue. |
|
enableQueuePurging? |
|
Whether to grant additional permissions
to the Lambda function enabling it to purge the SQS queue. Defaults to
|
deployDeadLetterQueue? |
|
Whether to create a secondary queue
to be used as a dead letter queue. Defaults to |
deadLetterQueueProps? |
Optional user-provided props to override the default props for the dead
letter queue. Only used if the |
|
maxReceiveCount? |
|
The number of times a message can be
unsuccessfully dequeued before being moved to the dead letter queue.
Defaults to |
enableEncryptionWithCustomerManagedKey? |
|
If no key is provided, this flag determines whether the queue is encrypted with a new CMK or an AWS managed key. This flag is ignored if any of the following are defined: queueProps.encryptionMasterKey, encryptionKey or encryptionKeyProps. |
encryptionKey? |
An optional, imported encryption key to encrypt the SQS Queue with. |
|
encryptionKeyProps? |
Optional user provided properties to override the default properties for the KMS encryption key used to encrypt the SQS queue with. |
Pattern Properties
Name | Type | Description |
---|---|---|
eventBus? |
Returns the instance of events.IEventBus used by the construct |
|
eventsRule |
Returns an instance of events.Rule created by the construct |
|
eventRuleDlq? |
|
If the client sets deployEventRuleDlq to "true", then this value will contain the DLQ set up for the rule. |
eventRuleDlqKey |
The key created to encrypt the eventRuleDlq. |
|
sqsQueue |
Returns an instance of sqs.Queue created by the construct |
|
encryptionKey? |
Returns an instance of kms Key used for the SQS queue. |
|
deadLetterQueue? |
Returns an instance of the dead-letter SQS queue created by the pattern. |
Default settings
Out of the box implementation of the Construct without any override will set the following defaults:
Amazon EventBridge Rule
-
Grant least privilege permissions to EventBridge rule to publish to the SQS Queue.
Amazon SQS Queue
-
Deploy SQS dead-letter queue for the source SQS Queue.
-
Enable server-side encryption for source SQS Queue using Customer managed KMS Key.
-
Enforce encryption of data in transit.
Architecture

Github
Go to the Github repo