aws ssm runhellscript не работает на python отсутствует boto3 - PullRequest
0 голосов
/ 23 декабря 2018

Я пытаюсь использовать ssm runShellScript из Lambda для запуска файла python на моем ec2.При тестировании с простым 'echo' или 'mkdir abc' я подтверждаю, что права доступа и клиент ssm являются подходящими, но при попытке запустить скрипт на python я получаю сбои.Мне не удалось запустить с '/ usr / bin / python /home/ec2-user/test.py', и при попытке запустить исполняемый скрипт оболочки, вызывающий файл python, я вижу эту ошибку в журналах ssm, указывающих, что boto3 ненедоступно (хотя это так, сценарии test.py / test.sh работают нормально через ssh).Мысли?

Ошибка:

"documentStatus": "Failed", "documentTraceOutput": "", "runtimeStatus": {"aws: runShellScript": {"status": "Failed", "код ": 1," имя ":" aws: runShellScript "," output ":" \ n ---------- ОШИБКА ------- \ nTraceback (последний вызов был последним): \n Файл \ "/ home / ec2-user / recmsg.py \", строка 1, в \ u003cmodule \ u003e \ n import boto3 \ nImportError: Нет модуля с именем boto3 \ nfaile $ "startDateTime": "2018-12-23T11:04: 59.797Z "," endDateTime ":" 2018-12-23T11: 04: 59.817Z "," outputS3BucketName ":" "," outputS3KeyPrefix ":" "," standardOutput ":" "," standardError ":" Traceback(последний вызов был последним): \ n Файл \ "/ home / ec2-user / recmsg.py \", строка 1, в \ u003cmodule \ u003e \ n import boto3 \ nImportError: Нет модуля с именем boto3 \ nНе удалось выполнить команды:$}}}

лямбда-вызов: ssmc = boto3.client ('ssm', region_name = "us-east-1")

resp = ssmc.send_command(
    DocumentName = "AWS-RunShellScript",
    Parameters = {'commands': ['sudo bash /home/ec2-user/test.sh']},
    InstanceIds = [instance]
)
...