【发布时间】:2025-12-18 19:35:01
【问题描述】:
我有一个打印运行实例的公共 IP 的代码,
regions = ['us-east-1','us-west-1','us-west-2','eu-west-1','sa-east-1','ap-southeast-1','ap-southeast-2','ap-northeast-1']
for region in regions:
client = boto3.client('ec2',aws_access_key_id=ACCESS_KEY,aws_secret_access_key=SECRET_KEY,region_name=region,)
addresses_dict = client.describe_addresses()
for eip_dict in addresses_dict['Addresses']:
if 'PrivateIpAddress' in eip_dict:
print eip_dict['PublicIp']
这很好,现在我也想打印tag name 并将其存储在另一个字典中,我知道我可以这样做:
regions = ['us-east-1','us-west-1','us-west-2','eu-west-1','sa-east-1','ap-southeast-1','ap-southeast-2','ap-northeast-1']
for region in regions:
client = boto3.client('ec2',aws_access_key_id=ACCESS_KEY,aws_secret_access_key=SECRET_KEY,region_name=region,)
dex_dict = client.describe_tags()
for dexy_dict in dex_dict['Tags']:
print dexy_dict['Value']
问题是我如何将它组合到一个函数中并使用 2 个字典:一个用于存储 IP,另一个用于存储标记名?请帮忙
【问题讨论】:
-
您在寻找结构为 {client:[IP, tag_name]} 的字典吗?
-
是的,但我需要能够将这些值传递给另一个 def ,所以请帮助我如何返回
标签: python amazon-ec2 boto3