无法导入模块';lambda_function';:没有名为';flatten_json';的模块
问题描述
运行lambda代码时出现以下错误,我使用的是名为
的库from flatten_json import flatten
我尝试寻找lambda层,但在网上找不到,请告诉我以前是否有人使用过此层或建议其他选择
解决方案
有两个选项可供选择
选项1)您可以使用部署包将函数代码部署到Lambda。
- 部署包(例如zip)将包含您的函数代码和用于运行函数代码的任何依赖项。
- 因此,您可以将
flatten_json
作为代码打包到Lambda。 - 查看AWS文档中的Creating a function with runtime dependencies页,它解释了拥有请求库的使用情形。在您的方案中,库应该是
flatten_json
选项2)创建具有所需库依赖项的层,在您的情况下只需flatten_json
。然后将该层附加到您的Lambda。
- 查看AWS提供的creating and sharing lambda layers指南。
如何在%1)和%2)之间做出决定?
- 如果您只需要该Lambda中的依赖项,请使用选项1)。无需创建额外的创建层步骤。
- 如果您有一些想要跨不同lambda共享的公共代码,那么层很有用。因此,如果您还需要在其他lambda中访问该库,那么最好有一个可以附加到不同lambda的层[选项2)]。
相关文章