重置配置¶
只有在向导阶段能够重置配置,并且可以通过调用 PUBLIC.RESET_CONFIGURATION() 过程来完成。此过程将所有先决条件重置为未完成,删除以前保存的配置,并将连接器状态设置为 INSTALLED。如果需要重新配置连接器(即再次执行 先决条件、连接配置 或 连接器配置 步骤),可以使用此过程。只有当您未完成 完成配置 步骤时,才能重新配置连接器。可以使用 SQL 或 ResetConfigurationHandlerBuilder 自定义连接器重新配置。
只有分配了 ADMIN 应用程序角色的用户才能调用 PUBLIC.RESET_CONFIGURATION() 过程。
重置配置由以下可配置阶段组成,默认情况下不会工作:
状态验证
状态验证
内部回调
SDK 回调
状态更新
要求¶
配置重置需要在原生应用程序安装期间执行以下 SQL 文件:
core.sqlconfiguration/app_config.sqlconfiguration/prerequisites.sqlconfiguration/connector_configuration.sqlconfiguration/connection_configuration.sqlconfiguration/reset_configuration.sql
状态验证¶
要重置配置,连接器需要处于 CONFIGURING 状态。配置状态需要等于以下值之一:INSTALLED、PREREQUISITES_DONE、CONFIGURED 或 CONNECTED。有关状态转换的完整示意图,请参阅 连接器流。
不能通过使用 ResetConfigurationHandlerBuilder 或覆盖存储过程来覆盖验证。但是,也可以实现一个自定义处理程序,它不会进行这种验证。
状态验证¶
状态验证阶段是可自定义的,默认情况下,将执行 PUBLIC.RESET_CONFIGURATION_VALIDATE() 过程,返回 'response_code': 'OK'。可以通过使用 SQL 替换过程或实施 ResetConfigurationValidator 接口来自定义此过程。
内部回调¶
内部回调阶段是可自定义的,默认情况下,将执行 PUBLIC.RESET_CONFIGURATION_INTERNAL() 过程,返回 'response_code': 'OK'。此过程支持执行重置配置时所需的自定义逻辑。例如,删除自定义配置。可以通过使用 SQL 替换过程或实施 ResetConfigurationCallback 接口来自定义此过程。
SDK 回调¶
SDK 回调用于更新 SDK 控制的组件。此步骤由以下流程组成,这些流程作为单个事务执行:
将所有先决条件设置为未完成
删除连接器配置
删除连接配置
将所有先决条件设置为未完成¶
在此步骤中,对于内部 PREREQUISITES 表中的所有记录,IS_COMPLETED 列设置为 false。
删除连接器配置¶
在此步骤中,将从内部 APP_CONFIG 表中删除 connector_configuration。
删除连接器配置¶
在此步骤中,将从内部 APP_CONFIG 表中删除 connection_configuration。
不能通过使用 ResetConfigurationHandlerBuilder 或覆盖存储过程来覆盖 SDK 回调。可以实施不会进行此回调的自定义处理程序。
备注
PUBLIC.CONNECTOR_CONFIGURATION 视图从内部 APP_CONFIG 表返回当前配置。PUBLIC.PREREQUISITES 视图从内部 PREREQUISITES 表返回先决条件。ADMIN 和 VIEWER 应用程序角色均可使用这两种视图。
状态更新¶
完成后,此步骤将连接器的内部状态设置为:
{
"status": "CONFIGURING",
"configurationStatus": "INSTALLED"
}
响应¶
成功响应¶
如果过程成功完成,则返回 OK 响应代码,如下所示:
{
"response_code": "OK"
}
错误响应¶
出错时,返回以下响应:
{
"response_code": "<ERROR_CODE>",
"message": "<error message>"
}
可能的错误代码包括:
INVALID_CONNECTOR_STATUS– 连接器状态无效。预期状态:[CONFIGURING]。INVALID_CONNECTOR_CONFIGURATION_STATUS– 连接器状态无效。预期状态:[INSTALLED, PREREQUISITES_DONE, CONFIGURED, CONNECTED]。INTERNAL_ERROR– 内部出现问题,消息应具有描述性。PROCEDURE_NOT_FOUND– 调用的过程不存在。UNKNOWN_SQL_ERROR– 如果调用内部过程时发生意外情况,则会出现此错误。INVALID_RESPONSE– 如果从内部过程接收的响应不包含response_code或错误响应不包含message,但包含response_code,则会发生此错误。UNKNOWN_ERROR– 这表示出现了意外错误(转发引发异常的消息)。从
RESET_CONFIGURATION_INTERNAL和RESET_CONFIGURATION_VALIDATE过程接收的自定义错误代码 – 由连接器开发者定义。