AWS Lambda函数找不到模块

Hap*_*123 7 python amazon-web-services aws-lambda aws-lambda-layers

我有一个问题,我的 Lambda 函数找不到模块rpds。我试图通过一个层导入它,它带有jsonschema

Jsonschema 可以导入并且可以工作,但 rpds 不行。我按照我应该的方式遵循了我的层中的文件夹结构,但它似乎从未读取的唯一模块是 rpds

{
  "errorMessage": "Unable to import module 'lambda_function': No module named 'rpds.rpds'",
  "errorType": "Runtime.ImportModuleError",
  "requestId": "440ad04f-6a04-4650-a4d5-44f06b65e2dc",
  "stackTrace": []
}
Run Code Online (Sandbox Code Playgroud)

我尝试了两件事。我尝试使用 zip 将整个项目导入到 lambda 中,并尝试导入一个层。我发现该层在识别 jsonschema 但不能识别rpds.

Jak*_*ake 6

问题出在较新版本的 jsonschema 上。

jsonschema 4.18.0 于 7 月 6 日发布(撰写本文时是几天前)。

在我的团队中,我们使用 Pipfile 来管理 Python lambda 的依赖项。我有这个:

[packages]
jsonschema = ">=4.17.3"
Run Code Online (Sandbox Code Playgroud)

我把它改成了这个

[packages]
jsonschema = "==4.17.3"
Run Code Online (Sandbox Code Playgroud)

现在它又开始工作了。

rpds 依赖项必须已在 4.18.0 中添加。奇怪的是,将 rpds 添加到 Pipfile 的依赖项列表中并没有解决这个问题。