aws ssm runshellscript在python缺少boto3上失败

时间:2018-12-23 11:10:48

标签: amazon-web-services ssm

我正在尝试使用Lambda的ssm runShellScript在我的ec2上执行python文件。当使用简单的'echo'或'mkdir abc'进行测试时,我确认权限和ssm客户端是合适的,但是在尝试运行python脚本时会失败。我无法使用'/ usr / bin / python /home/ec2-user/test.py'运行,并且尝试运行可执行的shell脚本来调用python文件时,我在ssm日志中看到此错误,指示boto3不是不可用(尽管可以,但通过ssh可以正常运行test.py / test.sh脚本)。有什么想法吗?

错误:

“ documentStatus”:“失败”,   “ documentTraceOutput”:“”,   “ runtimeStatus”:{     “ aws:runShellScript”:{       “ status”:“失败”,       “代码”:1,       “ name”:“ aws:runShellScript”,       “输出”:“ \ n ----------错误------- \ n跟踪(最近一次通话最近):\ n文件\” / home / ec2-user / recmsg.py \ \ u003cmodule \ u003e \ n中的第1行”,导入boto3 \ nImportError:没有名为boto3 \ nfaile $的模块       “ startDateTime”:“ 2018-12-23T11:04:59.797Z”,       “ endDateTime”:“ 2018-12-23T11:04:59.817Z”,       “ outputS3BucketName”:“”,       “ outputS3KeyPrefix”:“”,       “ standardOutput”:“”,       “ standardError”:“追踪(最近一次通话最近):\ n文件\” / home / ec2-user / recmsg.py \“,\ u003cmodule \ u003e \ n中的第1行,导入boto3 \ nImportError:没有名为boto3的模块\ n无法运行命令:$     }   } }

lambda电话: 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]
)

0 个答案:

没有答案