作成した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を連携させたより実用的なサーバレスアーキテクチャの構築方法について解説していきます。お楽しみに。
Copyright © ITmedia, Inc. All Rights Reserved.