리소스 비활성화하기

리소스 비활성화는 특정 리소스에 대한 데이터 수집을 중지하는 데 사용됩니다. PUBLIC.DISABLE_RESOURCE 프로시저는 리소스를 비활성화하기 위한 UI 또는 워크시트의 진입점입니다.

이 프로시저를 호출하려면 사용자에게 ADMIN 애플리케이션 역할이 할당되어 있어야 합니다.

리소스 비활성화 프로세스는 여러 단계로 구성됩니다. 그 중 일부 프로세스는 사용자 지정이 가능하지만 적절한 기본값이 포함되어 있습니다. 단계는 다음과 같습니다.

  1. 초기 유효성 검사

  2. 리소스가 비활성화되기 전의 사용자 지정 논리

  3. 활성 수집 프로세스 완료 및 리소스 수집 정의를 비활성으로 표시하기

  4. 리소스가 생성된 후의 사용자 지정 논리

초기 유효성 검사

초기 유효성 검사는 리소스 비활성화 프로세스의 맨 처음에 수행되며 다음 사항을 확인합니다.

  • 지정된 ID를 갖는 리소스가 있는지 여부

  • 지정된 ID를 갖는 리소스가 이미 비활성화되어 있는지 여부

리소스가 이전에 비활성화된 경우 아무 작업도 수행되지 않으며 성공 응답이 반환됩니다.

리소스가 비활성화되기 전의 사용자 지정 논리

이 단계는 리소스가 비활성화되기 전에 사용자 지정 논리를 구현하는 데 사용할 수 있습니다.

이는 기본적으로 PUBLIC.PRE_DISABLE_RESOURCE(resource_ingestion_definition_id VARCHAR) 을 호출하며, 'response_code': 'OK' 를 반환합니다. SQL 스크립트를 통해 덮어쓰거나 DisableResourceHandlerBuilder 를 사용하여 PreDisableResourceCallback 인터페이스의 사용자 지정 구현을 제공함으로써 덮어쓸 수 있습니다.

사용자 지정 논리가 오류를 반환하면 다음 단계가 실행되지 않고 DISABLE_RESOURCE 프로시저에서 제공된 오류 응답이 반환됩니다.

활성 수집 프로세스 완료 및 리소스 수집 정의를 비활성으로 표시하기

이 단계에서는 상태가 SCHEDULED 또는 IN_PROGRESS 인 모든 수집 프로세스가 완료되므로, 주어진 리소스에 대해 다음 수집 반복이 실행되지 않습니다. 그러면 리소스 수집 정의의 enabled 플래그가 false 로 변경됩니다.

참고

리소스 프로세스를 비활성화해도 현재 실행 중인 수집은 중지되지 않습니다. 그리고 다음 수집이 반복 실행되는 것을 방지합니다. 진행 중인 수집을 중지해야 하는 경우 리소스를 비활성화한 후 사용자 지정 논리 를 구현해야 합니다.

리소스가 비활성화된 후의 사용자 지정 논리

리소스가 비활성화된 후 사용자 지정 논리를 구현하는 데 사용할 수 있습니다. 예를 들어, 주어진 리소스에 대한 진행 중인 수집을 중지하는 데 사용할 수 있습니다.

이는 기본적으로 PUBLIC.POST_DISABLE_RESOURCE(resource_ingestion_definition_id VARCHAR) 을 호출하며, 'response_code': 'OK' 를 반환합니다. SQL 스크립트를 통해 덮어쓰거나 DisableResourceHandlerBuilder 를 사용하여 PostDisableResourceCallback 인터페이스의 사용자 지정 구현을 제공함으로써 덮어쓸 수 있습니다.

사용자 지정 논리가 오류를 반환하면 다음 단계가 실행되지 않고 DISABLE_RESOURCE 프로시저에서 지정된 오류 응답이 반환됩니다.

응답

성공 응답

프로시저가 성공하면 아래와 유사한 응답이 반환됩니다.

{
  "response_code": "OK"
}
Copy

오류 응답

프로시저 오류가 발생하면 아래와 유사한 응답이 반환됩니다.

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

가능한 오류 코드는 다음과 같습니다.

  • INVALID_INPUT - 지정된 리소스 수집 정의 ID를 가진 리소스가 존재하지 않습니다.

  • DISABLE_RESOURCE_ERROR - 리소스 수집 정의를 업데이트하는 동안 또는 수집 프로세스를 완료하는 동안 예기치 않은 동작이 발생했습니다. 모든 변경 사항이 롤백됩니다.