完成配置

完成配置是向导的最后一步,紧跟在 connection configuration 之后。此步骤允许用户提供先前的配置步骤中未包括的任何自定义配置。此外,还可以用于在配置时做一些最后的处理,比如创建接收器数据库、启动任务反应器等。此阶段的入口点是一个名为 PUBLIC.FINALIZE_CONNECTOR_CONFIGURATION(CUSTOM_CONFIGURATION VARIANT) 的过程。可以通过在 SQL 中替换该入口点或使用 FinalizeConnectorHandlerBuilder 对该入口点进行自定义。默认情况下,提供的 custom_configuration NOT 持久保存在数据库中,因此如果设计需要,则必须将配置保存在其中一个扩展方法中(最有可能保存在 FINALIZE_CONNECTOR_CONFIGURATION_INTERNAL 中)。

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

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

  1. 状态验证

  2. 输入验证

  3. 源验证

  4. 内部回调

  5. 状态更新

要求

在原生应用程序安装过程中,完成配置至少需要执行以下 sql 文件:

  • core.sql

  • configuration/finalize_configuration.sql

  • 推荐:configuration/app_config.sql

状态验证

要执行连接器终止,连接器的内部状态需要为 CONFIGURING,配置状态为 CONNECTED

不能通过使用 FinalizeConnectorHandlerBuilder 或覆盖存储过程来覆盖此验证。但是,也可以实现一个自定义处理程序,它不会进行这种验证。

输入验证

输入必须是有效的 Variant。IN 此外,还需要满足自定义验证。一个存储过程,PUBLIC.FINALIZE_CONNECTOR_CONFIGURATION_VALIDATE(CUSTOM_CONFIGURATION VARIANT) 存储可以由用户进行自定义.默认情况下,此过程仅返回 'response_code': 'OK'。通过覆盖 SQL 或使用 FinalizeConnectorHandlerBuilder 并提供 FinalizeConnectorValidator 接口的自定义实现来对其进行自定义。

源验证

通过验证后,过程 PUBLIC.VALIDATE_SOURCE(CUSTOM_CONFIGURATION VARIANT) 就连接到外部源。在某些情况下,此过程可以与连接配置期间执行的 TEST_CONNECTION 过程相同。但是,TEST_CONNECTION 旨在仅检查一些基本连接,而 VALIDATE_SOURCE 是可能需要一些额外配置的过程。例如,检查对源系统中特定资源的权限。默认实现 VALIDATE_SOURCE 会返回 'response_code': 'OK'。可以使用 SQL 或通过使用 FinalizeConnectorHandlerBuilder 实现 SourceValidator 接口来覆盖此默认实现。

内部回调

内部回调是可自定义的调用 PUBLIC.FINALIZE_CONNECTOR_CONFIGURATION_INTERNAL(CUSTOM_CONFIGURATION VARIANT) 的步骤,默认情况下返回 'response_code': 'OK'。此过程允许用户执行连接器所需的任何其他配置。例如,保存 STATE.CONNECTOR_CONFIGURATION 表中提供的 custom_configuration。可以通过 SQL 脚本或使用 FinalizeConnectorHandlerBuilder 提供 FinalizeConnectorCallback 接口的自定义实现来将其覆盖。

状态更新

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

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

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

响应

成功响应

如果该过程成功完成,将从 FINALIZE_CONNECTOR_CONFIGURATION_INTERNAL 过程返回响应。我们建议使用以下格式:

{
  "response_code": "OK"
}
Copy

错误响应

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

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

可能的错误代码:

  • INVALID_CONNECTOR_STATUS – 在已配置的连接器上调用了该过程

  • INVALID_CONNECTOR_CONFIGURATION_STATUS – 当 CONFIGURATION_STATUSCONNECTED 不同时,调用了该过程

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

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

语言: 中文