張貼日期: Nov 25, 2019

AWS Lambda 現在支援兩項新功能,能為開發人員提供有關如何處理非同步叫用的額外控件:Maximum Event AgeMaximum Retry Attempts。當您非同步叫用函數時,Lambda 會將事件傳送至佇列。單獨的程序會從佇列讀取事件並執行您的函數。這兩項新功能提供了控制事件重試的方式,及其可在佇列中保留多長時間的方式。

Maximum Event Age

當函數在執行前傳回錯誤時,Lambda 會將事件傳回至佇列,並預設嘗試執行最多 6 小時。藉助 Maximum Event Age,您可以將佇列中事件的存留時間設定為 60 秒至 6 小時。這可讓您根據事件存留期刪除任何不需要的事件。

Maximum Retry Attempts

當函數在執行後傳回錯誤時,依預設,Lambda 會嘗試執行兩次以上。藉助 Maximum Retry Attempts,您可以自訂最大重試次數,範圍為 0 至 2。這可讓您選擇以更少或不重試的方式繼續處理新事件。

使用這兩項功能,若滿足以下兩個條件之一,則事件將被捨棄,或傳送至無法寄出信件佇列及/或 Lambda 目的地

您可以透過 AWS 管理主控台、AWS CLI、AWS CloudFormation 或 AWS SDK for Lambda 開始使用這兩項功能。在提供 AWS Lambda 的所有 AWS 區域皆可免費使用此功能。如需 AWS Lambda 適用區域的相關詳細資訊,請參閱 AWS 區域表。若要進一步了解,請參閱 AWS Lambda 開發人員指南 中的非同步叫用和此部落格文章