Я пытаюсь использовать 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]
)