メニュー
AWS Lambda
開発者ガイド

ステップ 2.3: Lambda 関数を作成して手動で呼び出す (サンプルイベントデータを使用)

このセクションでは、以下の作業を行います。

  • デプロイパッケージをアップロードして、Lambda 関数を作成します。

  • Lambda 関数を手動で呼び出してテストします。イベントソースを作成する代わりに、サンプルイベントデータを使用します。次のセクションでは、Android モバイルアプリを作成し、エンドツーエンドのエクスペリエンスをテストします。

ステップ 2.3.1: Lambda 関数を作成する (デプロイパッケージをアップロードする)

このステップでは、AWS CLI を使用してデプロイパッケージをアップロードします。

コマンドプロンプトで、create-functionadminuser を使用して、次の Lambda CLI の profile コマンドを実行します。

このコマンドは、.zip ファイルのパスと実行ロールの ARN に実際の値を指定して更新する必要があります。--runtime パラメータ値には、コードの作成用に選択した言語に応じて、nodejs6.10nodejs4.3 または java8 のいずれかを指定します。

Copy
$ aws lambda create-function \ --region us-east-1 \ --function-name AndroidBackendLambdaFunction \ --zip-file fileb://file-path-to-jar-or-zip-deployment-package \ --role execution-role-arn \ --handler handler-name \ --runtime runtime-value \ --profile adminuser

オプションとして、同じ AWS リージョンの Amazon S3 バケットに .zip ファイルをアップロードし、前述のコマンドでそのバケットとオブジェクト名を指定することもできます。次に示すように、--zip-file パラメーターを --code パラメーターで置き換える必要があります。

Copy
--code S3Bucket=bucket-name,S3Key=zip-file-object-key

注記

AWS Lambda コンソールを使用して Lambda 関数を作成できます。その場合には、AWS CLI コマンド create-function のパラメーターの値をメモしておきます。コンソール UI で同じパラメーター値を指定します。

ステップ 2.3.2: Lambda 関数をテストする (手動で呼び出す)

サンプルイベントデータを使用して手動で関数を呼び出します。コンソールを使用して関数を呼び出すことをお勧めします。コンソールには、実行の要約、コードによって書き込まれたログ、関数が返した結果など、実行の結果を確認しやすい UI が用意されているためです (これは、コンソールが常に同期実行を行う、つまり RequestResponse 呼び出しタイプを使用して Lambda 関数を呼び出すからです)。

Lambda 関数をテストするには (AWS マネジメントコンソール)

  1. 「開始方法」の演習の手順に従って、Lambda 関数を作成して呼び出します (「ステップ 2.2: Lambda 関数を手動で呼び出し、結果、ログ、メトリクスを確認する」を参照)。Lambda 関数を選択したら、[Actions] メニューの [Configure test event] を選択して、以下のサンプルイベントデータを指定します。

    Copy
    { "firstName": "first-name", "lastName": "last-name" }
  2. コンソールで結果を確認します。

    • [Execution result] は Succeeded と以下の戻り値になります。

      Copy
      { "greetings": "Hello first-name, last-name." }
    • [Summary] および [Log output] セクションで確認します。

Lambda 関数をテストする (AWS CLI)

  1. 以下のサンプルイベント JSON を input.txt ファイル に保存します。

    Copy
    { "firstName": "first-name", "lastName": "last-name" }
  2. 以下の invoke コマンドを実行します。

    Copy
    $ aws lambda invoke \ --invocation-type Event \ --function-name AndroidBackendLambdaFunction \ --region us-east-1 \ --payload file://file-path/input.txt \ --profile adminuser outputfile.txt

    注記

    このチュートリアルの例では、メッセージは outputfile.txt ファイルに保存されます。同期実行 (呼び出しタイプが RequestResponse) をリクエストした場合、その関数は応答の本文で文字列メッセージを返します。

    Node.js の場合は、次のいずれかです (コード内で指定している)。

    context.succeed("message")

    context.fail("message")

    context.done(null, "message)

    Java の場合、return ステートメントにあるのがメッセージです。

    return "message"

次のステップ

ステップ 3: Amazon Cognito ID プールを作成する