当 DLQ 尚不存在时,如何通过 Terraform 配置 SQS?

pul*_*hal 6 amazon-sqs terraform

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

文件表明,它可能:

resource "aws_sqs_queue" "terraform_queue" {
  # ...
  redrive_policy = "{\"deadLetterTargetArn\":\"${aws_sqs_queue.terraform_queue_deadletter.arn}\",\"maxReceiveCount\":4}"
}
Run Code Online (Sandbox Code Playgroud)

而且我倾向于认为人们在添加文档之前一定已经考虑过并让它工作了。

因此,我正在寻找有关我缺少什么以及我应该怎么做才能绕过这样的合理错误消息的见解:

unknown resource 'aws_sqs_queue.terraform_queue_deadletter'
referenced in variable aws_sqs_queue.terraform_queue_deadletter.arn
Run Code Online (Sandbox Code Playgroud)

pul*_*hal 1

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

我认为队列+DLQ 配置是 SQS 中的原子操作,如果情况并非如此,则错误是有意义的。只需要配置两个队列并将它们连接起来。

在查看开源存储库时得到了这条线索: https://github.com/Raymondsquared/Terraform/blob/9dfd8574e45cb86b55b6bdb8771d35bea2935440/example.tf#L13