亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何停止/控制 AWS S3 在對象上傳時觸發的事件以調用 AWS Lambda?

如何停止/控制 AWS S3 在對象上傳時觸發的事件以調用 AWS Lambda?

滄海一幻覺 2022-04-28 15:57:44
我目前正在將一個大小為 250 MB 和 100 萬條記錄的文件上傳到 AWS S3 Bucket(B1) 中。這會觸發一個 Lambda(L1 - 1.5GB,3 分鐘),它會讀取此文件并使用某些標準對記錄進行分組,并在不同的存儲桶(B2)上再次將大約 25K 文件寫入 S3?,F在,在 Bucket (B2) 上配置的通知事件會生成 25K 事件(請求)到不同的 Lambda(L2 - 512MB,2Mins,Concurrency-2)。這個 Lambda 調用一個基于 Java 的微服務,它在處理后進入數據庫,每次調用大約需要 1-2 秒。這里的問題是,一旦觸發了 2nd Lambda (L2),就無法阻止它。它運行了幾個小時并且在完全處理所有事件之前沒有接收到同一個 lambda 的任何其他事件并且我無法控制已經觸發的 S3 事件。有人可以解釋一下在 Amazon S3 上處理文件上傳(架構)時如何在 S3 上觸發事件以及如何對觸發的 S3 事件進行細粒度控制嗎?我可以在 AWS Lambda 端做些什么來阻止已經觸發的 S3 事件嗎?
查看完整描述

1 回答

?
DIEA

TA貢獻1820條經驗 獲得超3個贊

B2當您一次編寫 25K 個對象時,我不認為設置通知事件是最佳選擇。我認為可以簡化流程。

  • Lambda L1寫入 25K 對象B2可以創建一個正在寫入的對象鍵數組并將其放入B2. 確保將其寫入單獨的文件夾,并在該文件夾中設置通知事件,而不是在寫入 25K 文件的位置。

  • L2當您編寫包含 25K 個對象的鍵的文件時將觸發,它可以傳遞給您的microservice.

使用 SNS 的另一種選擇

  • Lambda L1寫入 25K 對象B2可以創建正在寫入的對象鍵數組并將其發布到 SNS 主題。SNS 消息大小為 256 KB,足以滿足您的用例

  • mircoservice可以訂閱 SNS 主題以接收對象鍵并在數據庫中進行條目


查看完整回答
反對 回復 2022-04-28
  • 1 回答
  • 0 關注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號