xxy*_*yxx 2 amazon-sqs amazon-web-services aws-cloudformation
我有一个包含 FIFO 队列及其关联的死信队列的 cloudformation 堆栈。以前这不是一个 FIFO 队列,并且部署得很好,首先建立了死信队列依赖关系,然后是“源队列”。切换到 FIFO 后就不再起作用了。我收到此错误:
"Template error: SQSQueue https://sqs.us-east-1.amazonaws.com/1234/dev-assignments-dlq doesn't exist",
Run Code Online (Sandbox Code Playgroud)
所以看起来死信队列不再是首先创建的。
AWSTemplateFormatVersion: "2010-09-09"
Resources:
SourceQueue:
Type: AWS::SQS::Queue
Properties:
FifoQueue: true
QueueName: 'dev-push-notifications.fifo'
RedrivePolicy:
deadLetterTargetArn:
Fn::GetAtt:
- 'DeadLetterQueue'
- 'Arn'
maxReceiveCount: 5
VisibilityTimeout: 30
DeadLetterQueue:
Type: AWS::SQS::Queue
Properties:
QueueName: 'dev-push-notifications-dlq'
Run Code Online (Sandbox Code Playgroud)
事实证明,死信队列必须与其源具有相同的类型。
将 cloudformation 堆栈更改为此有效:
AWSTemplateFormatVersion: "2010-09-09"
Resources:
SourceQueue:
Type: AWS::SQS::Queue
Properties:
FifoQueue: true
QueueName: 'dev-push-notifications.fifo'
RedrivePolicy:
deadLetterTargetArn:
Fn::GetAtt:
- 'DeadLetterQueue'
- 'Arn'
maxReceiveCount: 5
VisibilityTimeout: 30
DeadLetterQueue:
Type: AWS::SQS::Queue
Properties:
FifoQueue: true
QueueName: 'dev-push-notifications-dlq.fifo'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2908 次 |
| 最近记录: |