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

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

DynamoDB

描述 DynamoDB 事件源类型的对象。有关更多信息,请参阅 AWS LambdaAmazon DynamoDB 中的 与 AWS Lambda Developer Guide 一起使用

在设置此事件类型时,AWS SAM 会生成 AWS::Lambda::EventSourceMapping 资源。

语法

在您的 中声明此实体 AWS 无服务器应用程序模型 (AWS SAM) 模板时,请使用以下语法。

属性

BatchSize

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

类型:整数

必需: 否

默认值:100

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

最低: 1

最高: 1000

BisectBatchOnFunctionError

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

类型:布尔值

必需: 否

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

DestinationConfig

已丢弃记录的 Amazon SQS 队列或 Amazon SNS 主题目标。

类型: DestinationConfig

必需: 否

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

Enabled

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

类型:布尔值

必需: 否

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

MaximumBatchingWindowInSeconds

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

类型:整数

必需: 否

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

MaximumRecordAgeInSeconds

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

类型:整数

必需: 否

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

MaximumRetryAttempts

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

类型:整数

必需: 否

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

ParallelizationFactor

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

类型:整数

必需: 否

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

StartingPosition

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

有效值TRIM_HORIZON 或者 LATEST

类型:字符串

必需: 是

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

Stream

流的 ARN。DynamoDB

类型:字符串

必需: 是

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

TumblingWindowInSeconds

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

有关更多信息,请参阅 https://docs.amazonaws.cn/lambda/latest/dg/with-ddb.html#streams-tumbling 中的滚动窗口AWS Lambda Developer Guide。

类型:整数

必需: 否

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

示例

DynamoDB 现有 DynamoDB 表的 事件

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

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