我正在使用 AWS Lambda 通过 CloudWatch 按指定的时间间隔打开/关闭 EC2 实例。我使用 Python 2.7 运行时编写 AWS Lambda 代码并放置代码:
import boto3
region = 'xxxxxx'
instances = ['i-xxxxxxxxxx']
def lambda_handler(event, context):
ec2 = boto3.client('ec2', region_name=region)
ec2.stop_instances(InstanceIds=instances)
print 'stopped your instances: ' + str(instances)
作为内联代码。但我想通过手动触发 lambda 函数来测试 EC2 实例的停止,在执行日志中出现以下错误:
{
"errorMessage": "Handler 'handler' missing on module 'index'"
}
任何人的帮助将不胜感激。
最佳答案
您需要在 Python 脚本中将 lambda_handler
重命名为 handler
。或者告诉 Lambda 查找 lambda_handler 的处理程序而不是默认的处理程序。它正在尝试执行脚本中确实存在的处理程序,这就是它出错的原因。
此外,您应该在函数底部添加一个return
。
关于python - AWS Lambda 出现 Python 2.7 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47033356/