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
IAMロール作成
Lambdaで使用するロールを作成します。
信頼されたエンティティ:Lambda
ポリシー:AWSLambdaKinesisExecutionRole
ロール名を「lambda-kinesis-role」とします。
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-stream」にします。
テスト
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でログ確認できます。
チュートリアル
チュートリアル: Amazon Kinesis で AWS Lambda を使用する - AWS Lambda
このチュートリアルでは、Kinesis データストリームのイベントを処理する Lambda 関数を作成します。
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント