簡體   English   中英

如何從 s3 存儲桶和單獨的事件 JSON 加載依賴項?

[英]How to load dependencies from an s3 bucket AND a separate event JSON?

我的 AWS Lambda function 的依賴項大於允許的限制,因此我將它們上傳到 s3 存儲桶。 我已經看到如何將 s3 存儲桶用作 Lambda function 的事件,但我需要將這些包與單獨的事件結合使用。 s3 存儲桶僅包含 python 模塊( numpynltk等),而不是Lambda ZC1C4125268E76A3 中使用的事件數據。

我怎樣才能做到這一點?

事件數據將來自您配置的任何事件源。 有關 S3 事件源,請參閱此處的文檔。

至於依賴項本身,您必須 zip 整個代碼庫(代碼 + 依賴項)並將其用作部署 package。 您可以在文檔中找到詳細說明。 作為參考,這里是NodeJSPython的一個。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM