![](/img/trans.png)
[英]How can I load csv files as separate dataframe from a S3 bucket in python?
[英]How to load dependencies from an s3 bucket AND a separate event JSON?
我的 AWS Lambda function 的依赖项大于允许的限制,因此我将它们上传到 s3 存储桶。 我已经看到如何将 s3 存储桶用作 Lambda function 的事件,但我需要将这些包与单独的事件结合使用。 s3 存储桶仅包含 python 模块( numpy
、 nltk
等),而不是Lambda ZC1C4125268E76A3 中使用的事件数据。
我怎样才能做到这一点?
事件数据将来自您配置的任何事件源。 有关 S3 事件源,请参阅此处的文档。
至于依赖项本身,您必须 zip 整个代码库(代码 + 依赖项)并将其用作部署 package。 您可以在文档中找到详细说明。 作为参考,这里是NodeJS和Python的一个。
Protip:管理依赖关系的更好方法是使用 Lambda 层。 您可以创建一个包含所有依赖项的层,然后将其添加到使用这些依赖项的 function 中。 在此处阅读更多相关信息。
如果您的依赖项仍高于 AWS Lambda 的 512MB 硬限制,您可以考虑将 AWS Elastic File System 与 Lambda 一起使用。
现在,您基本上可以将网络存储连接到您的 lambda function。 我个人使用它来加载超出 Lambda 文件存储限制的巨大参考文件。 有关演练,您可以参考 AWS 的这篇文章。 从文章中选择结论:
EFS for Lambda allows you to share data across function invocations, read large reference data files, and write function output to a persistent and shared store. 配置 EFS 后,您向 Lambda function 提供访问点 ARN,允许您读取和写入此文件系统。 Lambda 将 function 实例安全地连接到同一可用区和子网中的 EFS 挂载目标。
您可以在此处阅读阅读公告
编辑 1:为 lambda 信息添加了 EFS。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.