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

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

DocumentDB

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

语法

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

YAML

BatchSize: Integer Cluster: String CollectionName: String DatabaseName: String Enabled: Boolean FilterCriteria: FilterCriteria FullDocument: String MaximumBatchingWindowInSeconds: Integer SecretsManagerKmsKeyId: String SourceAccessConfigurations: List StartingPosition: String StartingPositionTimestamp: Double

属性

BatchSize

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

类型:整数

必需:否

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

Cluster

Amazon DocumentDB 集群的 Amazon 资源名称(ARN)。

类型:字符串

必需:是

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

CollectionName

将使用的数据库中集合的名称。如果您未指定集合,Lambda 会使用所有集合。

类型:字符串

必需:否

Amazon CloudFormation 兼容性:此属性直接传递给AWS::Lambda::EventSourceMappingDocumentDBEventSourceConfig数据类型的 CollectionName属性。

DatabaseName

将使用的 Amazon DocumentDB 集群中数据库的名称。

类型:字符串

必需:是

Amazon CloudFormation 兼容性:此属性直接传递给AWS::Lambda::EventSourceMappingDocumentDBEventSourceConfig数据类型的 DatabaseName属性。

Enabled

如果为 true,则事件源映射处于活动状态。要暂停轮询和调用,设置为 false

类型:布尔值

必需:否

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

FilterCriteria

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

类型:FilterCriteria

必需:否

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

FullDocument

确定 Amazon DocumentDB 在文档更新操作期间将向您的事件流发送的内容。如果设置为 UpdateLookup,Amazon DocumentDB 将发送一个描述所发生更改的增量以及完整文档的副本。否则,Amazon DocumentDB 将仅发送包含更改的部分文档。

类型:字符串

必需:否

Amazon CloudFormation 兼容性:此属性直接传递给AWS::Lambda::EventSourceMappingDocumentDBEventSourceConfig数据类型的 FullDocument属性。

MaximumBatchingWindowInSeconds

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

类型:整数

必需:否

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

SecretsManagerKmsKeyId

来自 Secrets Manager 的客户托管密钥的 Amazon Key Management Service (Amazon KMS) Amazon 密钥 ID。当您以不包含 kms:Decrypt 权限的 Lambda 执行角色使用来自 Secrets Manager 的客户托管密钥时,此为必需。

此属性的值为 UUID。例如:1abc23d4-567f-8ab9-cde0-1fab234c5d67

类型:字符串

必需:条件

Amazon CloudFormation 兼容性:此属性是独有的 Amazon SAM ,没有 Amazon CloudFormation 等效属性。

SourceAccessConfigurations

身份验证协议或虚拟主机的数组。使用SourceAccessConfigurations数据类型进行指定。

对于 DocumentDB 事件源类型,唯一有效的配置类型是 BASIC_AUTH

  • BASIC_AUTH – 存储您的代理凭证的 Secrets Manager 密钥。要使用此类型,凭证必须采用以下格式:{"username": "your-username", "password": "your-password"}。只允许使用一个类型为 BASIC_AUTH 的对象。

类型:列表

必需:是

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

StartingPosition

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

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

  • LATEST - 仅读取新记录。

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

类型:字符串

必需:是

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

StartingPositionTimestamp

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

类型:双精度

必需:否

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

示例

Amazon DocumentDB 事件源

AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 ... Resources: MyFunction: Type: AWS::Serverless::Function Properties: ... Events: MyDDBEvent: Type: DocumentDB Properties: Cluster: "arn:aws:rds:us-west-2:123456789012:cluster:docdb-2023-01-01" BatchSize: 10 MaximumBatchingWindowInSeconds: 5 DatabaseName: "db1" CollectionName: "collection1" FullDocument: "UpdateLookup" SourceAccessConfigurations: - Type: BASIC_AUTH URI: "arn:aws:secretsmanager:us-west-2:123456789012:secret:doc-db"