我开始使用python和boto3编写lambda函数,
我设法在每个地区分别工作,但我不知道如何能够在几个地区一起工作。
我就是这样宣布我的委托人的:
region= 'ap-southeast-2'
ec2 = boto3.client('ec2', region_name=region)如果我不给它一个区域,它将运行在您创建lambda函数的区域上,这是我不想要的。
以前有人做过吗?
发布于 2018-12-30 17:22:46
如果您不给它一个区域,它将使用您的Lambda函数正在运行的区域。
如果您想通过Boto3在多个区域中进行API调用,则必须为每个区域创建一个客户端对象,并对每个区域进行单独的API调用。
发布于 2019-12-12 10:18:12
在这里,我列出了跨多个区域可用的所有实例。
你可以做这样的事,
1.列出所有可用的区域.
client = boto3.client('ec2')
def get_all_regions():
all_regions = [ region['RegionName'] for region
inclient.describe_regions['Regions']]
return all_regions
regions_arr = []
regions = get_all_regions()2.将结果附加到python
for each_reg in regions:
regions_arr.append(each_reg)3.循环遍历python中的每个区域,并将region_name属性设置为.
for x in range(0, len(regions_arr)):
client_2 = boto3.client('ec2', region_name=regions_arr[x])
response = client_2.describe_instance_status()
for x in response['InstanceStatuses']:
print(x['InstanceId'])希望这能有所帮助。谢谢!
https://stackoverflow.com/questions/53979382
复制相似问题