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

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

DocumentDB

描述DocumentDB事件源类型的对象。有关更多信息,请参阅《Amazon Lambda开发者指南》中的 “Amazon Lambda与 Amazon 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。当您使用 Secrets Manager 的客户托管密钥时,该密钥具有不包含kms:Decrypt权限的 Lambda 执行角色,则为必填项。

此属性的值是一个 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 时间秒为单位)。定义StartingPositionTimestamp何时指定StartingPositionAT_TIMESTAMP

类型:双精度

必需:否

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

示例

Amazon DocumentDB ument

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"