禁用资源

“禁用资源”用于停止为给定资源引入数据。PUBLIC.DISABLE_RESOURCE 过程是从 UI 或工作表来禁用资源的入口点。

要调用此过程,用户需要已获得 ADMIN 应用程序角色。

“禁用资源”进程由几个阶段组成。其中一些可定制,但包含合理的默认值。各阶段如下:

  1. 初步验证

  2. 资源禁用前的自定义逻辑

  3. 完成活动引入进程,将资源引入定义标记为“已禁用”

  4. 资源创建后的自定义逻辑

初步验证

初始验证在“禁用资源”进程的最开始执行,并检查:

  • 指定 ID 的资源是否存在

  • 指定 ID 的资源是否已禁用

当资源之前已禁用时,不执行任何操作并返回成功响应。

资源禁用前的自定义逻辑

此步骤可用于实施资源禁用之前的自定义逻辑。

默认情况下,它会调用 PUBLIC.PRE_DISABLE_RESOURCE(resource_ingestion_definition_id VARCHAR),返回 'response_code': 'OK'。可以通过 PreDisableResourceCallback 脚本或使用 DisableResourceHandlerBuilder 提供 接口的自定义实现来将其覆盖。

如果自定义逻辑返回错误,则不执行后续步骤,并且 DISABLE_RESOURCE 过程返回给定的错误响应。

完成活动引入进程,将资源引入定义标记为“已禁用”

在此步骤中,状态为 SCHEDULEDIN_PROGRESS 的所有引入进程已完成,并且不会针对给定资源执行下一次引入迭代。然后,资源引入定义的 enabled 标志更改为 false

备注

实施“禁用资源”进程并不会停止当前正在执行的引入。它仅阻止执行下一次引入迭代。如果需要停止正在进行的引入,您必须实施 资源禁用后的自定义逻辑

资源禁用后的自定义逻辑

它可用于实施资源禁用后的自定义逻辑。例如,它可用于停止对给定资源的持续引入。

默认情况下,它会调用 PUBLIC.POST_DISABLE_RESOURCE(resource_ingestion_definition_id VARCHAR),返回 'response_code': 'OK'。可以通过 SQL 脚本或使用 DisableResourceHandlerBuilder 提供 PostDisableResourceCallback 接口的自定义实现来将其覆盖。

如果自定义逻辑返回错误,则不执行后续步骤,并且 DISABLE_RESOURCE 过程返回给定的错误响应。

响应

成功响应

一旦进程成功,就会返回类似下面的响应:

{
  "response_code": "OK"
}
Copy

错误响应

当过程发生错误时,将返回类似下面的响应:

{
  "response_code": "<ERROR_CODE>",
  "message": "<error message>"
}
Copy

可能的错误代码包括:

  • INVALID_INPUT – 具有给定资源引入定义 ID 的资源不存在。

  • DISABLE_RESOURCE_ERROR – 更新资源引入定义或完成引入进程时发生了意外事情。所有更改均已回滚。

语言: 中文