1

我正在尋找一種方法來暫時禁用DynamoDB上的Lambda觸發器。我希望能夠在不將Lambda代碼作爲觸發器的情況下在表上應用手動更新(例如,從S3備份導入數據)。我嘗試了lambda函數「觸發器」選項卡中觸發器旁邊的禁用按鈕。我也嘗試禁用表的整個流。在這兩種情況下,當重新激活觸發器/流時,所有觸發事件(發生時,它們被禁用時)都會被執行。暫時禁用DynamoDB Lambda觸發器/流

如何防止此代碼被觸發?

非常感謝!

+2

將觸發器添加回lambda函數時,您將起始位置設置爲?在這種情況下它需要最新。如果設置爲TRIM_HORIZON,它將從流中最舊的記錄開始(流記錄保留24小時)。 –

+0

好吧,我想知道這是否是我的問題的關鍵。但我對此仍然有點不安。從lambda控制檯創建觸發器時,我可以設置起始位置。所以當我將觸發器設置爲在最新開始時,它將在禁用並再次手動啓用後執行此操作。但是,如果存在某種錯誤或瓶頸,它是否也會影響它通常的工作方式?是否仍然有保證,所有事件都將由觸發器處理?我不太清楚這個設置。不要忘記:已經感謝你,這對我來說是一個重要的答案! – weka1

+1

僅設置起始位置會影響從何處開始讀取流。除此之外,它根本不影響流的行爲。在lambda函數返回成功之前,流將不會繼續,因此如果遇到錯誤,則將使用相同的事件數據再次調用該函數。在這裏你必須小心,因爲如果它是你的代碼中的錯誤(即不是api調用錯誤),那麼你將會陷入這一點。然而,這是一個需要注意的問題,不管流的起始位置爲 –

回答