python - 如何使用 python 从 AWS 的多个区域读取值?
问题描述
我需要从 AWS 账户的多个区域获取列表。我可以从单个区域获取列表。问题是从多个地区获取该列表。我需要知道如何for
在连接线中使用循环。
我将 boto3 与 Python 3 一起使用。
region = ['us-east-2','us-east-1']
conn = boto3.resource('ec2', aws_access_key_id=access_key, aws_secret_access_key=secret_key,region_name=region)
instances = conn.instances.filter(Filters=[{'Name': 'instance-state-name', 'Values': ['running', 'stopped']}])
for instance in instances:
instance_count.append(instance)
instanceCount = str(len(instance_count))
print('Instance count ->' + str(len(instance_count)))
我需要知道如何使用for
循环来检查区域变量内的数组?
我希望打印来自两个区域的所有资源。
我收到错误消息:
if region_name in service_data['endpoints']: TypeError: unhashable type: 'list'
解决方案
我不明白你想做什么。
regions = ['us-east-2','us-east-1']
for region in regions:
conn = boto3.resource('ec2', aws_access_key_id=access_key, aws_secret_access_key=secret_key,region_name=region)
instances = conn.instances.filter(Filters=[{'Name': 'instance-state-name', 'Values': ['running', 'stopped']}])
for instance in instances:
instance_count.append(instance)
instanceCount = str(len(instance_count))
print('Instance count ->' + str(len(instance_count)))
为了打印实例的数量,
regions = ['us-east-2','us-east-1']
num = 0
for region in regions:
conn = boto3.resource('ec2', aws_access_key_id=access_key, aws_secret_access_key=secret_key,region_name=region)
instances = conn.instances.filter(Filters=[{'Name': 'instance-state-name', 'Values': ['running', 'stopped']}])
for instance in instances: num += 1
print('Instance count -> {}'.format(num))
推荐阅读
- flutter - 为什么showcaseview在第一次尝试时会抛出错误?
- docker - Kafka Schema Registry 无法注册 Schema - 由于 master 未知,注册模式请求失败
- python - QTextTable 在单元格中插入一行
- java - 使用 Keytool 的 Java HTTPS 服务器
- python - 错误消息说我的目录有语法错误
- python - 如何将线程用于拥抱面变压器
- javascript - 发送 res.status.send() 后 Firebase 调用仍在执行
- java - 来自Android中不同类的setContentView(R.layout.xy)
- javascript - JavaScript `debugger` 关键字是如何工作的?
- bash - 在文本文件的第一行之前插入文件名 - 文件扩展名