如何防止重複的 Lambda 函數叫用?

1 分的閱讀內容
0

我的 AWS Lambda 函數不斷接收單一事件的多個叫用請求。如何防止我的 Lambda 函數從同一事件中多次叫用?

簡短描述

為了協助防止重複的 Lambda 函數叫用,請根據您正在使用的叫用類型執行以下操作。

**注意:**對於同步叫用,由叫用 Lambda 函數的用户端和 AWS 服務負責執行重試。對於非同步叫用,Lambda 會在發生錯誤時自動重試,且在重試之間存在延遲。

解決方案

對於非同步叫用

檢閱您的 Lambda 函數的 Amazon CloudWatch Logs,以驗證以下項目:

  • 重複的叫用是否具有相同的請求 ID
  • 重複的叫用是否傳回錯誤或逾時

然後,根據您的使用案例執行以下操作之一:

對於傳回錯誤或逾時且具有相同請求 ID 的重複叫用

**注意:**傳回錯誤或逾時且具有相同請求 ID 的重複叫用,表示是 Lambda 服務重試了該函數。

設定非同步叫用的錯誤處理以減少 Lambda 函數重試失敗的非同步叫用請求的次數。

如需詳細資訊,請參閲 AWS Lambda 中的錯誤處理和自動重試

對於未傳回錯誤或逾時的重複叫用

**注意:**未傳回錯誤或逾時的重複叫用,表示是用户端重試。

對於同步叫用

**注意:**同步叫用重試行為因 AWS 服務而異,具體取決於每個服務的事件來源映射。如需詳細資訊,請參閲事件驅動的叫用


相關資訊

使用 CloudTrail 事件歷史記錄查看事件

使用 AWS Lambda 函數的最佳實務

Lambda 函數擴展

為什麼我的 Lambda 函數重試有效的 Amazon SQS 訊息,並將它們放在我的無效信件佇列中?

AWS 官方
AWS 官方已更新 2 年前
沒有評論