如何使用boto3在python中获取AWS区域名称(例如US East(N。Virginia))

时间:2017-10-13 09:47:27

标签: python amazon-web-services boto3

我的代码是:

import boto3
rds = boto3.setup_default_session(region_name=reg_name)
client = boto3.client("rds",
                      aws_access_key_id=access_key_id,
                      aws_secret_access_key=secret_access_key)
response = client.describe_source_regions()['SourceRegions']
print response

作为输出我得到了:

[{u'Status': 'available',
  u'Endpoint': 'https: //rds.ap-northeast-1.amazonaws.com',
  u'RegionName': 'ap-northeast-1'},
 {u'Status': 'available',
  u'Endpoint': 'https:// rds.ap-northeast-2.amazonaws.com',
  u'RegionName': 'ap-northeast-2'},
 {u'Status': 'available',
  u'Endpoint': 'https:// rds.ap-south-1.amazonaws.com',
  u'RegionName': 'ap-south-1'},
 {u'Status': 'available',
  u'Endpoint': 'https:// rds.ap-southeast-1.amazonaws.com',
  u'RegionName': 'ap-southeast-1'},
 {u'Status': 'available',
  u'Endpoint': 'https:// rds.ap-southeast-2.amazonaws.com',
  u'RegionName': 'ap-southeast-2'},
 {u'Status': 'available',
  u'Endpoint': 'https:// rds.eu-central-1.amazonaws.com',
  u'RegionName': 'eu-central-1'},
 {u'Status': 'available',
  u'Endpoint': 'https:// rds.eu-west-1.amazonaws.com',
  u'RegionName': 'eu-west-1'},
 {u'Status': 'available',
  u'Endpoint': 'https:// rds.eu-west-2.amazonaws.com',
  u'RegionName': 'eu-west-2'},
 {u'Status': 'available',
  u'Endpoint': 'https:// rds.sa-east-1.amazonaws.com',
  u'RegionName': 'sa-east-1'},
 {u'Status': 'available',
  u'Endpoint': 'https:// rds.amazonaws.com',
  u'RegionName': 'us-east-1'},
 {u'Status': 'available',
  u'Endpoint': 'https:// rds.us-west-2.amazonaws.com',
  u'RegionName': 'us-west-2'}]

但是有区域,例如us-east-1我还需要它的地区名称,即US East(N。Virginia)。

2 个答案:

答案 0 :(得分:1)

在boto3中,region_name是region-id,没有确切的区域名称描述。如果您想要实际的区域描述,您需要自己创建自己的映射,如下所示:AWS region name and region

答案 1 :(得分:0)

在CLI中,您可以使用命令get-regions返回输出中的displayName,我不知道boto3是否具有获取displayName的API。