[英]Trigger lambda function in a certain time range from s3 upload
目前,我們正在從 S3 Upload 觸發我們的 lambda 函數。 S3 上傳不是特定時間的,它可以隨時發生。
現在我們有了一個新要求,我們只能在某個時間范圍內運行 lambda,例如 13 UTC 到 20 UTC 之間。 這意味着如果 s3 上傳發生在 5 UTC,則 lambda 將在 13 UTC 觸發。
實施此更改的最佳方法是什么?
任何建議,將不勝感激。 提前致謝。
如果條件是必須在指定的時間范圍內完成上傳,則無需進行任何特殊操作。
如果您希望上傳觸發僅在滿足時間范圍后執行的 lambda,那么您可以使用 AWS Step Functions。 使用等待狀態,任務時間可以延遲 lambda 函數的調用。 延遲可以是動態的(例如 13 UTC - 當前時間)。
工作流程可能如下所示:
看:
由於觸發 Lambda 函數的時間現已固定,您可以在所需時間設置 CloudWatch 觸發器並將 Lambda 函數設置為該事件規則的源。
腳步 -
打開 Lambda 控制台的函數頁面。
選擇一個功能
在函數概覽下,選擇添加觸發器。
將觸發器類型設置為 EventBridge (CloudWatch Events)。
對於規則,選擇創建新規則。
配置其余選項並選擇添加。
規則只不過是您需要為所需時間設置的 cron 模式。 規則執行后,觸發器將根據 cron 啟動,並運行 lambda 函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.