【问题标题】:List Tag Value - EC2 Boto3列出标签值 - EC2 Boto3
【发布时间】:2019-02-03 09:36:35
【问题描述】:

我的理解是我应该在使用 Boto3 时使用resource :)

以下返回所有键/值对;我将如何获得特定的键值?我正在寻找打印出实例的名称。

ec2 = boto3.resource('ec2')
for instance in ec2.instances.all():
    print (instance.tags)

【问题讨论】:

    标签: amazon-ec2 boto3


    【解决方案1】:

    您可以使用 boto3 资源或客户端接口。资源接口是更容易(更简单)使用的更高级别。客户端界面位于较低层,您可以进行更细粒度的控制。从使用资源开始,然后随着您更好地了解 Python / boto3 / AWS 开发工具包而切换到客户端。

    这是一个打印 Value 值的示例。

    要理解的关键部分是instance.tags 是一个 Python dict(字典)数组。您需要遍历此数组以获取每个“Value”。访问字典时,您使用此语法['name_of_item']

    AWS 将标签存储为 KeyValue。这些是处理字典时要使用的名称。

    import boto3
    
    ec2 = boto3.resource('ec2')
    
    for instance in ec2.instances.all():
            print (instance.tags)
            for tag in instance.tags:
                    print(tag['Value'])
    

    【讨论】:

    • 我不明白你的评论。
    • 仍然卡住;不理解某事或接近这个错误。我只想要 {'Key': 'Name', 'Value: '*'} 或所有 EC2 实例的名称。
    • 你毁了我的代码吗?它输出了你的标签吗?我建议花一些时间了解代码的作用以及 Python 的工作原理。
    • 您的代码很有帮助。有人向我展示了他们的做法。他们创建了一个 instance.id(s) 列表,然后遍历实例 ID。类似于你的循环标签然后他们,if tags['Key'] == 'Name':
    • 您问题的标题是“List Tag Value - EC2 Boto3”。
    猜你喜欢
    • 2018-06-12
    • 2019-04-04
    • 2021-04-27
    • 1970-01-01
    • 1970-01-01
    • 2021-02-24
    • 1970-01-01
    • 2019-07-02
    • 2019-09-18
    相关资源
    最近更新 更多