ES6をトランスパイルしてAWS Lambdaで使用する方法




手順

  1. babel-cliのインストールと設定
  2. babel-cliでトランスパイル
  3. コードをZIP化してLambdaにアップロード
  4. アップロードした関数を登録

1. babel-cliのインストールと設定

下記コマンドでインストールできます。

npm install -g babel-cli

.babelrcに下記設定をするとNode.jsのバージョンに合わせてトランスパイルできます。

{
    "presets": [
        [
            "env", {
                "targets": {
                    "node": "current"
                }
            }
        ]
    ]
}

2. babel-cliでトランスパイル

script/hello.jsというファイルがある場合、下記コマンドでdstディレクトリ内にトランスパイルしてくれます。

babel script -d dst

ファイルの中はシンプルにこれだけとしときます。

function world(event, context, callback) {
    console.log('Hello World!!');
    callback(null, 'Hello from Lambda');
};

export default world;

3. コードをZIP化してLambdaにアップロード

zip化は下記コマンドでできます。注意しないといけないのがトランスパイルした後のファイル(dst/hello.js)をzip化してください。npmモジュールを使用している場合はnodemodulesもzip対象に指定するのを忘れないようにしてください。

zip -r Lambda.zip dst/hello.js node_modules

4.アップロードした関数を登録

今回だと関数の登録名はdst/hello.worldになります。一応zip化した後のディレクトリ構成を確認しておくといいかと思います。

関連記事

おすすめ書籍

AWSをこれから使う初心者の方から現在使っている中級者の方までおすすめできる書籍です。内容はVPC、セキュリティグループ、IAMなどの基本的なことからWEBサービスを作るのに欠かせない、EC2、RDS、Route53などの扱い方が丁寧に説明されています。

中級者向けにはWEBサーバのオートスケール、Cloud Watchを使ったモニタリング方法、セキュリティ等について解説されています。手元において困ったときに読むのにちょうどいい一冊になると思います。

The following two tabs change content below.

髙妻智一

2013年CyberAgent新卒入社 スマホゲームを作る子会社に所属し、サーバーサイドのエンジニアを担当。2年目の終わりから新規子会社の立ち上げに参加し、サーバーサイドのエンジニアリーダーとしてサービースのリリースから運用までを担当。 2018年仮想通貨のスマホウォレットを提供するGinco Incにブロックチェーンエンジニアとして入社。






よく読まれている関連記事はこちら




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です