Webベースのエディターを使用して、いくつかのLambda関数を作成しました。ここまでは順調ですね。モジュール(promiseのQなど)でこれらの拡張を開始したいと思います。モジュールをLambdaに出力して、関数で使用できるようにする方法がわかりません。
私はを通じて読んだ本が、EC2を設定し、そこからラムダ関数を実行している関与しているようです。関数を作成するときにzipをアップロードするメカニズムがありますが、ローカルで開発された関数を送信する必要があるようです。私は奇妙なワークフローのように思えるWebベースのエディターで作業しているので。
Lambda関数で使用するためにいくつかのモジュールを単にデプロイするにはどうすればよいですか?
.zip
ファイルをアップロードせずにNPMモジュールをロードすることはできませんが、実際にはこのプロセスを2つの簡単なコマンドラインにまとめることができます。
方法は次のとおりです。
Lambda関数ファイルを別のディレクトリに配置します。これは、npm
ローカルでLambdaのパッケージをインストールし、Lambdaにアップロードするものを分離してテストできるようにするためです。
npm install packageName
手順1で作成した別のLambdaディレクトリにいるときに、NPMパッケージをローカルにインストールします。
ローカルで実行するときに関数が機能することを確認しますnode lambdaFunc.js
(export.handler
コードの2 行をコメント化して、コードをノードでローカルで実行するように調整できます)。
ラムダのディレクトリに移動し、圧縮した内容を確認して、ないディレクトリ自体を含めること。
zip -r lambdaFunc.zip .
あなたがaws-cli
あなたの人生をより簡単にしたいなら私が持っていることをお勧めしますがインストールされているなら、あなたは今このコマンドを入力することができます:
aws lambda update-function-code --function-name lambdaFunc \
--zip-file fileb://~/path/to/your/lambdaFunc.zip
(あなたが私と同じように不思議に思った場合に備えて、上のlambdaFunc部分を引用符で囲まないでください)
これで、Lambdaコンソールで[ テスト ]をクリックできます。
上記のコマンドの両方に短いエイリアスを追加することをお勧めします。これは私がずっと長いLambda updateコマンドのために持っているものです:
alias up="aws lambda update-function-code --function-name lambdaFunc \
--zip-file fileb://~/path/to/your/lambdaFunc.zip"
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加