簡體   English   中英

如何為使用 Terraform 生成的 SQS 隊列獲取死信隊列的 URL?

[英]How to get the URL for a Dead Letter Queue for an SQS queue generated using Terraform?

我可以通過創建如下所示的 Terraform 數據源來獲取 SQS 隊列的 URL,

data "aws_sqs_queue" "my-sqs-queue-name" {
  name = "my-sqs-queue-name"
}

然后將其稱為,

QUEUE_URL = data.aws_sqs_queue.my-sqs-queue-name.url

如何獲取使用上述隊列自動創建的死信隊列的 URL?
我想要類似下面的東西。 有可能嗎?

DEAD_LETTER_QUEUE_URL = data.aws_sqs_queue.my-sqs-queue-name.dead_letter_queue.url

下面是創建死信隊列的代碼,以及如何使用 Terraform 資源屬性和數據源獲取 SQS url。

https://www.terraform.io/docs/providers/aws/r/sqs_queue.html https://www.terraform.io/docs/providers/aws/d/sqs_queue.86741086

resource "aws_sqs_queue" "example" {
  name   = "example"
  policy = data.aws_iam_policy_document.sqs-queue-policy.json
  redrive_policy            = jsonencode({
    deadLetterTargetArn = aws_sqs_queue.example_dlq.arn
    maxReceiveCount     = 5
  })
}

resource "aws_sqs_queue" "example_dlq" {
  name = "example-dlq"
}

data "aws_sqs_queue" "example_dlq {
  name = "example-dlq"
}

output "sqs_url_data_source" {
  value = data.aws_sqs_queue.example_dlq.url
}

output "sqs_url_resource_attribute" {
  value = aws_sqs_queue.example.example_dlq.id
}

Or

DEAD_LETTER_QUEUE_URL = aws_sqs_queue.example.example_dlq.id

DEAD_LETTER_QUEUE_URL = data.aws_sqs_queue.example_dlq.url

我可以通過創建如下所示的 Terraform 數據源來獲取 SQS 隊列的 URL,

data "aws_sqs_queue" "my-sqs-queue-name" {
  name = "my-sqs-queue-name"
}

然后通過將其稱為,

QUEUE_URL = data.aws_sqs_queue.my-sqs-queue-name.url

如何獲取使用上述隊列自動創建的死信隊列的 URL?
我想要類似以下的東西。 甚至有可能嗎?

DEAD_LETTER_QUEUE_URL = data.aws_sqs_queue.my-sqs-queue-name.dead_letter_queue.url

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM