跳至內容

如何防止重複調用 Lambda 函式?

1 分的閱讀內容
0

我的 AWS Lambda 函式收到針對相同事件的多個調用請求。

簡短說明

對於同步調用,調用 Lambda 函式的用戶端與 AWS 服務會重新嘗試該作業。對於非同步調用,Lambda 會針對函式錯誤自動重試兩次。

解決步驟

若要避免重複調用 Lambda 函式,請依您使用的調用方式執行以下操作。

**注意:**若要疑難排解函式調用失敗的問題,請參閱如何疑難排解 Lambda 函式失敗?

非同步調用

查看Lambda 函式的 Amazon CloudWatch Logs。確認重複調用是否使用相同的請求 ID,以及這些調用是否傳回錯誤或發生逾時。

接著,請依您的使用案例採取以下其中一種處理方式:

對於傳回錯誤或發生逾時,且請求 ID 相同的重複調用

**注意:**同一請求 ID 的重複調用若傳回錯誤或發生逾時,表示 Lambda 服務已重新嘗試執行該函式。

設定非同步調用的錯誤處理,以降低 Lambda 函式重新嘗試失敗非同步調用請求的次數。

對於未傳回錯誤或未發生逾時的重複調用

**注意:**未傳回錯誤且未發生逾時的重複調用,表示用戶端已進行重試。

請執行以下動作:

**注意:**若要疑難排解函式調用失敗的問題,請參閱如何疑難排解 Lambda 函式失敗?

同步調用

**注意:**每項 AWS 服務會根據其事件來源對應採用不同的同步調用重試行為。如需更多資訊,請參閱使用其他 AWS 服務的事件調用 Lambda

確認 Lambda 函式程式碼具備冪等性,並可多次處理訊息。接著,找出並解決 Lambda 函式所傳回的所有錯誤

其他相關資訊

使用 CloudTrail 事件歷史記錄

使用 AWS Lambda 函式的最佳實務

AWS 官方已更新 7 個月前