gpt4 book ai didi

python - "errorMessage": "Unable to import module ' lambda_function'

转载 作者:行者123 更新时间:2023-12-01 09:20:41 25 4
gpt4 key购买 nike

在测试我的 lambda 函数时,我收到以下错误消息:

{
"errorMessage": "Unable to import module 'lambda_function'"
}

我上传了一个.zip,其中仅包含以下依赖项:requestsboto3PILPillow-4.0.0.dist-info 和 lambda 函数 lambda_function.py - 这是从 AWS 复制的示例:

from __future__ import print_function
import boto3
import os
import sys
import uuid
from PIL import Image
import PIL.Image

s3_client = boto3.client('s3')

def resize_image(image_path, resized_path):
with Image.open(image_path) as image:
image.thumbnail(tuple(x / 2 for x in image.size))
image.save(resized_path)

def handler(event, context):
for record in event['Records']:
bucket = record['s3']['bucket']['name']
key = record['s3']['object']['key']
download_path = '/tmp/{}{}'.format(uuid.uuid4(), key)
upload_path = '/tmp/resized-{}'.format(key)

s3_client.download_file(bucket, key, download_path)
resize_image(download_path, upload_path)
s3_client.upload_file(upload_path, '{}resized'.format(bucket), key)

我的处理程序是:lambda_function.lambda_handler

知道问题出在哪里吗?

最佳答案

首先:

默认情况下,lambda 使用名为:lambda_handler 的特定关键字运行处理程序,您也可以在 AWS Lambda 控制台中更改处理程序条目。

enter image description here

或者您必须更改处理程序的名称:

def handler(event, context):
for record in event['Records']:
,,,

def lambda_handler(event,context):
'''

您可以在使用某些框架时使用自定义处理程序并明确提及处理程序名称。

例如无服务器:

your_action:
handler: path/lambda_function.handler

其次:

问题的一部分是您必须检查您导入的模块是否包含在内。您必须查看详细的错误输出。您的场景的立即响应将是:无法导入 lambda_function。

检查错误日志您可能会看到如下内容:无法导入模块“lambda_function”:没有名为 PIL 的模块

您还必须在此处查看有关 importing PIL 的问题

关于python - "errorMessage": "Unable to import module ' lambda_function',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50814024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com