python - AWS Lambda 出现 Python 2.7 错误

标签 python amazon-web-services amazon-ec2 aws-lambda

我正在使用 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/

相关文章:

amazon-web-services - 如何配置在 AWS/ElasticBeanstalk/Docker 上运行的 GlassFish 实例?

amazon-web-services - VPC 中的 AWS Lambda 无法通过 NAT 访问互联网

http - 阻止对 AWS Elastic Beanstalk 和 Elastic Load Balancer 的 HEAD 请求

linux - 如何为 EBS 支持的实例找到允许我连接的 AWS AMI 镜像

python - reduce 函数在 python 的二维列表中给出了意想不到的结果

python - 如果我在类方法中只分配两个泛型类型变量中的一个,为什么 mypy 会出错?

Python - 需要遍历目录以查找 TXT 文件

amazon-web-services - 是否可以调用带有负载的 AWS Lambda 函数来让 Alexa 说话?

docker - 在AWS ec2实例中Docker上的Splunk安装失败

python - 需要对 python 代码进行一些小修改