Comment une file d'attente SQS peut-elle être configurée pour spécifier une stratégie comme maxReceiveCount
pour sa file d'attente de lettres mortes, lorsque la file d'attente ou la file d'attente de lettres mortes n'existe pas?Comment provisionner SQS via Terraform quand DLQ n'existe pas encore?
Le documentation suggère son possible:
resource "aws_sqs_queue" "terraform_queue" {
# ...
redrive_policy = "{\"deadLetterTargetArn\":\"${aws_sqs_queue.terraform_queue_deadletter.arn}\",\"maxReceiveCount\":4}"
}
Et je suis enclin à penser que les gens doivent avoir donné cette réflexion et obtenu à travailler avant adding dans le docs.
Par conséquent, je suis à la recherche d'idées sur ce que je me manque et ce que je devrais faire pour contourner les messages d'erreur raisonnables comme celui-ci:
unknown resource 'aws_sqs_queue.terraform_queue_deadletter'
referenced in variable aws_sqs_queue.terraform_queue_deadletter.arn
Ahhh Nevermind! En sautant d'Elastic Beanstalk (EB) dans Terraform, je n'avais pas réalisé qu'EB fournissait deux files d'attente séparées puis les câbler au nom des admins. Je pensais que la mise en file d'attente + provisionnement DLQ était une action atomique dans SQS, si ce n'est pas le cas, alors l'erreur est logique. Juste besoin de provisionner deux files d'attente et de les câbler ... a obtenu cette idée tout en regardant repos repos open source: https://github.com/Raymondsquared/Terraform/blob/9dfd8574e45cb86b55b6bdb8771d35bea2935440/example.tf#L13 – pulkitsinghal
Cela vaut probablement la peine de répondre soi-même ceci pour montrer aux autres utilisateurs comment Terraform gère les dépendances entre les ressources. – ydaetskcoR