2016-09-30 105 views
3

我部署了一個使用AWS Lambda以Python2.7編寫的服務,它涉及從某些頁面提取數據並將結果發送到Web應用程序。該服務由AWS CloudWatch事件觸發(固定費率爲5分鐘)。AWS Lambda函數被CloudWatch事件觸發了兩次事件

但是,我發現有時該服務一次被觸發兩次。我得到這個是因爲有兩個日誌流打印了相同的數據和結果,但具有不同的RequestID。而且數據庫有重複的數據,這表明兩個都成功了。看起來服務幾乎在同一時間幾乎沒有任何原因被觸發。

有沒有人遇到同樣的事情,你如何解決它?或者,有沒有辦法限制一次只能執行一個函數?

回答

2

是的。一些AWS服務的SLA爲,至少一次交付。我已經通過CloudWatchCloudTrail來體驗這一點。我不知道你是否可以只限制一次。你必須檢查數據是否已被處理。我通過在處理數據之前在我的python代碼中調用boto3來克服這個問題。不知道你的情況,很難提出解決方案。