AWS Lambda
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Kinesis 应用程序的 AWS SAM 模板

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

下面是教程中 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: nodejs8.10 Timeout: 10 Tracing: Active Events: Stream: Type: Kinesis Properties: Stream: !GetAtt KinesisStream.Arn BatchSize: 100 StartingPosition: LATEST KinesisStream: Type: AWS::Kinesis::Stream Properties: ShardCount: 1 Outputs: FunctionName: Description: "Function name" Value: !Ref LambdaFunction StreamARN: Description: "Stream ARN" Value: !GetAtt KinesisStream.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: kinesisprocessrecordpython: Type: AWS::Serverless::Function Properties: Handler: index.handler Runtime: nodejs8.10 Timeout: 10 Tracing: Active Events: Stream: Type: Kinesis Properties: Stream: !GetAtt StreamConsumer.ConsumerARN StartingPosition: LATEST BatchSize: 100 KinesisStream: Type: "AWS::Kinesis::Stream" Properties: ShardCount: 1 StreamConsumer: Type: "AWS::Kinesis::StreamConsumer" Properties: StreamARN: !GetAtt KinesisStream.Arn ConsumerName: "TestConsumer" Outputs: FunctionName: Description: "Function name" Value: !Ref LambdaFunction StreamARN: Description: "Stream ARN" Value: !GetAtt KinesisStream.Arn ConsumerARN: Description: "Stream consumer ARN" Value: !GetAtt StreamConsumer.ConsumerARN

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