本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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: 1streamConsumer: 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 开发人员指南中的部署无服务器应用程序。