如何防止重複的 Lambda 函數叫用?
1 分的閱讀內容
0
我的 AWS Lambda 函數不斷接收單一事件的多個叫用請求。如何防止我的 Lambda 函數從同一事件中多次叫用?
簡短描述
為了協助防止重複的 Lambda 函數叫用,請根據您正在使用的叫用類型執行以下操作。
**注意:**對於同步叫用,由叫用 Lambda 函數的用户端和 AWS 服務負責執行重試。對於非同步叫用,Lambda 會在發生錯誤時自動重試,且在重試之間存在延遲。
解決方案
對於非同步叫用
檢閱您的 Lambda 函數的 Amazon CloudWatch Logs,以驗證以下項目:
- 重複的叫用是否具有相同的請求 ID
- 重複的叫用是否傳回錯誤或逾時
然後,根據您的使用案例執行以下操作之一:
對於傳回錯誤或逾時且具有相同請求 ID 的重複叫用
**注意:**傳回錯誤或逾時且具有相同請求 ID 的重複叫用,表示是 Lambda 服務重試了該函數。
設定非同步叫用的錯誤處理以減少 Lambda 函數重試失敗的非同步叫用請求的次數。
如需詳細資訊,請參閲 AWS Lambda 中的錯誤處理和自動重試。
對於未傳回錯誤或逾時的重複叫用
**注意:**未傳回錯誤或逾時的重複叫用,表示是用户端重試。
- 確保 Lambda 函數的程式碼為等冪,並且能夠多次處理訊息。
- 確保您的 Lambda 函數設定了夠高的並行限制,足以處理它接收的叫用請求數目。
- 辨識並解決您的 Lambda 函數傳回的任何錯誤。
**注意:**若要疑難排解函數叫用失敗問題,請參閲如何對 Lambda 函數故障進行疑難排解?
對於同步叫用
**注意:**同步叫用重試行為因 AWS 服務而異,具體取決於每個服務的事件來源映射。如需詳細資訊,請參閲事件驅動的叫用。
- 確保 Lambda 函數的程式碼為等冪,並且能夠多次處理訊息。
- 辨識並解決您的 Lambda 函數傳回的任何錯誤。
**注意:**若要疑難排解函數叫用失敗問題,請參閲如何對 Lambda 函數故障進行疑難排解?
相關資訊
AWS 官方已更新 2 年前
沒有評論
相關內容
- AWS 官方已更新 1 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 2 年前
- AWS 官方已更新 1 年前