我对AWS和Python都是新手。
AWS CLI,以下命令运行正常:
aws cloudformation package --template-file sam.yaml --output-template-file output-sam.yaml --s3-bucket <<bucket_Name>>我们的目标是创建运行上述命令的自动化python脚本。我试着在谷歌上搜索,但没有一个解决方案对我有效。
下面是我尝试过的解决方案,但无法将工件上传到S3存储桶中。
test.py文件:
import subprocess
command= ["aws","cloudformation","package","--template-file","sam.yaml","--output-template-file","output-sam.yaml","--s3-bucket","<<bucket_name>>"]
print(subprocess.check_output(command, stderr=subprocess.STDOUT))发布于 2020-01-16 09:25:20
使用os库可以很容易地完成此操作。代码中给出了最简单的方法。
import os
os.system("aws cloudformation package --template-file sam.yaml --output-template-file output-sam.yaml --s3-bucket <<bucket_name>>")但是,子流程可以用于一些复杂的任务。您还可以查看boto3库来执行此类任务。Boto是用于Python的AWS SDK。
发布于 2020-01-14 19:21:30
您可以查看这个aws-cli命令是如何is implemented的,因为它已经在Python语言中完成了。基本上,aws cloudformation package会将模板上传到S3,因此您可以像评论中提到的那样对boto3执行相同的操作。
https://stackoverflow.com/questions/59694539
复制相似问题