为了账号安全,请及时绑定邮箱和手机立即绑定

Python boto3-如何跨区域工作

Python boto3-如何跨区域工作

斯蒂芬大帝 2021-09-28 21:08:20
我开始使用 python 和 boto3 编写我的 lambda 函数,我设法分别在每个地区工作,但我没有看到如何在几个地区一起工作。这是我宣布我的客户的方式:region= 'ap-southeast-2'ec2 = boto3.client('ec2', region_name=region)如果我不给它一个区域,它将在您创建 lambda 函数的区域上运行,这是我不想要的。以前有人做过吗?
查看完整描述

2 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

如果您不为其指定区域,它将使用您运行 Lambda 函数的区域。

如果您想通过 Boto3 在多个区域进行 AWS API 调用,您必须为每个区域创建一个客户端对象,并为每个区域进行单独的 API 调用。


查看完整回答
反对 回复 2021-09-28
?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

在这里,我列出了跨多个区域可用的所有实例。


你可以做类似的事情,


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'])

希望这可以帮助。谢谢!


查看完整回答
反对 回复 2021-09-28
  • 2 回答
  • 0 关注
  • 187 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信