重置配置¶
只有在向导阶段能够重置配置,并且可以通过调用 PUBLIC.RESET_CONFIGURATION()
过程来完成。此过程将所有先决条件重置为未完成,删除以前保存的配置,并将连接器状态设置为 INSTALLED
。如果需要重新配置连接器(即再次执行 先决条件、连接配置 或 连接器配置 步骤),可以使用此过程。只有当您未完成 完成配置 步骤时,才能重新配置连接器。可以使用 SQL 或 ResetConfigurationHandlerBuilder
自定义连接器重新配置。
只有分配了 ADMIN
应用程序角色的用户才能调用 PUBLIC.RESET_CONFIGURATION()
过程。
重置配置由以下可配置阶段组成,默认情况下不会工作:
状态验证
状态验证
内部回调
SDK 回调
状态更新
要求¶
配置重置需要在原生应用程序安装期间执行以下 SQL 文件:
core.sql
configuration/app_config.sql
configuration/prerequisites.sql
configuration/connector_configuration.sql
configuration/connection_configuration.sql
configuration/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
过程接收的自定义错误代码 – 由连接器开发者定义。