1
2

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.

Claudia.jsの始め方

Posted at

はじめに

サーバレスアプリケーションを構築するためにClaudia.jsを利用する。
Claudia.jsは以下の特徴がある。

  • AWSのAPI GatewayとLambdaを用いたREST APIを構築できる
  • 構築に利用する環境は、Node.jsである

実施環境

Mac 10.14.2
node 11.4.0
npm 6.5.0

開発環境構築

npmにより以下をインストールする。

$ npm i claudia -g

プロジェクトのフォルダを作成し、package.jsonを作成する。

$ mkdir test-api
$ cd test-api
$ npm init

プロジェクトに必要なパッケージをインストールする。

$ npm i -S claudia-api-builder
$ npm i -S aws-sdk

サンプルのアプリを作成する(チュートリアルと同じ)。

app.js
var ApiBuilder = require('claudia-api-builder')
var api = new ApiBuilder()

module.exports = api

api.get('/hello', function() {
  'use strict'
  return 'hello claudia.js'
})

AWSで以下を許可するポリシーを作成しIAMユーザにアタッチする。

  • API Gateway:フルアクセス
  • IAM : 完全: リスト, 読み込み, アクセス権限の管理 制限: 書き込み
  • Lambda : 制限: リスト, 読み込み, 書き込み

上記IAMユーザのアクセスキー及びシークレットアクセスキーを生成する。

生成したアクセスキー及びシークレットキーを.aws/credentialsに書き込む。

credentials
[claudia]
aws_access_key_id = xxxxxxxxxxxxxxxxxx
aws_secret_access_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

ここではプロファイル名をclaudiaとした。

AWSへのデプロイ

最初のデプロイは以下コマンドで実施する。

$ AWS_PROFILE=claudia claudia create --name testserver --region ap-northeast-1 --api-module app

実行した結果以下の情報がclaudia.jsonに出力される。

claudia.json
{
  "lambda": {
    "role": "testserver-executor",
    "name": "testserver",
    "region": "ap-northeast-1"
  },
  "api": {
    "id": "zzzzzzzzzz",
    "module": "app"
  }
}

以降、app.jsの修正を行った後は以下のコマンドで更新する(アクセスキー及びシークレットアクセスキーを特定するために最初にプロファイル名であるclaudiaを指定する)。

$ AWS_PROFILE=claudia claudia update

動作確認

デプロイが成功したらWebブラウザで以下にアクセスする。

https://.execute-api.ap-northeast-1.amazonaws.com/latest/hello

その結果、以下が返却されたら成功である。

hello claudia.js
1
2
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
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?