AWS Python SDK - 发送CLI命令

时间:2018-05-18 16:58:50

标签: python amazon-web-services amazon-ec2 boto3 aws-cli

我知道AWS Python SDK(Boto / Boto3)拥有各种AWS服务(https://boto3.readthedocs.io/en/latest/guide/resources.html)的资源,但我想知道是否有资源发送直接的AWS CLI命令,例如,所以我可以创建像aws emr create-cluster ...configuration stuff here...这样的AWS EMR集群。是否有类似cli = boto.resource('cli')的内容,或者我只是使用常规Python来执行bash命令,例如。,

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

1 个答案:

答案 0 :(得分:3)

Boto3有两个级别的API。有客户端(低级)API ,它提供了到AWS CLI的映射,然后是资源(高级)API ,它提供了资源对象和集合,你可以像任何其他对象一样对待(迭代,访问某些方法和参数等)。

在您的情况下,boto.resource('cli')没有任何意义,因为CLI不是资源。如果您想要配置EMR资源,我们正在寻找客户端级别的API(我知道这有点令人困惑)。

Boto3有一个EMR客户端(client = boto3.client('emr')),您可以像使用CLI一样创建EMR资源。 You can see the documentation for this here.