電話番号 電話番号 お問い合わせ

受付時間 平日10:00~18:00

TOP

資料ダウンロードはこちら >>

ロゴ

AWSやシステム・アプリ開発の最新情報|クロスパワーブログ

AWS Lambda

AWS Lambda LayersのNode.jsでの使い方

Node.js

AWS Lambda LayersをNode.jsで使う方法をお伝えします。

 

細かい制約事項はAWS Documentに載っていますので参考にしてください。

https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/configuration-layers.html

 

今回作成する全体構成は次のようになります。

 

 

カッコ内は今回作成する関数の名前です。

 

Layer作成

 

まずLayerを作成します。

 

ローカルPC上の適当な所に下記のソースファイルを作成してください。

 

XpYamaLayer.js


module.exports = {
    getHello: () => {
        return 'hello';
    }
};

 

XpYamaLayer.jsをzipファイルに圧縮します(zipのファイル名は何でも大丈夫です)。

 

 

Layerのアップロード

 

AWS管理コンソールに入りLambdaの管理画面を開きます。

 

画面左のメニューに「Layers」という項目があるので開いてください。

 

 

「レイヤーの作成」ボタンからレイヤーの作成画面を開き、先ほど作成したzipファイルをアップロードします。

 

 

「互換性のあるランタイム」は「Node.js 8.10」を選択しておいてください。

 

「作成」ボタンを押してLayerの作成は完了です。

 

 

Lambdaの作成

 

node.js 8.10でLamda関数を作成します。

 

 

 

「Layers」の「レイヤーの追加」を押します。

 

 

先ほど作成したLayerを選択します。

 

 

 

XpYamaFuncを選択してLambdaのソースを書きます。

 

 

次のソースを貼り付けてください。

 


var XpYamaLayer = require('/opt/XpYamaLayer');

exports.handler = async (event) => {

    const response = {
        statusCode: 200,
        body: XpYamaLayer.getHello()
    };

    return response;
};

 

短いコードなので説明は省略します。

 

保存して実行(テスト)してみます。

テストイベントの設定が聞かれますが、イベントの内容は使わないので適当で大丈夫です。

 

正常に実行できると次のような結果になります。

 

 

XpYamaFuncの7行目「XpYamaLayer.getHello()」でLayerの関数を呼んでいるのが分かります。

 

最後に

 

LambdaでDBの接続情報なんかを扱う場合や、何かと共通的な処理が必要になることがあります。

Layerに入れておけば色々な所で参照できて便利なので、どんどん使ってみてください。