0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS LambdaのコードエディタでDeploy時の困りごと

Last updated at Posted at 2023-02-13

【2024/10/23更新】

神アップデートが来ました!!
Lambda関数のコードエディタがVSCodeに!!
https://aws.amazon.com/jp/about-aws/whats-new/2024/10/aws-lambda-code-editor-based-code-oss/

なんと、このエディターの大幅改良により、以下のバグは再現が見られなくなっている模様で、解決されているようにみえます。
時間がかかったけど、ありがとうAWS!

以下は、参考までに残しておきます。

Deployボタンを押して保存したはずなのに

AWS Lambdaでは、いくつかの言語でWeb上のコードエディタで直接コードが編集できます。

ある程度のコードを書いた後、保存するときに押すのが Deploy ボタンです。

以前から Deployボタンを押す直前に入力したいくつかの文字が保存されない 場合がある問題(バグっぽいもの)があり、悩まされています。

再現方法とログ

いつも再現できるか分かりませんが、手元では以下のように実施して一発で再現できました。

Pythonで、一から作成として、普通にサンプルのプログラムを作成します。

そこに、以下の1行を追記します。

print('abcdefghijklmnopqrstuvwxyz')

まず1回目の Deploy ボタンを押します。

z の後に、今度は大文字で ABCDEFGHIJKLMNOPQRSTUVWXYZ を追記して、2回目の Deploy ボタンを押して更新します。

コードとしては以下が入力された状態です。

print('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')

サンプルの入力データで、テストを実行します。→ 最後の3文字が抜け落ちました。

XYZ が欠けた例

lambda_edit_u1.png
(本筋ではないですが、TとUが逆でした..)

再度ページを開きなおすと、確かに保存できていませんでした。
lambda_edit_u2.png

感覚的には、25%以上の確率でこうなります。

原因?

異なるパソコン、異なるWebブラウザ、異なるAWSアカウントでも発生し、Skill Builderの一時的な環境でも発生することを確認していますので、自分の環境の問題ではないでしょう。

内部の動作であれば、推測することしかできないですが、エディタは Cloud9 が使われているようなので、そこへ最後の文字が渡るタイミングより前に、Deployの処理(Zip化とか)が先に動いているのでは?と思ったりします。

回避策

自分でやっているのは、全ての文字を入力した後に 意味のない改行を3~5文字ぐらい入れて、その改行を消す、ということを、Deploy 前に毎回やっています。

一般的なスクリプト言語は、改行の量が多少違ってるぐらいだと全く影響がないですので。

うーん、改善されてほしい

マネージメントコンソールの左下にある feedback リンクから、ここ1年以内で 日本語で2回、英語で1回、合計3回、フィードバックしていますので、ぜひ中の人はよろしくお願いします。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?