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

ステップ 2.1: Lambda 関数デプロイパッケージを作成する

[Filter View] リストから、Lambda 関数で使用する言語を選択します。該当するセクションに、デプロイパッケージを作成するためのコードと所定の手順が表示されます。

Node.js

  1. テキストエディターを開き、次のコードをコピーします。

    Copy
    console.log('Loading function'); exports.handler = function(event, context, callback) { // console.log('Received event:', JSON.stringify(event, null, 4)); var message = event.Records[0].Sns.Message; console.log('Message received from SNS:', message); callback(null, "Success"); };

    注記

    コードサンプルは、Node.js ランタイム v6.10 または v4.3 に準拠しています。詳細については、「プログラミングモデル (Node.js)」を参照してください。

  2. index.js という名前でファイルを保存します。

  3. index.js ファイルを LambdaWithSNS.zip という名前で圧縮します。

次のステップ

ステップ 2.2: 実行ロール (IAM ロール) を作成する

Java

テキストエディターを開き、次のコードをコピーします。

Copy
package example; import java.text.SimpleDateFormat; import java.util.Calendar; import com.amazonaws.services.lambda.runtime.RequestHandler; import com.amazonaws.services.lambda.runtime.Context; import com.amazonaws.services.lambda.runtime.events.SNSEvent; public class LogEvent implements RequestHandler<SNSEvent, Object> { public Object handleRequest(SNSEvent request, Context context){ String timeStamp = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss").format(Calendar.getInstance().getTime()); context.getLogger().log("Invocation started: " + timeStamp); context.getLogger().log(request.getRecords().get(0).getSNS().getMessage()); timeStamp = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss").format(Calendar.getInstance().getTime()); context.getLogger().log("Invocation completed: " + timeStamp); return null; } }

前述のコード (LambdaWithSNS.java という名前のファイル) を使用して、デプロイパッケージを作成します。必ず次の依存関係を追加してください。

  • aws-lambda-java-core

  • aws-lambda-java-events

詳細については、「Java で Lambda 関数を作成するためのプログラミングモデル」を参照してください。

デプロイパッケージは、.zip ファイルまたはスタンドアロン .jar とすることができます。デプロイパッケージを作成するために、使い慣れた任意のビルドおよびパッケージ化ツールを使用できます。Maven ビルドツールを使用してスタンドアロン .jar を作成する方法の例については、「IDE なしで Maven を使用した .jar デプロイパッケージの作成 (Java)」および「Maven および Eclipse IDE を使用した .jar デプロイパッケージの作成 (Java)」を参照してください。Gradle ビルドツールを使用して .zip ファイルを作成する方法の例については、「.zip デプロイパッケージの作成 (Java)」を参照してください。

デプロイパッケージが作成されたことを確認したら、次のステップに進んで IAM ロール (実行ロール) を作成します。Lambda 関数の作成時にそのロールを指定します。

次のステップ

ステップ 2.2: 実行ロール (IAM ロール) を作成する

Python

  1. テキストエディターを開き、次のコードをコピーします。

    注記

    from __future__ ステートメントを使用すると、Python 2 または 3 と互換性のあるコードを作成できます。ランタイムバージョン 3.6 を使用している場合は、これを含める必要はありません。

    Copy
    from __future__ import print_function import json print('Loading function') def lambda_handler(event, context): #print("Received event: " + json.dumps(event, indent=2)) message = event['Records'][0]['Sns']['Message'] print("From SNS: " + message) return message

  2. lambda_handler.py という名前でファイルを保存します。

  3. lambda_handler.py ファイルを LambdaWithSNS.zip という名前で圧縮します。

次のステップ

ステップ 2.2: 実行ロール (IAM ロール) を作成する

このページの内容: