簡體   English   中英

使用 AWS lambda [CDK] 訪問 S3 中的對象

[英]Access objects in S3 using AWS lambda [CDK]

我的用例是每天觸發 AWS lambda,這可以通過 cloudwatch 觸發,每次觸發 lambda 時,我都必須訪問 S3 中的特定位置(前綴)。

此位置包含許多文件,我必須分別處理這些文件。 這可以通過 AWS-CDK 實現嗎?

我試圖在線檢查,但找不到任何解決方案來解決我的用例

PS:Lambda 不應由 S3 觸發

您可以創建 2 個具有 S3 存儲桶讀取權限的 lambda。

Lambda1:每天都會被 CloudWatch/EventBridge 事件觸發。 它將讀取所有文件並推送所有需要在 SNS 中處理的 object 詳細信息。

Lambda2 將由 SNS 觸發,它將單獨處理所有文件。

S3 中的特定位置(前綴)是固定的還是可以在應用程序的生命周期內更改?

根據您的用例,您可能希望對由 cloudwatch 事件觸發的 lambda 中的前綴進行硬編碼,或者將前綴存儲在 dynamodb 之類的數據庫中,並在 lambda 之后使用 Z945F3FC449518A73CZ 查詢數據庫。

之后,您有 2 個選擇:

  1. 使用由 cloudwatch 事件觸發的相同 lambda 來處理 S3 中的文件。

  2. 使用由 cloudwatch 事件觸發的 lambda 讀取 S3 中的文件並將 object 詳細信息傳遞到隊列。 另一個 lambda function 可用於查詢隊列以進一步處理文件。 隊列可以是 SNS 或 SQS,具體取決於用例。

在這里查看架構: https://youtu.be/43PhZC3WD8s?t=967用於選項 2。不完全相同的用例,但可能有用!

暫無
暫無

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

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