Skip to main content

/ipa-stack-queue

Queue tier stack: SQS queue with dead-letter queue, worker Lambda, Event Source Mapping, and optional DynamoDB table.

Stack Identity​

PropertyValue
Stack name{APP_NAMESPACE}-{APP_ENV}-queue
Templateinfra/cfn/queue/queue.yml
CapabilitiesCAPABILITY_NAMED_IAM
Lifecycledeploy

Parameters​

Wirable Parameters​

ParameterSourceRequired
ImageUriecr.RepositoryUriYes
AuthIssuercognito.IssuerUrlYes
AuthAudiencecognito.UserPoolClientIdYes

Configurable Parameters​

ParameterDefaultDescription
QueueNamejobsSQS queue name suffix
VisibilityTimeout30Message visibility timeout in seconds
MessageRetentionPeriod345600Message retention in seconds (4 days)
MaxReceiveCount3Max receives before sending to DLQ
CreateDLQtrueWhether to create a dead-letter queue
FunctionName{namespace}-{env}-workerWorker Lambda function name
MemorySize512Worker Lambda memory in MB
Timeout30Worker Lambda timeout in seconds
ImageCommand(template default)Container image command override

Feature Flags​

FlagDefaultEffect
EnableJobsTablefalseCreates a DynamoDB Jobs table for tracking queue processing

Outputs​

OutputDescription
QueueUrlSQS queue URL
QueueArnSQS queue ARN
QueueNameSQS queue name
WorkerFunctionArnWorker Lambda function ARN
WorkerFunctionNameWorker Lambda function name
DlqUrlDead-letter queue URL (when CreateDLQ is true)
DlqArnDead-letter queue ARN (when CreateDLQ is true)
JobsTableArnDynamoDB Jobs table ARN (when EnableJobsTable is true)

Deploy Order​

Queue deploys before Backend when both stacks are in the same pattern. This ensures the Queue URL and ARN are available for Backend's SQS integration wiring.

Local Development​

After deployment, the update-env-sqs Make target writes SQS_QUEUE_URL to .env for local development use.

Wiring​

The Queue stack provides outputs consumed by Backend:

ConsumerParameters Wired
BackendSqsQueueUrl ← QueueUrl, SqsSendQueueArns ← QueueArn (when EnableSqsIntegration is true)