11
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Netlify で Lamdba function を Deploy する

Posted at

まだ alpha 版の機能です。Document は以下にあります。

サンプル構成の作成

$ mkdir netlam
$ npm init 
$ npm i babel-core babel-loader netlify-lambda

babel 関連ライブラリが必要なのはバグかなにかか。後で修正されると思う。

netlify-lamdba は netlify で Lamdba デプロイ時にビルドしたり ローカルでエミュレートしたりしてくれる便利なコマンドです。

とりあえず以下のような構成でファイルを配置してみる。

├── README.md
├── netlify.toml
├── package.json
├── public
│   └── index.html
└── src
    ├── fuga.js
    └── hello.js

public は netlify 静的サイトホスティングで必要な構成です。とりあえずindex.html をUPしておく。

netlify.toml には以下のような形で Lamdba ビルド構成を記述していく。

[build]
  Command = "npm run build"
  functions = "functions"
  publish = "public"

functions には lamdba配信用のスクリプトがあるフォルダ名を記述。ここで指定したフォルダ名はビルド時に自動的に生成されるので存在しなくてOK

src/hello.js にはLamdba 用のスクリプトを記述

exports.handler = function(event, context, callback) {
  callback(null, {
    statusCode: 200,
    body: "Hello, World"
  });
}

最後にビルド用のコマンドを package.json に

{
  ....
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "netlify-lambda build src"
  },
  ....
}

netlify-lambda build src は srcをコンパイルして、netlify.toml で指定したディレクトリに展開してくれるコマンド

この状態で netlify-lambda serve src コマンドを叩いて、エミュレートサーバをローカルで建てたれる。

Deploy

デプロイ時のビルドコマンドは指定しなくてOK

無事にUPされると、Netlify のメニューの functions タブに、配信されている API の一覧と エントリURLが表示される。

console.logや実行された履歴などがログで見れるようになっていて結構便利

11
7
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
11
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?