簡體   English   中英

使用 lambda 函數的 AWS S3 存儲桶索引

[英]AWS S3 Bucket indexing using lambda function

我有一個包含多個 HTML 文件的 S3 存儲桶網站,現在我創建了一個 lambda 函數並將其連接到 S3 觸發器。 現在我創建了一個 lambda 函數,我想要第一個索引 S3 存儲桶的當前 HTML 文件到我的彈性搜索域索引,如果我上傳或刪除 S3 存儲桶中的任何 HTML 文件,那么這個 lambda 函數應該將它索引到ES 域。 問題是,當我上傳新的 HTML 文件時,我也無法將所有當前的 HTML 編入索引,我無法將它們編入 ES 域索引。

Lambda 函數來索引所有然后一一索引。 我還想在 AWS lambda 測試中為 S3 創建一個測試,並首先使用事件indexAll來索引所有文件。

錯誤是 3 秒后超時:

您的 Lambda 函數超時時間太短(默認為 3 秒)。

此外,除非您可以限制對象的數量,否則嘗試在一次 Lambda 函數調用中分析/索引所有 S3 對象並不是一個好主意。 Lambda 的最大超時時間為 15 分鍾。

作為 EC2 的替代方案,處理現有文件的一種選擇是在存儲桶中創建現有對象的列表(如果存儲桶大小合理,例如 10k 項或更少,您可以只列出存儲桶,或者您可以使用 S3如果它是一個非常大的存儲桶,則為庫存報告)。 無論哪種方式,獲取對象列表,然后將它們一個一個地發送到 SQS 隊列。 讓 SQS 每次調用觸發一個對象或每次調用一批 10 個對象來觸發您的 Lambda 函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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