Amazon Kinesis + Lambda(node.js v18)

Amazon Kinesis + Lambda(node.js v18)

チュートリアルをします。

前提

項目 バージョン
AWS CLI aws-cli/2.11.23 Python/3.11.3 Windows/10 exe/AMD64 prompt/off
OS Ubuntu22.04

Kinesis Stream作成

Kinesis Streamを作成します。データストリーム名を「lambda-stream」とします。

$ aws kinesis create-stream --stream-name lambda-stream --shard-count 1

kinesis

IAMロール作成

Lambdaで使用するロールを作成します。

信頼されたエンティティ:Lambda
ポリシー:AWSLambdaKinesisExecutionRole

ロール名を「lambda-kinesis-role」とします。

Amazon Kinesis + Lambda(node.js v18)

Amazon Kinesis + Lambda(node.js v18)

Lambda(node.js v18)

index.mjs

export const handler = async(event) => {
  event.Records.forEach((record) => {
    var payload = Buffer.from(record.kinesis.data, 'base64').toString('ascii');
    console.log('Decoded payload:', payload);
  });
};

「ProcessKinesisRecords」でLambdaデプロイします。

実行ロールを先ほど作成した「lambda-kinesis-role」にします。

lambda

トリガー追加します。先ほど作成した「lambda-stream」にします。

trigger

trigger

テスト

aws kinesis put-recordコマンドでテストします。

$ aws kinesis put-record --stream-name lambda-stream --partition-key 1 \
  --data "Hello, this is a test." \
  --cli-binary-format raw-in-base64-out
{
  "ShardId": "shardId-000000000000",
  "SequenceNumber": "49635285524434616834825878913982798946789144242637766678"
}

CloudWatch Logsでログ確認できます。

log

チュートリアル

チュートリアル: Amazon Kinesis で AWS Lambda を使用する - AWS Lambda
このチュートリアルでは、Kinesis データストリームのイベントを処理する Lambda 関数を作成します。

コメント

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました