Kinesis 应用程序的 Amazon SAM 模板 - Amazon Lambda
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Kinesis 应用程序的 Amazon SAM 模板

您可以使用 Amazon SAM 构建此应用程序。要了解有关创建 Amazon SAM 模板的更多信息,请参阅 Amazon Serverless Application Model 开发人员指南中的 Amazon SAM 模板基础知识

下面是教程中 Lambda 应用程序的示例 Amazon SAM 模板。模板中的函数和处理程序适用于 Node.js 代码。如果您使用不同的代码示例,请相应地更新这些值。

例 template.yaml - Kinesis 流
AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Resources: LambdaFunction: Type: AWS::Serverless::Function Properties: Handler: index.handler Runtime: nodejs18.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 流使用者
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

有关如何使用程序包和部署命令打包和部署无服务器应用程序的信息,请参阅 Amazon Serverless Application Model 开发人员指南中的部署无服务器应用程序