2017-07-20 12 views
0

誤ってAWSラムダ関数に間違った名前を付けました。さて、私はその名前を変更したかったのです。私は、与えられたstackoverflowの質問から、それを行う最善の方法は、新しい関数を作成し、それにまったく同じコードをコピーすることであることがわかりました。 Is it possible to rename an AWS Lambda function?AWSラムダ関数の名前を変更

私はそれを行うと考えていますが、私はデータの損失が心配です。私のラムダは現在、常にデータを受信して​​いるところから2つのSNSトリガを持っています。ですから、このラムダを止めて新しいラムダを作成すると、その間にデータが失われてしまいます。また、以前のlambdaを削除する前に新しいlambdaを起動すると、データストアのエントリが2回必要になります。では、これを行うために私が使用できる方法はありますか?

答えて

1

@John Rotenstein氏によると、AWSラムダの名前を変更することはできません。 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ラムダ機能のためのの名前変更機能がありません。です。

代わりに、両方の名前を同時に使用できるようにするcreating an alias to a Lambda functionを試すことができます。これは通常、異なるバージョンが存在する場合に使用されます。