作成したLambda関数のテストを行います。
まず、sample-upload-bucketに適当なコンテンツをアップロードします。ここでは、S3 Bucketの直下にsample.txtというコンテンツをアップロードします。
続いてLambda関数のコンソール画面で、先ほど作成したLambda関数を選択し、「アクション」→「テストイベントの設定」とクリックします。サンプルイベントテンプレートを「S3 Put」とし、S3 Bucketの名前とコンテンツのkeyを以下のように修正します。
"s3": {
"configurationId": "testConfigRule",
"object": {
"eTag": "0123456789abcdef0123456789abcdef",
"sequencer": "0A1B2C3D4E5F678901",
"key": "sample.txt",
"size": 1024
},
"bucket": {
"arn": "arn:aws:s3:::mybucket",
"name": "sample-upload-bucket",
"ownerIdentity": {
"principalId": "EXAMPLE"
}
},
"s3SchemaVersion": "1.0"
}
テンプレートの修正が完了したら、「保存してテスト」をクリックします。すると、画面の下部に実行結果が表示されるので確認します。「complete!」と表示されていたら処理が完了しています。
実行結果の画面ではLambda関数の処理時間や使用したメモリを確認することもできます。
sample-copy-bucketの直下にsample.txtがコピーされていることを確認し、Lambda関数のテストは終了です。
最後にS3 Bucketのイベントトリガーを設定します。
Amazon S3のコンソール画面からsample-upload-bucketを選択後、「プロパティ」→「Events」とクリックします。今回はコンテンツのアップロード時にLambda関数を実行させたいので、イベントの種類は「Put」を選択し、送信先に先ほど作成したLambda関数を指定します。ここでは「sample-event」という名前でイベントトリガーを設定しました。
以上でサーバレスアプリケーションの構築は完了です。
では、構築したサーバレスアプリケーションをテストしてみます。
Amazon S3のコンソール画面で、sample-upload-bucketに適当なコンテンツをアップロードします。ここでは画像ファイル「sample-image.jpg」をアップロードします。
すると、sample-copy-bucketに同一のファイルがコピーされました。
今回はサンプルとなるサーバレスアプリケーションの構築を例にAWS Lambdaの実装方法を解説しましたが、いかがだったでしょうか。
次回はAWSとSlackとGitHubを連携させたより実用的なサーバレスアーキテクチャの構築方法について解説していきます。お楽しみに。
AWS Lambdaの実現するイベントドリブンなプログラミングが、IoTへの扉を開く
米マイクロソフト、AWS Lambda的なサービス「Azure Functions」を発表
米IBMがAWS Lambda的なサービスOpenWhiskを発表、オープンソース提供もCopyright © ITmedia, Inc. All Rights Reserved.