trigger配置文件
注意
本页介绍一种旧版配置文件格式。仅当使用已弃用的 realm-cli
时才应使用此信息。
使用 App Services CLI 拉取或从用户界面导出的任何配置文件都使用最新配置版本。 有关当前配置文件格式的详细信息,请参阅应用程序配置。
app/ └── triggers/ └── <trigger name>.json
常规配置
所有Atlas Triggers都符合具有特定变体的基本模式,具体取决于trigger类型。所有trigger配置文件中都存在以下字段:
{ "name": "<Trigger Name>", "type": "<Trigger Type>", "config": {}, "function_name": "<Trigger Function Name>", "disabled": <Boolean> }
字段 | 说明 |
---|---|
name String | trigger名称。长度最多为 64 个字符,并且只能包含 ASCII 字母、数字、下划线和连字符。 |
type String | trigger类型。该字段的值决定了确切的配置文件模式。 有效选项:
|
config Document | |
function_name String | trigger在触发时执行的Realm 函数的名称。 |
event_processors Document | 一个文档,用于配置trigger以在触发时将事件发送到外部事件处理器。不能与 |
disabled Boolean | 如果为 true ,trigger将不会侦听任何事件,也不会触发。 |
数据库触发器
数据库触发器配置符合基本trigger模式,并带有附加配置选项,这些选项指定要监视的collection以及何时触发trigger。数据库触发器配置文件中存在以下字段:
{ "name": "<Trigger Name>", "type": "DATABASE", "config": { "service_name": "<MongoDB Service Name>", "database": "<Database Name>", "collection": "<Collection Name>", "operation_types": ["<Operation Type>", ...], "full_document": <boolean>, "full_document_before_change": <boolean>, "tolerate_resume_errors": <boolean>, "unordered": <boolean>, "match": { <Match Filter> }, "project": { <Projection Filter> }, }, "function_name": "<Trigger Function Name>", "disabled": <Boolean> }
字段 | 说明 | ||||||||
---|---|---|---|---|---|---|---|---|---|
config.service_name String | |||||||||
config.database String | 包含监视collection的 MongoDB database 的名称。 | ||||||||
config.collection String | trigger监视的collection的名称。 | ||||||||
config.operation_types String[] | 导致trigger触发的一个或多个数据库操作类型的列表。 有效操作类型:
提示从 MongoDB Compass 或 MongoDB Atlas 数据浏览器执行的更新操作会完全替换之前的文档。 因此,这些客户端的更新操作将生成 | ||||||||
config.full_document Boolean | |||||||||
config.full_document_before_change Boolean | 如果 重要集合级原像设置文档原像使用存储在 oplog 中的额外信息。 额外的数据可能会对某些应用的性能产生影响。 为给定集合上的任何触发器启用文档原像后,该集合将在 oplog 中包含原像数据,并且该集合上的其他触发器可以使用原像,而不会产生额外开销。 您可以在每个触发器的基础上禁用文档原像,以将原像从变更事件中排除。 无论触发器级别设置如何,collection的 oplog 条目将继续包含原像数据,除非您明确禁用collection的原像。 有关更多信息,请参阅文档原像。 | ||||||||
config.tolerate_resume_errors Boolean | 如果为 如果启用,则当在集群的 oplog 中找不到此触发器的恢复令牌时,触发器会在下一个相关的变更流事件中自动恢复处理事件。从触发器暂停到触发器恢复执行的所有变更流事件都不会触发触发器。 有关恢复暂停的Atlas Triggers的更多信息,请参阅暂停的Atlas Triggers。 | ||||||||
config.unordered Boolean | 如果 如果启用了事件排序,此触发器的多次执行操作将根据更改事件的时间戳按顺序进行。如果禁用了事件排序,该触发器的多次执行操作将独立进行。 | ||||||||
config.match Document | |||||||||
config.project Document | 一个$project表达式,用于从变更流中的每个事件中选择字段的子集。 您可以使用它来优化trigger的执行。 表达式是一个对象,可以将更改事件中的字段名称映射到
|
身份验证触发器
身份验证触发器配置符合基本trigger模式,并带有附加配置选项,这些选项指定要监视的身份验证提供商以及何时触发trigger。在身份验证触发器配置文件中存在以下字段:
{ "name": "<Trigger Name>", "type": "AUTHENTICATION", "config": { "operation_type": ["<Operation Type>", ...], "providers": ["<Provider Type>", ...], }, "function_name": "<Trigger Function Name>", "disabled": <Boolean> }
定时触发器
定时触发器配置符合基本触发器模式,附带指定触发器触发计划的附加配置选项。 定时触发器配置文件中存在以下字段:
{ "name": "<Trigger Name>", "type": "SCHEDULED", "config": { "schedule": "<CRON expression>" }, "function_name": "<Trigger Function Name>", "disabled": <Boolean> }
字段 | 说明 |
---|---|
config.schedule String | 安排触发器执行的CRON 表达式。 |