当DLQ还不存在时,如何通过Terraform提供SQS?

时间:2017-05-25 23:58:55

标签: amazon-sqs terraform

当队列和死信队列都不存在时,如何配置SQS队列以为其死信队列指定maxReceiveCount之类的策略?

documentation表示可能:

resource "aws_sqs_queue" "terraform_queue" {
  # ...
  redrive_policy = "{\"deadLetterTargetArn\":\"${aws_sqs_queue.terraform_queue_deadletter.arn}\",\"maxReceiveCount\":4}"
}

我倾向于认为人们必须考虑到这一点并在adding进入docs之前将其付诸实践。

因此,我正在寻找有关我所缺少的内容的见解以及我应该采取哪些措施来解决这样的合理错误消息:

unknown resource 'aws_sqs_queue.terraform_queue_deadletter'
referenced in variable aws_sqs_queue.terraform_queue_deadletter.arn

1 个答案:

答案 0 :(得分:0)

从Elastic Beanstalk(EB)跳转到Terraform,我没有意识到EB正在配置两个独立的队列,然后代表管理员连接它们。

我认为队列+ DLQ配置是SQS中的原子操作,如果不是这种情况那么错误就有意义了。只需要配置两个队列并连接它们。

在查看开源目录时看到了这个线索: https://github.com/Raymondsquared/Terraform/blob/9dfd8574e45cb86b55b6bdb8771d35bea2935440/example.tf#L13