Как мне написать aws cli команды в python - PullRequest
0 голосов
/ 11 января 2020

Я новичок в AWS, а также Python.

AWS CLI, приведенная ниже команда работает отлично:

aws cloudformation package --template-file sam.yaml --output-template-file output-sam.yaml --s3-bucket <<bucket_Name>>

Цель состоит в том, чтобы создать автоматизировать python скрипт, который будет запускать вышеуказанную команду. Я пытался Google, но ни одно из решений не работает для меня.

Ниже приведено решение, которое я пробовал, но не смог загрузить артефакты в корзину 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))

Ответы [ 2 ]

1 голос
/ 16 января 2020

Это легко сделать с помощью библиотеки os. Простейший способ сделать это приведен в коде.

import os
os.system("aws cloudformation package --template-file sam.yaml --output-template-file output-sam.yaml --s3-bucket <<bucket_name>>")

Тем не менее, подпроцесс может быть использован для небольших сложных задач. Вы также можете проверить библиотеку boto3 для таких задач. Бото это AWS SDK для Python.

0 голосов
/ 14 января 2020

Вы можете проверить, как эта aws-cli команда реализована , поскольку все это уже в Python. В основном aws cloudformation package загружает шаблон на S3, так что вы можете сделать то же самое с boto3, как указано в комментариях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...