Сопоставление названия региона и местоположения с помощью клиента ценообразования boto3 - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть следующий код:

    import boto3
    my_session = boto3.session.Session()
    region = boto3.session.Session().region_name
    print "region : ",region

    pricing_client=boto3.client("pricing")
locationList = pricing_client.get_attribute_values(ServiceCode="AmazonEC2",AttributeName="location")
    print "locationList : ",locationList["AttributeValues"]

Вывод вышеуказанного кода выглядит следующим образом:

region :  ap-south-1
locationList :  [
{
    u'Value': u'AWS GovCloud (US)'
}, 
{
    u'Value': u'AWS GovCloud (US-East)'
}, 
{
    u'Value': u'Asia Pacific (Mumbai)'
}, 
{
    u'Value': u'Asia Pacific (Osaka-Local)'
}, 
{
    u'Value': u'Asia Pacific (Seoul)'
}, 
{
    u'Value': u'Asia Pacific (Singapore)'
}, 
{
    u'Value': u'Asia Pacific (Sydney)'
}, 
{
    u'Value': u'Asia Pacific (Tokyo)'
}, 
{
    u'Value': u'Canada (Central)'
}, 
{
    u'Value': u'EU (Frankfurt)'
}, 
{
    u'Value': u'EU (Ireland)'
}, 
{
    u'Value': u'EU (London)'
}, 
{
    u'Value': u'EU (Paris)'
}, 
{
    u'Value': u'EU (Stockholm)'
}, 
{
    u'Value': u'South America (Sao Paulo)'
}, 
{
    u'Value': u'US East (N. Virginia)'
}, 
{
    u'Value': u'US East (Ohio)'
}, 
{
    u'Value': u'US West (N. California)'
}, 
{
    u'Value': u'US West (Oregon)'
}
]

Есть ли способ сопоставить имя региона с именем местоположения?

Я могу использовать словарь следующим образом:

{'ap-south-1': 'Asia Pacific (Mumbai)'}

Но я хотел бы сделать это без определения всех областей, чтобы в случае изменений позже обновлятьНастройка aws автоматически повлияет на код, который я пишу.

Я пытаюсь написать функцию boto, чтобы получить прайс-лист для региона, в котором она используется.

1 Ответ

0 голосов
/ 26 февраля 2019

Та же необходимость была решена поиском в botocore / data / endpoints.json https://github.com/powdahound/ec2instances.info/blob/master/ec2.py#L35

Я не вижу лучшей альтернативы.

Также открыт вопрос gh1411

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...