2017-05-25 3 views
0

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 
+0

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

+1

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

Répondre

0

Saut de Elastic Beanstalk (EB) dans Terraform, Je n'avais pas réalisé qu'EB fournissait deux files d'attente distinctes puis les câbler au nom des administrateurs.

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 les câbler.

Got cet indice en regardant repo open source: https://github.com/Raymondsquared/Terraform/blob/9dfd8574e45cb86b55b6bdb8771d35bea2935440/example.tf#L13