Habilitação de recurso¶
A habilitação de um recurso é usada para iniciar a ingestão de dados para um determinado recurso. O procedimento PUBLIC.ENABLE_RESOURCE
é o ponto de entrada da UI ou da planilha ou para habilitar um recurso. Ele pode ser usado depois que um recurso foi desabilitado ou quando um recurso foi criado como desabilitado e agora é necessário habilitá-lo.
Chamar este procedimento requer que o usuário tenha recebido a função de aplicativo ADMIN
. As fases são:
Validação inicial
Validação personalizada
Lógica personalizada antes de um recurso ser habilitado
Marcação de uma definição de ingestão de recurso como habilitada e criação de novos processos de ingestão
Lógica personalizada após a criação de um recurso
Validação inicial¶
A validação inicial é realizada no início do processo de habilitação de recurso e verifica:
Se um recurso com o ID fornecido existe;
Se um recurso com o ID fornecido já está habilitado.
Quando um recurso já está habilitado, nada é feito e uma resposta de sucesso é retornada.
Validação personalizada¶
A validação personalizada é executada após a validação inicial e foi projetada para oferecer suporte à lógica específica do conector personalizado. Por exemplo, ele pode ser usado para verificar se um determinado recurso ainda existe em um sistema de origem.
Por padrão, ele invoca PUBLIC.ENABLE_RESOURCE_VALIDATE(resource_ingestion_definition_id)
, que retorna 'response_code': 'OK'
. Pode ser sobrescrito através do script SQL ou usando um EnableResourceHandlerBuilder
para fornecer implementação personalizada da interface EnableResourceValidator
.
Se a validação personalizada retornar erro, as próximas etapas não serão executadas e a resposta de erro fornecida será retornada do procedimento ENABLE_RESOURCE
.
Lógica personalizada antes de um recurso ser habilitado¶
A lógica personalizada pode ser especificada e executada antes que um recurso seja habilitado.
Por padrão, ele invoca PUBLIC.PRE_ENABLE_RESOURCE(resource_ingestion_definition_id VARCHAR)
, que retorna 'response_code': 'OK'
. Pode ser sobrescrito através do script SQL ou usando um EnableResourceHandlerBuilder
para fornecer implementação personalizada da interface PreEnableResourceCallback
.
Se a lógica personalizada retornar erro, as etapas a seguir não serão executadas e uma resposta de erro será retornada do procedimento ENABLE_RESOURCE
.
Marcação de uma definição de ingestão de recurso como habilitada e criação de novos processos de ingestão¶
Nesta etapa, o sinalizador enabled
de definição de ingestão de recurso é alterado para true
e, em seguida, um novo processo de ingestão é criado para cada configuração de ingestão. Os processos de ingestão são criados com status SCHEDULED
, o que significa que a ingestão começará um pouco mais tarde. Quando um novo processo de ingestão está sendo criado, a coluna de metadados é herdada do último processo concluído com o ID de configuração de ingestão fornecido.
Lógica personalizada após um recurso ser habilitado¶
A lógica personalizada pode ser definida para ser executada depois que um recurso for habilitado.
Por padrão, ele invoca PUBLIC.POST_ENABLE_RESOURCE(resource_ingestion_definition_id VARCHAR)
, que retorna 'response_code': 'OK'
. Pode ser sobrescrito através do script SQL ou usando um EnableResourceHandlerBuilder
para fornecer implementação personalizada da interface PostEnableResourceCallback
.
Se a lógica personalizada retornar um erro, a resposta de erro fornecida será retornada do procedimento ENABLE_RESOURCE
, mas o processo que marca uma definição de ingestão de recurso como habilitada e cria novos processos de ingestão não será revertido.
Resposta¶
Resposta bem-sucedida¶
Em caso de sucesso do procedimento, uma resposta semelhante à abaixo é retornada:
{ "response_code": "OK" }
Resposta de erro¶
Em caso de erro de procedimento, uma resposta semelhante à abaixo é retornada:
{ "response_code": "<ERROR_CODE>", "message": "<error message>" }
Possíveis códigos de erro incluem:
INVALID_INPUT
– O recurso com o ID de definição de ingestão de recurso fornecido não existe.ENABLE_RESOURCE_ERROR
– Algo inesperado aconteceu ao atualizar a definição de ingestão de recurso ou ao criar processos de ingestão. Todas as alterações são revertidas.