簡體   English   中英

AWS Lambda 重命名函數

[英]AWS Lambda rename the function

我錯誤地為 AWS Lambda 函數指定了錯誤的名稱。 現在,我想改變它的名字。 我從給定的 stackoverflow 問題中發現,最好的方法是創建一個新函數並將完全相同的代碼復制到其中。 是否可以重命名 AWS Lambda 函數?

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

正如@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 重新指向您的生產數據庫,並將更新從您的臨時數據庫推送到您的生產數據庫。 查看導入/導出文檔 ( http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBPipeline.html ) 以查看您可以執行數據遷移的一種方法。

AWS Lambda 函數沒有重命名函數。

您可以改為嘗試 為 Lambda 函數創建一個別名,以允許兩個名稱同時運行。 (這通常在存在不同版本時使用。)

作為解決方案,您也可以使用SAM!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM