【问题标题】:"errorMessage": "Handler 'lambda_handler' missing on module 'lambda_function'"“errorMessage”:“模块‘lambda_function’上缺少处理程序‘lambda_handler’”
【发布时间】:2021-09-15 00:45:33
【问题描述】:

我在 AWS Lambda 中创建了一个简单的代码来列出我的存储桶

import boto3
import botocore

s3 = boto3.client('s3')
response = s3.list_buckets()
print('Existing buckets:')
for bucket in response['Buckets']:
    print(f'  {bucket["Name"]}')

当我部署和测试它时,它给了我正确的日志(我的存储桶列表),但它也给了我错误

模块“lambda_function”上缺少处理程序“lambda_handler”

我必须写lambda_function(event,context) 吗?

【问题讨论】:

  • 是的,你必须这样做。因为这样 AWS 知道要运行哪个函数。
  • @luk2302 我必须把它放在哪里才能正确?

标签: python amazon-web-services amazon-s3 aws-lambda


【解决方案1】:

是的,你需要它。应该是

import boto3
import botocore

def lambda_handler(event,context):
    s3 = boto3.client('s3')
    response = s3.list_buckets()
    print('Existing buckets:')
    for bucket in response['Buckets']:
        print(f'  {bucket["Name"]}')

因为 AWS 需要知道/有一个函数来调用和传递其 eventcontext 参数。

【讨论】:

  • 当我把它放在那里时,它给了我错误“errorMessage”:“模块'lambda_function'中的语法错误”,你知道它是什么吗?
  • @Hamilton 抱歉,盲目地复制了缺少缩进的代码。应该现在工作。
  • 天!它现在工作了,你拯救了我的一天哈哈
猜你喜欢
  • 1970-01-01
  • 2021-12-08
  • 1970-01-01
  • 1970-01-01
  • 2021-12-16
  • 1970-01-01
  • 2018-04-26
  • 2016-09-04
相关资源
最近更新 更多