Как запустить aws scheduler-cli в скрипте Python? - PullRequest
0 голосов
/ 09 мая 2019

Я пытаюсь запустить scheduler-cli из AWS Instance Scheduler из моего скрипта Python. Я пытался сделать это через boto3, но, возможно, там не поддерживается. Так как я могу запускать scheduler-cli через командную строку Windows, я пытаюсь использовать подпроцесс для запуска scheduler-cli из скрипта python, но получаю ошибку. Ниже приведен фрагмент кода и ошибка:

                cmd='scheduler-cli create-period --name "testperiod" --begintime 07:00 --endtime 20:00 --weekdays mon-fri --stack instance-scheduler --description "7 AM to 8 PM Monday to Friday" --region ap-southeast-2'
                try:
                subprocess.check_output(cmd, shell=True).decode()
                except Exception as e:
                    print(e)
                    print("Could not create period.")

Я получаю следующую ошибку:

subprocess.CalledProcessError: Command 'scheduler-cli create-period --name "testperiod" --begintime 07:00 --endtime 20:00 --weekdays mon-fri --stack instance-scheduler --description "7 AM to 8 PM Monday to Friday" --region ap-southeast-2' returned non-zero exit status 1.

Команда отлично работает из оболочки Windows. Может быть, мне нужно как-то указать в сценарии учетные данные aws, но поскольку я выполняю итерации по разным учетным записям, мне нужно предоставить разные учетные данные sts, но я не знаю, как их установить для подпроцесса.

Спасибо.

1 Ответ

0 голосов
/ 10 мая 2019

Мне удалось решить проблему, запустив команду scheduler-cli из пакета os, поскольку API от AWS пока недоступен.

           cmdschedule='scheduler-cli create-schedule --name testschedule --periods testperiod --timezone Australia/Sydney --stack teststack --description "6 AM to 8 PM Monday to Sunday" --region ap-southeast-2'
            try:
                myCmdperiod = os.popen(cmdperiod).read()

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