本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
DocumentDB
描述 DocumentDB
事件源类型的对象。有关更多信息,请参阅《AWS Lambda 开发人员指南》中的将 AWS Lambda 与 Amazon DocumentDB 结合使用。
语法
要在 AWS SAM 模板中声明此实体,请使用以下语法。
YAML
BatchSize:
Integer
Cluster:String
CollectionName:String
DatabaseName:String
Enabled:Boolean
FilterCriteria:FilterCriteria
FullDocument:String
KmsKeyArn:String
MaximumBatchingWindowInSeconds:Integer
SecretsManagerKmsKeyId:String
SourceAccessConfigurations:List
StartingPosition:String
StartingPositionTimestamp:Double
属性
-
BatchSize
-
要在单个批次中检索的最大项目数。
类型:整数
必需:否
AWS CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::EventSourceMapping
资源的BatchSize
属性。 -
Cluster
-
Amazon DocumentDB 集群的 Amazon 资源名称(ARN)。
类型:字符串
必需:是
AWS CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::EventSourceMapping
资源的EventSourceArn
属性。 -
CollectionName
-
将使用的数据库中集合的名称。如果您未指定集合,Lambda 会使用所有集合。
类型:字符串
必需:否
AWS CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::EventSourceMapping
DocumentDBEventSourceConfig
数据类型的CollectionName
属性。 -
DatabaseName
-
将使用的 Amazon DocumentDB 集群中数据库的名称。
类型:字符串
必需:是
AWS CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::EventSourceMapping
DocumentDBEventSourceConfig
数据类型的DatabaseName
属性。 -
Enabled
-
如果为
true
,则事件源映射处于活动状态。要暂停轮询和调用,设置为false
。类型:布尔值
必需:否
AWS CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::EventSourceMapping
资源的Enabled
属性。 -
FilterCriteria
-
定义用于确定 Lambda 是否应处理事件的条件的对象。有关更多信息,请参阅《AWS Lambda 开发人员指南》中的 Lambda 事件筛选。
必需:否
AWS CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::EventSourceMapping
资源的FilterCriteria
属性。 -
FullDocument
-
确定 Amazon DocumentDB 在文档更新操作期间将向您的事件流发送的内容。如果设置为
UpdateLookup
,Amazon DocumentDB 将发送一个描述所发生更改的增量以及完整文档的副本。否则,Amazon DocumentDB 将仅发送包含更改的部分文档。类型:字符串
必需:否
AWS CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::EventSourceMapping
DocumentDBEventSourceConfig
数据类型的FullDocument
属性。 -
KmsKeyArn
-
用于加密与此事件相关信息的密钥的 Amazon 资源名称(ARN)。
类型:字符串
必需:否
AWS CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::EventSourceMapping
资源的KmsKeyArn
属性。 -
MaximumBatchingWindowInSeconds
-
在调用函数之前收集记录的最长时间(以秒为单位)。
类型:整数
必需:否
AWS CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::EventSourceMapping
资源的MaximumBatchingWindowInSeconds
属性。 -
SecretsManagerKmsKeyId
-
来自 AWS Secrets Manager 的客户托管密钥的 AWS Key Management Service (AWS KMS) 密钥 ID。当您以不包含
kms:Decrypt
权限的 Lambda 执行角色使用来自 Secrets Manager 的客户托管密钥时,此为必需。此属性的值为 UUID。例如:
1abc23d4-567f-8ab9-cde0-1fab234c5d67
。类型:字符串
必需:条件
AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。
-
SourceAccessConfigurations
-
身份验证协议或虚拟主机的数组。使用 SourceAccessConfigurations 数据类型来指定。
对于
DocumentDB
事件源类型,唯一有效的配置类型是BASIC_AUTH
。-
BASIC_AUTH
– 存储您的代理凭证的 Secrets Manager 密钥。要使用此类型,凭证必须采用以下格式:{"username": "your-username", "password": "your-password"}
。只允许使用一个类型为BASIC_AUTH
的对象。
类型:列表
必需:是
AWS CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::EventSourceMapping
资源的SourceAccessConfigurations
属性。 -
-
StartingPosition
-
在流中开始读取数据的位置。
-
AT_TIMESTAMP
– 指定开始读取记录的时间。 -
LATEST
- 仅读取新记录。 -
TRIM_HORIZON
- 处理所有可用的记录。
类型:字符串
必需:是
AWS CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::EventSourceMapping
资源的StartingPosition
属性。 -
-
StartingPositionTimestamp
-
开始读取的时间(以 Unix 时间秒为单位) 在
StartingPosition
被指定为AT_TIMESTAMP
的情况下定义StartingPositionTimestamp
。类型:双精度
必需:否
AWS 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"