AWS Python SDK - отправка команд консоли - PullRequest
0 голосов
/ 18 мая 2018

Я знаю, что в AWS Python SDK (Boto / Boto3) есть ресурсы для различных сервисов AWS (https://boto3.readthedocs.io/en/latest/guide/resources.html)), но мне интересно, есть ли ресурс для отправки прямой команды AWS CLI, например, чтобы я мог создатькластер AWS EMR, например aws emr create-cluster ...configuration stuff here.... Есть ли что-то вроде cli = boto.resource('cli') или я бы просто использовал обычный Python для выполнения команды bash, например,

from subprocess import call
call(["aws emr create-cluster ...configuration stuff here..."])

1 Ответ

0 голосов
/ 18 мая 2018

Boto3 имеет два уровня API.Есть клиентский (низкоуровневый) API , который обеспечивает сопоставление с интерфейсом командной строки AWS, а затем ресурсный (высокоуровневый) API , который предоставляет объекты ресурсов и коллекции, которые можно обрабатывать каклюбой другой объект (итерация, доступ к определенным методам и параметрам и т. д.).

В вашем случае boto.resource('cli') на самом деле не имеет смысла, поскольку CLI не является ресурсом.Вы ищете API уровня client , если хотите выделять ресурсы EMR (я знаю, это немного сбивает с толку).

В Boto3 есть клиент EMR (client = boto3.client('emr')), который выможно использовать для создания ресурсов EMR, как это было бы с CLI. С документацией по этому вопросу можно ознакомиться здесь.

...