AWS Lambda 函数找不到模块。

5
我遇到一个问题,我的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": []
}

我尝试了两件事情。我试图将整个项目以zip的形式导入到lambda中,也试图导入一个layer。我发现layer的效果更好,它能够识别jsonschema,但不能识别rpds

你是否将层设置到你的 Lambda 函数中了? - nageen nayak
你是否将该层设置到你的 Lambda 函数中了? - nageen nayak
你能分享一下你的开发机器所使用的操作系统吗? - Allan Chua
你能分享你开发机的操作系统吗? - Allan Chua
我遇到了同样的问题。我确信这在不久之前是可以正常工作的。 - Jake
我也遇到了相同的问题。我确信在不久之前这是可以正常工作的。 - Jake
1个回答

5
问题出在较新版本的jsonschema上。
jsonschema 4.18.0于7月6日发布(写作时距今仅几天)。
在我的团队中,我们使用Pipfile来管理Python lambdas的依赖关系。我有以下内容:
[packages]
jsonschema = ">=4.17.3"

我把它改成了这样

[packages]
jsonschema = "==4.17.3"

现在它又能正常工作了。

rpds依赖项可能已经在4.18.0中添加。奇怪的是,在我的Pipfile的依赖列表中添加rpds并没有解决这个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接