Desabilitação de recurso¶
Desabilitar um recurso é usado para interromper a ingestão de dados para um determinado recurso. O procedimento PUBLIC.DISABLE_RESOURCE
é o ponto de entrada da UI ou planilha para desabilitar um recurso.
Chamar este procedimento requer que o usuário tenha a função de aplicativo ADMIN
atribuída.
O processo de desabilitação de recurso consiste em várias fases. Várias delas são personalizáveis, mas incluem padrões razoáveis. As fases são:
Validação inicial
Lógica personalizada antes da desativação de um recurso
Finalização de processos de ingestão ativos e marcação da definição de ingestão de recurso como desabilitada
Lógica personalizada após a criação de um recurso
Validação inicial¶
A validação inicial é realizada logo no início do processo de desabilitação de recurso e verifica:
Se um recurso com o ID fornecido existe;
Se um recurso com o ID fornecido já está desabilitado.
Quando um recurso foi desabilitado anteriormente, nada é feito e uma resposta de sucesso é retornada.
Lógica personalizada antes da desativação de um recurso¶
Esta etapa pode ser usada para implementar lógica personalizada antes que um recurso seja desabilitado.
Por padrão, ele invoca PUBLIC.PRE_DISABLE_RESOURCE(resource_ingestion_definition_id VARCHAR)
, que retorna 'response_code': 'OK'
. Pode ser sobrescrito através do script SQL ou usando um DisableResourceHandlerBuilder
para fornecer implementação personalizada da interface PreDisableResourceCallback
.
Se a lógica personalizada retornar erro, as próximas etapas não serão executadas e a resposta de erro fornecida será retornada do procedimento DISABLE_RESOURCE
.
Finalização de processos de ingestão ativos e marcação da definição de ingestão de recurso como desabilitada¶
Nesta etapa, todos os processos de ingestão com estado SCHEDULED
ou IN_PROGRESS
são concluídos e a próxima iteração de ingestão não será executada para um determinado recurso. Em seguida, o sinalizador enabled
de definição de ingestão de recurso é alterado para false
.
Nota
A implementação do processo de desabilitação de recurso não interrompe a ingestão em execução. Ele apenas impede a execução da próxima iteração de ingestão. Se for necessário interromper uma ingestão em andamento, você deverá implementar a lógica personalizada depois que um recurso for desabilitado.
Lógica personalizada após a desativação de um recurso¶
Ele pode ser usado para implementar lógica personalizada após a desativação de um recurso. Por exemplo, ele pode ser usado para interromper a ingestão contínua de um determinado recurso.
Por padrão, ele invoca PUBLIC.POST_DISABLE_RESOURCE(resource_ingestion_definition_id VARCHAR)
, que retorna 'response_code': 'OK'
. Pode ser sobrescrito através do script SQL ou usando um DisableResourceHandlerBuilder
para fornecer implementação personalizada da interface PostDisableResourceCallback
.
Se a lógica personalizada retornar um erro, as etapas a seguir não serão executadas e a resposta de erro fornecida será retornada do procedimento DISABLE_RESOURCE
.
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.DISABLE_RESOURCE_ERROR
– Algo inesperado aconteceu ao atualizar a definição de ingestão de recurso ou ao finalizar os processos de ingestão. Todas as alterações são revertidas.