恢复连接器

在向导之后可以恢复连接器。恢复连接器可以在 Finalize Configuration 之后执行,另外还可以使用 Pause Connector。此步骤允许用户在连接器启动后操作其状态。此阶段的入口点是一个名为 PUBLIC.RESUME_CONNECTOR() 的过程。可以通过在 中替换该入口点或使用 ResumeConnectorHandlerBuilder 对该入口点进行自定义。恢复连接器以允许用户将其暂停的相反过程是 暂停连接器

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

恢复连接器步骤在内部由几个阶段组成。其中一些是完全可自定义的,默认情况下,不执行任何操作。这些阶段如下所示:

  1. 权限验证

  2. 状态验证

  3. 状态验证

  4. 状态更新 (STARTING)

  5. 内部回调

  6. 恢复任务反应器(如果启用了任务反应器)

  7. 状态更新 (STARTED)

要求

在原生应用程序安装过程中,恢复连接器至少需要执行以下 sql 文件:

  • core.sql

  • configuration/app_config.sql

  • lifecycle/resume.sql

  • 推荐:lifecycle/pause.sql

  • 推荐:configuration/finalize_configuration.sql

权限验证

要恢复连接器,必须向应用程序授予 EXECUTE TASK 权限。

不能通过使用 ResumeConnectorHandlerBuilder 或覆盖存储过程来覆盖此验证。但是,可以实现自定义处理程序。

状态验证

要恢复连接器,连接器的内部状态需要是 PAUSED

不能通过使用 ResumeConnectorHandlerBuilder 或覆盖存储过程来覆盖此验证。但是,可以实现自定义处理程序。

状态验证

如果需要满足一些额外的自定义验证,则可以使用 PUBLIC.RESUME_CONNECTOR_VALIDATE() 存储过程,用户可以对其进行自定义。默认情况下,此过程仅返回 'response_code': 'OK'。通过覆盖 SQL 或使用 ResumeConnectorHandlerBuilder 并提供 ResumeConnectorStateValidator 接口的自定义实现来对该过程进行自定义。

内部回调

内部回调是另一个可自定义的步骤。默认情况下,它会调用 PUBLIC.RESUME_CONNECTOR_INTERNAL(),返回 'response_code': 'OK'。此过程允许用户在恢复连接器时执行所需的任何其他任务。例如,恢复其他连接器特定任务。可以通过 ResumeConnectorCallback 脚本或使用 ResumeConnectorHandlerBuilder 提供 接口的自定义实现来将其覆盖。

状态更新

成功完成上述所有阶段后,连接器的内部状态将更新为:

{
    "status": "STARTED",
    "configurationStatus": "FINALIZED"
}
Copy

有关状态转换的整个图表,请参阅 连接器流

响应

成功响应

如果该过程在后台成功恢复所有任务并更改状态 tocSTARTED,则会直接从 ResumeConnectorHandler 方法主体返回 Connector successfully resumed. 消息。建议使用以下格式:

{
  "response_code": "OK"
}
Copy

错误响应

如果出现错误,响应将遵循以下格式:

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

可能的错误代码包括:

  • INVALID_CONNECTOR_STATUS – 在状态不同于 [PAUSED, STARTING] 的连接器上调用了该过程

  • CONNECTOR_STATUS_NOT_FOUND – 数据库中不存在连接器状态记录(与此暂存区的用户输入无关 – 内部错误)

  • ROLLBACK_CODE – 出现了错误,但成功恢复了更改。

  • INTERNAL_ERROR – 内部出现问题,消息应具有描述性

  • UNKNOWN_ERROR_CODE – 出现了未知错误,连接器现处于未指定状态

语言: 中文