1
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?

lambda ローカルPC(Mac)で作成したNode.jsのプロジェクトファイルをzip化してアップロードする方法

Posted at

概要

ローカルPCで作成したランタイムNode.jsのプロジェクトファイルをzip化し、lambdaの処理に反映する方法を簡単にまとめる。

前提

ローカルPCでnpmコマンドが実行できること。
筆者はローカルPCのNode.jsのバージョン管理はVoltaを使用しており、Volta導入段階でnpmコマンドは実行できるようになった。
また、ランタイムはNode.js 20を使う。

方法

  1. 任意の場所にプロジェクトファイルを格納するディレクトリを作成する。

    mkdir notice_slack_function
    cd notice_slack_function
    
  2. 下記を実行してローカルのNode.jsのバージョンを20系にする。

    node -v
    volta install node@20
    node -v
    volta list
    
  3. 下記を実行してNode.jsのプロジェクトを初期化する。(-yオプションは初期化時に問われる質問にデフォルトで「Y」つまり「YES」と応えるオブション)

    npm init -y
    
  4. 上記を実行する とプロジェクトファイルを格納するディレクトリ(今回でいうとnotice_slack_function)のなかにpackage.jsonが作成される。

  5. 下記を実行してnotice_slack_functionのディレクトリ直下にindex.jsを作成する。

    touch index.js
    
  6. index.jsを開き、下記のように記載し保存する。

    notice_slack_function/index.js
    export const handler = async (event) => {
      // TODO implement
      const response = {
        statusCode: 200,
        body: JSON.stringify('Hello from Lambda! hogehoge'),
      };
      return response;
    };
    
  7. 下記を実行してプロジェクトファイルをzip化する。下記を実行すると、notice_slack_functionディレクトリの一つ上の階層にnotice_slack_function.zipが出力される。

    zip -r ../notice_slack_function.zip .
    
  8. あとはlambda関数を用意し、「アップロード元」をクリック、「.zipファイル」をクリック、「アップロード」をクリックして先ほどzip化した 「notice_slack_function.zip」をアップロードする。

    notice_bounce_for_slack_-_Lambda.png
    notice_bounce_for_slack_-_Lambda.png
    notice_bounce_for_slack_-_Lambda.png

  9. lambda側でhello worldテストを定義して実行すると下記のように返る。作業終了。

    notice_bounce_for_slack_-_Lambda.png

1
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
1
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?