【发布时间】:2019-02-03 09:36:35
【问题描述】:
我的理解是我应该在使用 Boto3 时使用resource :)
以下返回所有键/值对;我将如何获得特定的键值?我正在寻找打印出实例的名称。
ec2 = boto3.resource('ec2')
for instance in ec2.instances.all():
print (instance.tags)
【问题讨论】:
标签: amazon-ec2 boto3
我的理解是我应该在使用 Boto3 时使用resource :)
以下返回所有键/值对;我将如何获得特定的键值?我正在寻找打印出实例的名称。
ec2 = boto3.resource('ec2')
for instance in ec2.instances.all():
print (instance.tags)
【问题讨论】:
标签: amazon-ec2 boto3
您可以使用 boto3 资源或客户端接口。资源接口是更容易(更简单)使用的更高级别。客户端界面位于较低层,您可以进行更细粒度的控制。从使用资源开始,然后随着您更好地了解 Python / boto3 / AWS 开发工具包而切换到客户端。
这是一个打印 Value 值的示例。
要理解的关键部分是instance.tags 是一个 Python dict(字典)数组。您需要遍历此数组以获取每个“Value”。访问字典时,您使用此语法['name_of_item']。
AWS 将标签存储为 Key 和 Value。这些是处理字典时要使用的名称。
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 实例的名称。
if tags['Key'] == 'Name':