【问题标题】:How to find if SQS queue was created manually or using CF template?如何查找 SQS 队列是手动创建的还是使用 CF 模板创建的?
【发布时间】:2017-06-04 13:49:40
【问题描述】:

我尝试了以下方法,但它没有给我任何 CF 模板 ID 或任何允许我找到的描述。

示例:

aws sqs get-queue-attributes --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --attribute-names All*

输出:

{
  "Attributes": {
    "ApproximateNumberOfMessagesNotVisible": "0",
    "RedrivePolicy": "{\"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:80398EXAMPLE:MyDeadLetterQueue\",\"maxReceiveCount\":1000}",
    "MessageRetentionPeriod": "345600",
    "ApproximateNumberOfMessagesDelayed": "0",

 "MaximumMessageSize": "262144",
    "CreatedTimestamp": "1442426968",
    "ApproximateNumberOfMessages": "0",
    "ReceiveMessageWaitTimeSeconds": "0",
    "DelaySeconds": "0",
    "VisibilityTimeout": "30",
    "LastModifiedTimestamp": "1442426968",
    "QueueArn": "arn:aws:sqs:us-east-1:80398EXAMPLE:MyNewQueue"
  }
}

【问题讨论】:

    标签: python amazon-web-services aws-cli amazon-cloudformation


    【解决方案1】:

    可以通过将队列 URL(即 Physical ID of an AWS::SQS::Queue Resource)作为 PhysicalResourceId 参数传递给 DescribeStackResources 来确定 SQS 队列是否是 CloudFormation 堆栈的一部分。

    使用 AWS CLI describe-stack-resources 命令,您需要使用 --cli-input-json [json_file] 传递参数,因为当直接提供时,--physical-resource-id 参数将尝试解析队列 URL。

    例子:

    aws cloudformation describe-stack-resources --cli-input-json '{"PhysicalResourceId": "https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue"}'
    

    如果队列是堆栈的一部分,则将返回堆栈资源列表。如果不是,则将返回 ValidationError

    【讨论】:

      猜你喜欢
      • 2018-02-13
      • 1970-01-01
      • 2016-08-18
      • 2017-09-14
      • 2021-11-13
      • 2019-12-02
      • 1970-01-01
      • 1970-01-01
      • 2020-04-20
      相关资源
      最近更新 更多