查询 AWS 堆栈资源 AWS CLI

Posted

技术标签:

【中文标题】查询 AWS 堆栈资源 AWS CLI【英文标题】:Query AWS Stack Resource AWS CLI 【发布时间】:2021-05-24 02:48:38 【问题描述】:

我想查询 AWS Stack Resource Aws Cl,以便获取 PhysicalResourceId。

为了描述堆栈和查询它在这篇文章中被反对。

describe the stacks

如果我想描述我的堆栈资源,我使用这个命令

aws cloudformation describe-stack-resource --stack-name banana --logical-resource-id orange

有没有办法从输出中获取 PhysicalResourceId。哪个是Json格式?


    "StackResourceDetail": 
        "StackName": "strawbery",
        "StackId": "arn:aws:cloudformation:us-west-2:0000000000:stack/orange/pinaple",
        "LogicalResourceId": "PotatoInstance",
        "PhysicalResourceId": "i-00000000001",
        "ResourceType": "AWS::EC2::Instance",
        "LastUpdatedTimestamp": "orange",
        "ResourceStatus": "CREATE_COMPLETE",
        "Metadata": "",
        "DriftInformation": 
            "StackResourceDriftStatus": "NOT_CHECKED"
        
    

我认为如果我使用 awk 会有办法,但我不知道如何使用它。

awk

更新:

我需要使用 awk,因为它将在管道中完成,并且管道没有安装 jq。

【问题讨论】:

【参考方案1】:

我们可以使用 AWS --query --query StackResourceDetail.PhysicalResourceId

aws cloudformation describe-stack-resource --stack-name banana --logical-resource-id orange --query StackResourceDetail.PhysicalResourceId

【讨论】:

如果有数组,有没有办法使用查询?我认为标签是一个数组? 你的意思是aws cloudformation describe-stacks --stack-name banana --query 'Stacks[].Tags'describe-stack-resource 没有返回任何正确的标签?

以上是关于查询 AWS 堆栈资源 AWS CLI的主要内容,如果未能解决你的问题,请参考以下文章

AWS CLI 与控制台和 CloudFormation 堆栈

如何使用 AWS CLI 从头开始​​创建堆栈?

将现有 AWS 资源整合到 CloudFormation 堆栈中

使用 AWS CLI 将现有资源导入 CloudFormation

使用AWS CLI将现有资源导入CloudFormation

AWS CloudFormation 创建堆栈与部署