我知道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..."])
答案 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.