Kinesis - AWS Serverless Application Model

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

Kinesis

描述 Kinesis 事件源类型的对象。有关更多信息,请参阅《AWS Lambda 开发者指南》中的AWS Lambda 与 Amazon Kinesis 配合使用

AWS SAM 生成一个 AWS::Lambda::EventSourceMapping设置此事件类型时的资源。

语法

要在 AWS Serverless Application Model (AWS SAM) 模板中声明此实体,请使用以下语法。

属性

BatchSize

要在单个批次中检索的最大项目数。

类型:整数

必需:否

默认值:100

AWS CloudFormation 兼容性:此属性直接传递给AWS::Lambda::EventSourceMapping资源的BatchSize属性。

最小值1

最大值10000

BisectBatchOnFunctionError

如果函数返回错误,则将批次拆分为两批并重试。

类型:布尔值

必需:否

AWS CloudFormation 兼容性:此属性直接传递给AWS::Lambda::EventSourceMapping资源的BisectBatchOnFunctionError属性。

DestinationConfig

用于存放已丢弃记录的亚马逊简单队列服务 (AmazonSQS) 队列或亚马逊简单通知服务 (AmazonSNS) 主题目标。

类型DestinationConfig

必需:否

AWS CloudFormation 兼容性:此属性直接传递给AWS::Lambda::EventSourceMapping资源的DestinationConfig属性。

Enabled

禁用事件源映射以暂停轮询和调用。

类型:布尔值

必需:否

AWS CloudFormation 兼容性:此属性直接传递给AWS::Lambda::EventSourceMapping资源的Enabled属性。

FilterCriteria

定义用于确定 Lambda 是否应处理事件的条件的对象。有关更多信息,请参阅《AWS Lambda 开发人员指南》中的 AWS Lambda 事件筛选

类型FilterCriteria

必需:否

AWS CloudFormation 兼容性:此属性直接传递给AWS::Lambda::EventSourceMapping资源的FilterCriteria属性。

FunctionResponseTypes

当前应用于事件源映射的响应类型的列表。有关详细信息,请参阅《AWS Lambda 开发人员指南》中的报告批处理项目失败

有效值ReportBatchItemFailures

类型:列表

必需:否

AWS CloudFormation 兼容性:此属性直接传递给AWS::Lambda::EventSourceMapping资源的FunctionResponseTypes属性。

KmsKeyArn

用于加密与此事件相关的信息的密钥的 Amazon 资源名称 (ARN)。

类型:字符串

必需:否

AWS CloudFormation 兼容性:此属性直接传递给AWS::Lambda::EventSourceMapping资源的KmsKeyArn属性。

MaximumBatchingWindowInSeconds

在调用函数之前收集记录的最长时间(以秒为单位)。

类型:整数

必需:否

AWS CloudFormation 兼容性:此属性直接传递给AWS::Lambda::EventSourceMapping资源的MaximumBatchingWindowInSeconds属性。

MaximumRecordAgeInSeconds

Lambda 发送到函数以进行处理的记录的最长期限。

类型:整数

必需:否

AWS CloudFormation 兼容性:此属性直接传递给AWS::Lambda::EventSourceMapping资源的MaximumRecordAgeInSeconds属性。

MaximumRetryAttempts

在函数返回错误时重试的最大次数。

类型:整数

必需:否

AWS CloudFormation 兼容性:此属性直接传递给AWS::Lambda::EventSourceMapping资源的MaximumRetryAttempts属性。

MetricsConfig

一种可选配置,用于获取捕获每个处理阶段的事件源映射的增强指标。有关示例,请参阅MetricsConfig 事件

类型MetricsConfig

必需:否

AWS CloudFormation 兼容性:此属性直接传递给AWS::Lambda::EventSourceMapping资源的MetricsConfig属性。

ParallelizationFactor

要从每个分片中同时处理的批次数。

类型:整数

必需:否

AWS CloudFormation 兼容性:此属性直接传递给AWS::Lambda::EventSourceMapping资源的ParallelizationFactor属性。

StartingPosition

在流中开始读取数据的位置。

  • AT_TIMESTAMP – 指定开始读取记录的时间。

  • LATEST - 仅读取新记录。

  • TRIM_HORIZON - 处理所有可用的记录。

有效值AT_TIMESTAMP | LATEST | TRIM_HORIZON

类型:字符串

必需:是

AWS CloudFormation 兼容性:此属性直接传递给AWS::Lambda::EventSourceMapping资源的StartingPosition属性。

StartingPositionTimestamp

开始读取的时间(以 Unix 时间秒为单位) 在 StartingPosition 被指定为 AT_TIMESTAMP 的情况下定义 StartingPositionTimestamp

类型:双精度

必需:否

AWS CloudFormation 兼容性:此属性直接传递给AWS::Lambda::EventSourceMapping资源的StartingPositionTimestamp属性。

Stream

数据流或流使用者的 Amazon 资源名称 (ARN)。

类型:字符串

必需:是

AWS CloudFormation 兼容性:此属性直接传递给AWS::Lambda::EventSourceMapping资源的EventSourceArn属性。

TumblingWindowInSeconds

处理窗口的持续时间(以秒为单位)。有效范围为 1 到 900(15 分钟)。

有关更多信息,请参阅《AWS Lambda 开发人员指南》滚动窗口

类型:整数

必需:否

AWS CloudFormation 兼容性:此属性直接传递给AWS::Lambda::EventSourceMapping资源的TumblingWindowInSeconds属性。

示例

MetricsConfig 事件

以下是一个资源示例,该资源使用该MetricsConfig属性捕获其事件源映射的每个处理阶段。

Resources: FilteredEventsFunction: Type: AWS::Serverless::Function Properties: CodeUri: s3://sam-demo-bucket/metricsConfig.zip Handler: index.handler Runtime: nodejs16.x Events: KinesisStream: Type: Kinesis Properties: Stream: !GetAtt KinesisStream.Arn StartingPosition: LATEST MetricsConfig: Metrics: - EventCount

Kinesis 事件源

下面是一个 Kinesis 事件源。

YAML

Events: KinesisEvent: Type: Kinesis Properties: Stream: arn:aws:kinesis:us-east-1:123456789012:stream/my-stream StartingPosition: TRIM_HORIZON BatchSize: 10 Enabled: false FilterCriteria: Filters: - Pattern: '{"key": ["val1", "val2"]}'