有可能是缺少不再是內建模块的一些依赖项。例如,如果您的Lambda在运行时需要使用Python requests 模块,您必须安装它。 这可以通过创建一个 ZIP 文件,其中包含您的 Lambda 代码和所需依赖项,然后上传该文件来完成。
以下是一个例子:
Lambda
├── mylambda.py
└── requests/
├── __init__.py
├── api.py
└── ...
然后,您可以使用以下代码将其上传到 Lambda。
import boto3
s3 = boto3.client('s3')
def lambda_handler(event, context):
bucket = 'my-lambda-bucket'
key = 'lambda-packages.zip'
s3.download_file(bucket, key, '/tmp/lambda-packages.zip')
import sys
sys.path.insert(0, '/tmp/lambda-packages')
import mylambda
mylambda.handler(event, context)
您还需要执行以下步骤:
/tmp/lambda-packages 目录中。/tmp/lambda-packages 目录添加到 Python 的 sys.path 中,以便模块可以正确导入。这样,您的 Lambda 就可以访问所有所需的依赖项了。