Awscliでaws ec2サービスを使用しています。次に、コンソールに入力するすべてのコマンドをpythonスクリプトに入れたいと思います。 pythonスクリプト内で_import awscli
_と書くと問題なく動作しますが、スクリプト内でそれを使用する方法がわかりません。たとえば、_aws ec2 run-instances <arguments>
_の後にpythonスクリプト内でコマンド_import awscli
_を実行するにはどうすればよいですか?明確にするために、os.system('aws ec2 run-instances <arguments>')
のようなソリューションを探しているのではなく、次のようなものを探しています
_import awscli
awscli.ec2_run-instances(<arguments>)
_
CLIはシェルプロンプトにより適しています。より良いpython API、botoライブラリを確認してください。この例は、インスタンスを起動する方法を示しています。 http:// boto。 readthedocs.org/en/latest/ec2_tut.html
素晴らしい sh パッケージでできます。 pythonパッケージでshをラッピングしてパッケージを模倣することができます。
import sh
s3 = sh.bash.bake("aws s3")
s3.put("file","s3n://bucket/file")
Boto3にはcliのすべてが含まれているわけではないため、blue moonでスクリプトのcliを使用する必要がある場合があります。たとえば、boto3でaws deploy Pushのアナログを見つけることができないため、pythonスクリプトからcliを使用してs3にプッシュする方法を示します。そうしないと。
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