Docs 菜单
Docs 主页
/
MongoDB Atlas
/ /

禁用触发器

在此页面上

  • 手动禁用trigger
  • 从快照恢复

触发器可能会进入 suspended 状态,以响应阻止trigger变更流继续的事件,例如网络中断或根本的集群更改。 当trigger进入挂起状态时,它将被禁用。 它不接收变更事件,也不会触发。

注意

事件trigger暂停或失败, Atlas会向项目所有者发送电子邮件,提醒他们注意该问题。

您可以从trigger Atlas用户界面或通过使用 导入应用程序目录来手动禁用活动App Services CLI 。

  1. 导航至Triggers页面

    1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

    2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

    3. 在侧边栏中,单击 Services 标题下的 Triggers

      显示触发器页面。

  2. 从列出的触发器中,找到要禁用的trigger 。

  3. 切换Enabled设置将其禁用,然后单击Save

  1. 对MongoDB Atlas用户进行身份验证:

    使用您的 MongoDB Atlas Administration API密钥登录到App Services CLI:

    appservices login --api-key="<API KEY>" --private-api-key="<PRIVATE KEY>"
  2. 拉取应用的最新配置文件:

    运行以下命令以获取配置文件的本地副本:

    appservices pull --remote=<App ID>

    默认,该命令会将文件提取到当前工作目录中。 您可以使用可选的 --local标志指定目录路径。

  3. 验证trigger配置文件:

    如果导出了应用程序的新副本,它应该已经包含已暂停trigger的最新配置文件。 您可以通过在/triggers 目录中查找与 同名的trigger 配置文件trigger 来确认配置文件是否存在。

  4. 禁用trigger :

    验证trigger配置文件存在后,将名为 "disabled" 且值为 true 的字段添加到trigger JSON定义的顶层:

    {
    "id": "6142146e2f052a39d38e1605",
    "name": "steve",
    "type": "SCHEDULED",
    "config": {
    "schedule": "*/1 * * * *"
    },
    "function_name": "myFunc",
    "disabled": true
    }
  5. 部署更改:

    运行以下命令以部署更改:

    appservices push

从快照恢复数据库时,将重新启用已禁用或暂停的任何trigger 。 trigger不会为已处理的事件触发。 有关从快照恢复的更多信息,请参阅恢复集群。

考虑以下情况:

  1. 您的数据库trigger已禁用或暂停。

  2. 禁用trigger时会添加新文档。

  3. 您可以将数据库从快照恢复到添加新文档之前的时间。

  4. Atlas重新启动已禁用的数据库trigger 。

  5. 重新启动的trigger获取所有新添加的文档,并为每个文档触发。 但是,对于已处理的事件,它不会再次触发。

注意

如果以前启用的数据库trigger 在快照恢复期间正在运行,您将在 用户界面的编辑trigger Atlas部分看到错误,因为trigger 在恢复进程中无法连接到Atlas 集群。快照恢复完成后,错误消失, trigger继续正常执行。

后退

身份验证触发器