CodeZine(コードジン)

特集ページ一覧

初めてのAWS Lambda
~AWS Lambdaで始めるイベントドリブンアプリケーション

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

目次

AWS Lambdaの使い方

 さて、ここからは実際のAWS Lambdaの使い方について簡単な例をもとに見ていきます。

例1:ユーザアプリケーションのイベントを処理する

 AWS Lambdaのコンソールを利用して、ユーザアプリケーションのイベントを処理する一番シンプルな例を実際にやっていきます。ここではマネージメントコンソール上でLambdaファンクションを作成します。コードはコンソール上で提供されているHelloWorldのサンプルコードを利用します。また、イベントに関してもコンソール上で提供されているサンプルのイベントデータを使って手動でファンクションを実行します。実行すると画面上にログが出力されるのでファンクションが実際に動いたことが確認できます。また、このログは自動的にAmazon CloudWatchへも連携されます。

 まずは、マネージメントコンソールにサインインし、AWS Lambdaのコンソールを開いてください。まだ何もLambdaファンクションが作成されていない場合は「Get Started Now」というボタンが表示されていますのでそれをクリックします。

Lambdaファンクション未作成の場合
Lambdaファンクション未作成の場合

 もし以前にLambdaファンクションを作成したことがある場合は、代わりに全ファンクションのリストが表示されているはずです。その場合は画面上部の「Create a AWS Lambda function」をクリックします。

 そうすると新しいLambdaファンクションを作成する画面が表示されますので、詳細を入力していきます。

Lambdaファンクション作成
Lambdaファンクション作成

 まず、新しいLambdaファンクションに名前を付け、説明書きを加えます。ここではHelloWorldとしています。

Lambdaファンクション名
Lambdaファンクション名

 次に実際のコードですが、今回は組み込みのインラインエディタを利用します。また、あらかじめ用意されているテンプレートを使ってテストしますので、Code TemplateのドロップダウンリストからHelloWorldを選んでください。

コードテンプレートの選択
コードテンプレートの選択

 実際のコードの中身は以下のようなシンプルなものです。

HelloWorld.js
console.log('Loading event');

exports.handler = function(event, context) {
    console.log('value1 = ' + event.key1);
    console.log('value2 = ' + event.key2);
    console.log('value3 = ' + event.key3);
    context.done(null, 'Hello World');  // SUCCESS with message
};

 コード上の"handler"がHandler Nameとなります。また、パラメータとして受け取るeventに実際のイベントデータが入ってきます。上記のコードではイベントデータのkey1、key2、key3の値をそれぞれログ出力しています。

 続けて、実行時にどのIAMロールを利用するかを指定します。ここで設定するIAMロールはExecution roleの方です。事前に作成済みのものをドロップダウンリストから選択して適用することも可能ですし、この場で新たに作成することも可能です。今回は新規に作成します。「Create/Select Role」と書かれたボタンをクリックします。

IAMロールの作成/選択
IAMロールの作成/選択

 ボタンをクリックするとIAMロールの設定画面が表示されますが、IAMロールの箇所が「Create a new role」となっていることを確認し、「Allow」をクリックします。こうすることでデフォルトでファンクション名を元にした名前で必要な権限を持ったIAMロールが作成されます。

IAMロールの新規作成
IAMロールの新規作成

 Advanced settingsのセクションはデフォルトで選択されている値のままとします。メモリサイズやタイムアウト時間を変更する場合はこのセクションで設定します。

 最後に「Create Lambda function」をクリックすることでLambdaファンクションが作成され、コンソール上にリスト画面が表示されます。

Lambdaファンクション作成後の状態
Lambdaファンクション作成後の状態

 では、早速作成したファンクションをテストしていきます。今回はコンソール上で用意されているテスト画面でサンプルのイベントデータを利用してテストします。

 Lambda: Function Listのページでファンクション名の左にある三角のアイコンをクリックし、ファンクションの情報を展開します。「Edit/Test」というボタンが表示されるのでこちらをクリックします。

Lambdaファンクションのテスト
Lambdaファンクションのテスト

 表示された画面でSample EventにCustomを選択して「Invoke」をクリックします。

サンプルイベントの選択
サンプルイベントの選択

 画面下部に実行結果のログが表示されるので内容を確認します。

 メッセージとしてサンプルのイベントデータに含まれるkey1、key2、key3にそれぞれ対応したvalue1、value2、value3という値が表示されていることが分かります。また、ここには実際に実行された処理時間や使用されたメモリサイズの情報なども出力されています。

テスト結果の確認
テスト結果の確認

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

All contents copyright © 2005-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5