如何在python脚本中使用awscli?
我正在使用awscli的aws ec2服务。现在,我想将我在控制台中键入的所有命令放入python脚本中。我发现,如果我在python脚本中编写如何在python脚本中使用awscli?,python,amazon-web-services,amazon-ec2,aws-cli,Python,Amazon Web Services,Amazon Ec2,Aws Cli,我正在使用awscli的aws ec2服务。现在,我想将我在控制台中键入的所有命令放入python脚本中。我发现,如果我在python脚本中编写import awscli,它可以正常工作,但我不知道如何在脚本中使用它。例如,在导入awscli之后,如何在python脚本中执行命令aws ec2 run instances?我只是想说清楚,我不是在寻找像os.system('aws ec2运行实例')这样的解决方案,我是在寻找像这样的解决方案 import awscli awscli.ec2_ru
import awscli
,它可以正常工作,但我不知道如何在脚本中使用它。例如,在导入awscli之后,如何在python脚本中执行命令aws ec2 run instances
?我只是想说清楚,我不是在寻找像os.system('aws ec2运行实例')
这样的解决方案,我是在寻找像这样的解决方案
import awscli
awscli.ec2_run-instances(<arguments>)
导入awscli
awscli.ec2_run-instances()
CLI更适合shell提示符,要获得更好的python API,请查看boto库。此示例演示如何启动实例:您可以使用brilliant软件包来完成。
您可以用sh来模拟python包,为您进行包装
import sh
s3 = sh.bash.bake("aws s3")
s3.put("file","s3n://bucket/file")
Boto3并没有cli所拥有的一切,因此您可能必须在脚本中使用cli中的某些内容,这是千载难逢的。例如,我找不到aws deploy push-in boto3的模拟版本,所以下面是我如何从python脚本使用cli推送到s3的。虽然在胡里奥看来,我在其他方面都使用boto
import subprocess
cmd='aws deploy push --application-name SomeApp --s3-location s3://bucket/Deploy/db_schema.zip --ignore-hidden-files'
push=subprocess.Popen(cmd, shell=True, stdout = subprocess.PIPE)
print push.returncode
好的,您可以使用python脚本中的
子流程运行awscli
命令。
例如,假设获取s3
存储桶列表。
那么
或
希望能为您提供帮助。这个sh
软件包肯定很有趣。谢谢你的指点。但它(将在我的*nix平台上使用该软件包)非常棒。我完全不擅长bashshell脚本。我赶时间。为了胜利。格雷西亚斯!除了boto库不能做一些awscli库可以做的事情。e、 g.s3同步。
import subprocess
push=subprocess.call(['aws', 's3', 'ls', '--recursive', '--human-readable', '--summarize'])
import subprocess
push=subprocess.run(['aws', 's3', 'ls', '--recursive', '--human-readable', '--summarize'])