Finalização da configuração¶
Finalizar a configuração é a última etapa do assistente, ela vem logo depois de connection configuration. Esta etapa permite que o usuário forneça qualquer configuração personalizada que não foi incluída nas etapas anteriores da configuração. Além disso, ele pode ser usado para fazer alguns retoques finais na configuração, como criar o banco de dados do coletor, iniciar o reator de tarefas etc. O ponto de entrada para esta fase é um procedimento chamado PUBLIC.FINALIZE_CONNECTOR_CONFIGURATION(CUSTOM_CONFIGURATION VARIANT). Ele pode ser personalizado substituindo-o em SQL ou usando FinalizeConnectorHandlerBuilder. Por padrão, o custom_configuration fornecido NOT persistiu no banco de dados, então se for exigido pelo design, a configuração deve ser salva em um dos métodos de extensão (provavelmente no FINALIZE_CONNECTOR_CONFIGURATION_INTERNAL).
Chamar este procedimento requer que o usuário tenha a função do aplicativo ADMIN atribuída.
A etapa de finalização da configuração consiste internamente em várias fases. Alguns deles são totalmente personalizáveis e, por padrão, não fazem nada. As fases são as seguintes:
Validação de status
Validação de entrada
Validação da fonte
Retorno de chamada interno
Atualização de status
Requisitos¶
A configuração final requer que pelo menos os seguintes arquivos sql sejam executados durante a instalação do aplicativo nativo:
core.sqlconfiguration/finalize_configuration.sqlRecomendado:
configuration/app_config.sql
Validação de status¶
Para executar a finalização do conector, o status interno do conector precisa ser CONFIGURING, com status de configuração CONNECTED.
Esta validação não pode ser substituída usando FinalizeConnectorHandlerBuilder nem sobrescrevendo procedimentos armazenados. No entanto, é possível implementar um manipulador personalizado, que não terá esse tipo de validação.
Validação de entrada¶
A entrada precisa ser uma Variant válida. Além disso, há validações personalizadas que precisam ser satisfeitas. Um procedimento armazenado, PUBLIC.FINALIZE_CONNECTOR_CONFIGURATION_VALIDATE(CUSTOM_CONFIGURATION VARIANT) armazenado pode ser personalizado pelo usuário. Por padrão, este procedimento apenas retorna 'response_code': 'OK'. Personalize-o substituindo o SQL ou usando FinalizeConnectorHandlerBuilder e forneça uma implementação personalizada da interface FinalizeConnectorValidator.
Validação da fonte¶
Uma vez passadas as validações, o procedimento PUBLIC.VALIDATE_SOURCE(CUSTOM_CONFIGURATION VARIANT) conecta-se a uma fonte externa. Em alguns casos, este procedimento pode ser o mesmo que o procedimento TEST_CONNECTION que foi executado durante a configuração da conexão. No entanto, TEST_CONNECTION foi projetado apenas para verificar alguma conectividade básica, enquanto VALIDATE_SOURCE é um procedimento que pode exigir alguma configuração adicional. Por exemplo, verificar permissões para um recurso específico no sistema de origem. A implementação padrão de VALIDATE_SOURCE retorna 'response_code': 'OK'. Esta implementação padrão pode ser substituída por SQL ou implementando a interface SourceValidator usando FinalizeConnectorHandlerBuilder.
Retorno de chamada interno¶
O retorno de chamada interno é uma etapa personalizável que invoca PUBLIC.FINALIZE_CONNECTOR_CONFIGURATION_INTERNAL(CUSTOM_CONFIGURATION VARIANT), que retorna 'response_code': 'OK' por padrão. Este procedimento permite que o usuário execute quaisquer configurações adicionais necessárias para o conector. Por exemplo, salvar o custom_configuration fornecido na tabela STATE.CONNECTOR_CONFIGURATION. Pode ser sobrescrito através do script SQL ou usando um FinalizeConnectorHandlerBuilder para fornecer implementação personalizada da interface FinalizeConnectorCallback.
Atualização de status¶
Quando todas as fases acima forem concluídas com sucesso, o status interno do conector será atualizado para:
{
"status": "STARTED",
"configurationStatus": "FINALIZED"
}
Para o diagrama completo de transições de estado, veja Fluxo do conector.
Resposta¶
Resposta bem-sucedida¶
Se o procedimento for concluído com sucesso, ele retornará uma resposta do procedimento FINALIZE_CONNECTOR_CONFIGURATION_INTERNAL. Recomendamos usar o seguinte formato:
{ "response_code": "OK" }
Resposta de erro¶
Em caso de erro, a resposta seguirá o formato abaixo:
{ "response_code": "<ERROR_CODE>", "message": "<error message>" }
Possíveis códigos de erro:
INVALID_CONNECTOR_STATUS- O procedimento foi chamado no conector já configuradoINVALID_CONNECTOR_CONFIGURATION_STATUS- O procedimento foi chamado quando oCONFIGURATION_STATUSera diferente deCONNECTEDCONNECTOR_STATUS_NOT_FOUND- O registro de status do conector não existe no banco de dados (independente da entrada do usuário neste estágio - um erro interno)INTERNAL_ERROR- Algo deu errado internamente, a mensagem deve ser descritiva