Kinesis アプリケーション用の AWS SAM テンプレート - AWS Lambda

Kinesis アプリケーション用の AWS SAM テンプレート

を使用してこのアプリケーションをビルドすることができます。。AWS SAMAWS SAM テンプレートの詳細については、AWS SAM 開発者ガイドの「AWS Serverless Application Model テンプレートの基礎」を参照してください。

チュートリアルの Lambda アプリケーションのサンプル AWS SAM テンプレートを以下に示します。テンプレートの関数とハンドラは、Node.js コード用です。別のコードサンプルを使用する場合は、必要に応じて値を更新します。

例 template.yaml - Kinesis Stream

AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Resources: LambdaFunction: Type: AWS::Serverless::Function Properties: Handler: index.handler Runtime: nodejs12.x Timeout: 10 Tracing: Active Events: Stream: Type: Kinesis Properties: Stream: !GetAtt stream.Arn BatchSize: 100 StartingPosition: LATEST stream: Type: AWS::Kinesis::Stream Properties: ShardCount: 1 Outputs: FunctionName: Description: "Function name" Value: !Ref LambdaFunction StreamARN: Description: "Stream ARN" Value: !GetAtt stream.Arn

テンプレートは、Lambda 関数、Kinesis ストリーム、およびイベントソースマッピングを作成します。イベントソースマッピングは、ストリームから読み込み、関数を呼び出します。

HTTP/2 ストリームコンシューマーを使用するには、テンプレートでコンシューマーを作成し、ストリームからでなくコンシューマーから読み込むようにイベントソースマッピングを設定します。

例 template.yaml - Kinesis Stream コンシューマー

AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: A function that processes data from a Kinesis stream. Resources: function: Type: AWS::Serverless::Function Properties: Handler: index.handler Runtime: nodejs12.x Timeout: 10 Tracing: Active Events: Stream: Type: Kinesis Properties: Stream: !GetAtt streamConsumer.ConsumerARN StartingPosition: LATEST BatchSize: 100 stream: Type: "AWS::Kinesis::Stream" Properties: ShardCount: 1 streamConsumer: Type: "AWS::Kinesis::StreamConsumer" Properties: StreamARN: !GetAtt stream.Arn ConsumerName: "TestConsumer" Outputs: FunctionName: Description: "Function name" Value: !Ref function StreamARN: Description: "Stream ARN" Value: !GetAtt stream.Arn ConsumerARN: Description: "Stream consumer ARN" Value: !GetAtt streamConsumer.ConsumerARN

パッケージおよびデプロイコマンドを使用してサーバーレスアプリケーションをパッケージングしてデプロイする方法については、AWS Serverless Application Model 開発者ガイドの「サーバーレスアプリケーションのデプロイ」を参照してください。