首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python boto3 3-如何处理跨区域

Python boto3 3-如何处理跨区域
EN

Stack Overflow用户
提问于 2018-12-30 16:30:10
回答 2查看 2.9K关注 0票数 3

我开始使用python和boto3编写lambda函数,

我设法在每个地区分别工作,但我不知道如何能够在几个地区一起工作。

我就是这样宣布我的委托人的:

代码语言:javascript
运行
复制
region= 'ap-southeast-2'
ec2 = boto3.client('ec2', region_name=region)

如果我不给它一个区域,它将运行在您创建lambda函数的区域上,这是我不想要的。

以前有人做过吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-30 17:22:46

如果您不给它一个区域,它将使用您的Lambda函数正在运行的区域。

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

票数 6
EN

Stack Overflow用户

发布于 2019-12-12 10:18:12

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

你可以做这样的事,

1.列出所有可用的区域.

代码语言:javascript
运行
复制
    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

代码语言:javascript
运行
复制
    for each_reg in regions:
        regions_arr.append(each_reg)

3.循环遍历python中的每个区域,并将region_name属性设置为.

代码语言:javascript
运行
复制
    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'])

希望这能有所帮助。谢谢!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53979382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档