2017-07-20 180 views
0

我錯誤地給了AWS Lambda函數錯誤的名稱。現在,我想改變它的名字。我從給定的stackoverflow問題中發現,最好的方法是創建一個新函數並將完全相同的代碼複製到它中。 Is it possible to rename an AWS Lambda function?AWS Lambda重命名函數

我想這樣做,但我只是擔心數據丟失。由於我的lambda目前有2個SNS觸發器,它不斷接收數據。所以,如果我停止這個lambda並創建新的lambda,那麼在那段時間內我會丟失一些數據。另外,如果我在刪除前一個新的lambda之前啓動新的lambda,我會在我的數據存儲中輸入兩次。那麼,有什麼方法可以用來完成這個任務嗎?

回答

1

正如@John Rotenstein所說,不可能重命名AWS Lambda。如果您查看Lambda的文檔(http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html),您將看到更新FunctionName需要更換實體。

如果指定名稱,則無法執行需要更換此資源的更新。您可以執行不需要或有一些中斷的更新。如果您必須替換資源,請指定一個新名稱。

如果您正在使用更復雜的系統工作,因爲它似乎是由於您的筆記SNS觸發,我會強烈建議你看看CloudFormation(https://aws.amazon.com/cloudformation/),它使用代碼來管理部署的服務。這不僅具有允許更輕鬆更新的好處,而且還可以實現代碼所固有的其他有趣的功能,例如與VCS集成。

作爲執行此遷移時的數據丟失防護策略,您可以創建新的Lambda並將其指向暫存數據庫,刪除舊的Lambda,將新的Lambda重新命名爲生產數據庫,並從暫存中推送更新數據庫導入生產數據庫。查看導入/導出文檔()以查看可能執行數據遷移的一種方法。

0

對於AWS Lambda函數,有無重命名函數

您可以改爲嘗試creating an alias to a Lambda function,這樣可以使兩個名稱同時工作。 (當存在不同版本時,通常會使用這個選項。)