DynamoDB - Amazon Serverless Application Model
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

DynamoDB

描述 DynamoDB 事件源类型的对象。有关更多信息,请参阅开发者指南中的Amazon LambdaAmazon Lambda 与亚马逊 DynamoDB 搭配使用

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

语法

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

属性

BatchSize

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

类型:整数

必需:否

默认值:100

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

最小值1

最大值1000

BisectBatchOnFunctionError

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

类型:布尔值

必需:否

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

DestinationConfig

丢弃的记录的 Amazon Simple Queue Service (Amazon SQS) 队列或 Amazon Simple Notification Service (Amazon SNS)主题目标。

类型DestinationConfig

必需:否

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

Enabled

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

类型:布尔值

必需:否

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

FilterCriteria

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

类型FilterCriteria

必需:否

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

FunctionResponseTypes

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

有效值ReportBatchItemFailures

类型:列表

必需:否

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

KmsKeyArn

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

类型:字符串

必需:否

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

MaximumBatchingWindowInSeconds

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

类型:整数

必需:否

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

MaximumRecordAgeInSeconds

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

类型:整数

必需:否

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

MaximumRetryAttempts

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

类型:整数

必需:否

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

MetricsConfig

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

类型MetricsConfig

必需:否

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

ParallelizationFactor

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

类型:整数

必需:否

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

StartingPosition

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

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

  • LATEST - 仅读取新记录。

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

有效值AT_TIMESTAMP | LATEST | TRIM_HORIZON

类型:字符串

必需:是

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

StartingPositionTimestamp

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

类型:双精度

必需:否

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

Stream

DynamoDB 流的 Amazon 资源名称(ARN)。

类型:字符串

必需:是

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

TumblingWindowInSeconds

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

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

类型:整数

必需:否

Amazon 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

现有 DynamoDB 表的 DynamoDB 事件源

账户中已存在的 DynamoDB 表的 DynamoDB 事件源。 Amazon

YAML

Events: DDBEvent: Type: DynamoDB Properties: Stream: arn:aws:dynamodb:us-east-1:123456789012:table/TestTable/stream/2016-08-11T21:21:33.291 StartingPosition: TRIM_HORIZON BatchSize: 10 Enabled: false

模板中声明的 DynamoDB 表的 DynamoDB 事件

在同一模板文件中声明的 DynamoDB 表的 DynamoDB 事件。

YAML

Events: DDBEvent: Type: DynamoDB Properties: Stream: !GetAtt MyDynamoDBTable.StreamArn # This must be the name of a DynamoDB table declared in the same template file StartingPosition: TRIM_HORIZON BatchSize: 10 Enabled: false