Windows で AWS Lambda デプロイしてドはまりした話
AWS Lambda にデプロイするのに,以下のサイトのように gulpfile でやることにしています。
要は
- js, node_modules をコピー
- zip にまとめる
- デプロイ
という段階を踏むのですが,とある関数がWindows環境からデプロイしたときだけ実行に失敗することに気づきました。曰く,require
を解決しようとしたがそんなファイルはないと。
展開してみるとファイル構造は変わっておらず,しばらくハマりました。
エクスプローラで同じようにZIPを作ってマネジメントコンソールからデプロイするときちんと動く。ということは gulp-zip
がおかしいのではないかと思い至りました。
ということで,Windows 環境からもデプロイされる可能性がある場合は gulp-archive-generator
を使うといいです。
gulp-zip
の代わりに差し替えてすぐ使えます。以前は gulp-zip
の issue にパーミッションの話題が出ていたのでそれかとも思ったのですがどうやらそれとは違うようで…。もう少し調べてみたいです。