Ist es möglich, eine AWS Lambda-Funktion umzubenennen?

77

Ich habe einige Lambda-Funktionen in AWS zu Testzwecken erstellt (als test_functionetwas bezeichnet). Nach dem Testen habe ich festgestellt, dass diese Funktionen in prod env verwendet werden können.

Ist es möglich, die Lambda-Funktion umzubenennen? und wie? Oder sollte ich einen neuen erstellen und den Quellcode kopieren und einfügen?

Sabrina Luo
quelle
1
Das ist AWS, denkst du wirklich, dass es so einfach ist? : D saugen UI :)
OZZIE

Antworten:

74

Am ehesten können Sie die Lambda-Funktion umbenennen, indem Sie einen Alias ​​verwenden, mit dem Sie eine bestimmte Version eines Lambda benennen können. Der tatsächliche Name der Funktion wird jedoch festgelegt, sobald Sie sie erstellen. Wenn Sie es umbenennen möchten, erstellen Sie einfach eine neue Funktion und kopieren Sie genau denselben Code hinein. Dies kostet Sie nichts extra (da Ihnen nur die Ausführungszeit in Rechnung gestellt wird), sodass Sie nichts verlieren.

Eine Referenz zum Benennen von Versionen der Lambda-Funktion finden Sie in der Dokumentation hier .

Chris Franklin
quelle
33
Sie würden denken, Amazon würde einfach das tun, was Sie unter der Haube gesagt haben, und mir erlauben, meine verdammte Umbenennungsfunktion zu haben :-)
Blundell
2

Sie können die Funktion nicht umbenennen. Sie können nur den hier bereits enthaltenen Vorschlägen folgen oder einen neuen erstellen und den Code kopieren.

Es ist eigentlich eine gute Sache, dass Sie es nicht umbenennen können: Wenn Sie dazu in der Lage wären, würde es nicht mehr funktionieren, da die an die Funktion angehängten Richtlinien immer noch auf den alten Namen verweisen, es sei denn, Sie würden jeden einzelnen manuell bearbeiten oder erstellen sie generisch (was schlecht beraten ist).

Als Best Practice in Bezug auf die Softwareentwicklung empfehle ich Ihnen jedoch, Produktion und Test (Staging) immer getrennt zu halten, um Ihre Umgebung effektiv zu duplizieren.

Auf diese Weise können Sie Inhalte in einer sicheren Umgebung testen. Wenn Sie einen Fehler machen, verlieren Sie nichts Wichtiges. Wenn Sie bestätigen, dass Ihre neuen Funktionen funktionieren, replizieren Sie sie in der Produktion.

In Ihrem Fall hätten Sie also zwei Lambdas, eines mit dem Namen "My-Lambda-Inszenierung" und das andere mit dem Namen "My-Lambda-Prod". Verwenden Sie die ENV-Variablen von Lambdas, um sich an die aktuelle Umgebung anzupassen, sodass Sie keine Umgestaltung vornehmen müssen!

wtfzambo
quelle
0

Meine Lösung besteht darin, die Funktion zu exportieren, ein neues Lambda zu erstellen und dann die ZIP-Datei auf das neue Lambda hochzuladen.

elliottregan
quelle
1
Wissen Sie, wie das über die Schnittstelle geht?
Darkace
Ich sehe, dass es nur Code exportiert / importiert . Für den Importcode: Funktionscode> Aktionen> ZIP-Datei hochladen / Datei von Amazon S3 hochladen.
Alditis