Amazon cloudformation 从CloudFormation中的现有队列ARN获取SQS队列名称

Amazon cloudformation 从CloudFormation中的现有队列ARN获取SQS队列名称,amazon-cloudformation,amazon-sqs,Amazon Cloudformation,Amazon Sqs,我有一个SQS队列ARN作为CloudFormation模板的输入,如何引用队列ARN中的队列名称或URL 换句话说,我如何从ARN获取CloudFormation逻辑队列?(这样我就可以使用GetAtt引用所有属性)假设您不能从创建队列的任何地方传入名称,那么您就可以从ARN获取队列名称。使用Fn::Split在冒号上拆分arn。然后使用Fn::Select选择列表中的最后一个字符串。这大概是 { "Fn::Select" : [ "5", { "Fn::Split": [":", {"Fn:

我有一个SQS队列ARN作为CloudFormation模板的输入,如何引用队列ARN中的队列名称或URL


换句话说,我如何从ARN获取CloudFormation逻辑队列?(这样我就可以使用GetAtt引用所有属性)

假设您不能从创建队列的任何地方传入名称,那么您就可以从ARN获取队列名称。使用Fn::Split在冒号上拆分arn。然后使用Fn::Select选择列表中的最后一个字符串。这大概是

{ "Fn::Select" : [ "5", { "Fn::Split": [":", {"Fn::Sub": "QueueArn"}]}] }

有关可以使用的函数的完整列表,请参阅。

队列是如何创建的?你能在创建它时从cloudformation导出它的名称,然后在你的另一个模板@TheClassic中引用它吗?比方说我不拥有队列,我只得到了队列ARN。这一方法现在有效,但我看到了多条建议,不要依赖队列ARNformat@Abhishek对于其他有同样问题的人,如果你能总结一下其他的建议就好了。此外,队列arn的格式是众所周知的,并且是固定的,因此,如果您选择这样做,使用它是安全的。