![](/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.