我正在尝试使用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]
)