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:

  1. Validação inicial

  2. Lógica personalizada antes da desativação de um recurso

  3. Finalização de processos de ingestão ativos e marcação da definição de ingestão de recurso como desabilitada

  4. 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"
}
Copy

Resposta de erro

Em caso de erro de procedimento, uma resposta semelhante à abaixo é retornada:

{
  "response_code": "<ERROR_CODE>",
  "message": "<error message>"
}
Copy

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.