Skip to content

Commit 54a785a

Browse files
committed
Set up sqs queue and dlq
1 parent 369cb1f commit 54a785a

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

cdk/quiz_app/quiz_app_stack.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@
66
from aws_cdk import (
77
# Duration,
88
Stack,
9-
aws_sqs as sqs,
10-
aws_dynamodb as dynamodb,
119
aws_apigateway as apigateway,
10+
aws_dynamodb as dynamodb,
1211
aws_iam as iam,
1312
aws_lambda as _lambda,
13+
aws_sns as sns,
14+
aws_sqs as sqs,
1415
CfnOutput as Output,
1516
)
1617
from constructs import Construct
@@ -61,8 +62,15 @@ def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None:
6162
write_capacity=5,
6263
)
6364

65+
dlq_submission_queue = sqs.Queue(self, "QuizSubmissionQueue")
6466
submission_queue = sqs.Queue(
65-
self, "QuizSubmissionQueue", queue_name="QuizSubmissionQueue"
67+
self,
68+
"QuizSubmissionQueue",
69+
queue_name="QuizSubmissionQueue",
70+
dead_letter_queue=sqs.DeadLetterQueue(
71+
max_receive_count=1, queue=dlq_submission_queue
72+
),
73+
visibility_timeout=aws_cdk.Duration.seconds(10),
6674
)
6775
functions_and_roles = [
6876
(
@@ -176,6 +184,10 @@ def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None:
176184
)
177185
resource.add_method(http_method, integration=integration)
178186

187+
# SQS DLQ -> EventBridge Pipes -> SNS
188+
dlq_alarm_topic = sns.Topic(self, "DLQAlarmTopic")
189+
190+
179191
@staticmethod
180192
def read_policy_file(file_path: str) -> dict:
181193
"""Reads a JSON policy file and returns it as a dictionary."""

0 commit comments

Comments
 (0)