已成功导入 Glue 脚本的 Python 包,但未成功导入 Lambda 函数

问题描述 投票:0回答:1

我的 S3 存储桶上有一个名为 pg8000.zip 的 .zip 文件:

mybucket/devops/pg8000.zip

它目前用于 Glue 4.0 脚本,如下所示,在 Python 库字段中:

s3://mybucket/devops/pg8000.zip

这在 Glue 中工作得很好 - 但是当尝试使用相同的包创建 Lambda 层时:

Resources:
  MyLambdaLayer:
    Type: AWS::Lambda::LayerVersion
    Properties:
      LayerName: "Pg8000Layer"
      Description: "Layer containing pg8000"
      Content: 
        S3Bucket: "mybucket"
        S3Key: "devops/pg8000.zip"
      CompatibleRuntimes: 
        - python3.8

在附加层的情况下运行时,我的 Lambda 函数出现以下错误:

[ERROR] Runtime.ImportModuleError: Unable to import module index: no module named pg8000 

我是否需要重新打包这 2 项服务的库?

预计这两个导入库的服务会产生相同的结果 - 但未能产生相同的结果。

python amazon-web-services aws-lambda aws-glue pg8000
1个回答
0
投票

.zip 文件的结构应如下所示:

 pg8000/
__init__.py
other_module.py

其中 pg8000 是包含库文件的根目录。

© www.soinside.com 2019 - 2024. All rights reserved.