本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
DynamoDB
描述 DynamoDB 事件源类型的对象。有关更多信息,请参阅开发者指南中的Amazon LambdaAmazon Lambda 与亚马逊 DynamoDB 搭配使用。
Amazon SAM 生成一个 AWS::Lambda::EventSourceMapping设置此事件类型时的资源。
语法
要在 Amazon Serverless Application Model (Amazon SAM) 模板中声明此实体,请使用以下语法。
YAML
BatchSize:IntegerBisectBatchOnFunctionError:BooleanDestinationConfig:DestinationConfigEnabled:BooleanFilterCriteria:FilterCriteriaFunctionResponseTypes:ListKmsKeyArn:StringMaximumBatchingWindowInSeconds:IntegerMaximumRecordAgeInSeconds:IntegerMaximumRetryAttempts:IntegerMetricsConfig:MetricsConfigParallelizationFactor:IntegerStartingPosition:StringStartingPositionTimestamp:DoubleStream:StringTumblingWindowInSeconds:Integer
属性
-
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)主题目标。
必需:否
Amazon CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::EventSourceMapping资源的DestinationConfig属性。 -
Enabled -
禁用事件源映射以暂停轮询和调用。
类型:布尔值
必需:否
Amazon CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::EventSourceMapping资源的Enabled属性。 -
FilterCriteria -
定义用于确定 Lambda 是否应处理事件的条件的对象。有关更多信息,请参阅《Amazon Lambda 开发人员指南》中的 Amazon Lambda 事件筛选。
必需:否
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 事件。
必需:否
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