amazon-web-services - 无法在同一 cloudformation 堆栈中创建具有死信队列的 FIFO 队列
问题描述
我有一个包含 FIFO 队列及其相关死信队列的 cloudformation 堆栈。以前这不是 FIFO 队列,它部署得很好,首先建立了死信队列依赖,然后是“源队列”。将其切换到 FIFO 后,它不再起作用。我收到此错误:
"Template error: SQSQueue https://sqs.us-east-1.amazonaws.com/1234/dev-assignments-dlq doesn't exist",
因此,似乎不再首先创建死信队列。
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'
解决方案
事实证明,死信队列必须与其源的类型相同。
将 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'
推荐阅读
- outlook - Microsoft Flow 将 Outlook 附件添加到 VSTS 工作项
- arcore - 如何为检测到平面时插入的 TransformableNodes 注册转换更改处理程序?
- c# - 每个 IMessageConsumer 或 IMessageProducer 是否应该有自己的 ISession?
- java - 从片段发送意图
- java - Thymeleaf 3 Spring 5 映射加载字符串而不是 HTML
- typescript - 如何使用通用组件与打字稿反应本机
- r - 如何计算rollapply中几列和一列之间的滚动相关性?
- ruby-on-rails - 在 rspec capybara 中找不到“分配”方法
- page-load-time - Boomcatch 错误转发器失败
- email - 邮件使用vesta面板进入垃圾邮件(gmail)