리소스 만들기

소스 시스템에서 데이터 수집을 정의하고 예약하려면 리소스를 생성해야 합니다. PUBLIC.CREATE_RESOURCE 프로시저는 UI 또는 워크시트에서 새 리소스를 생성하기 위한 진입점입니다.

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

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

  1. 초기 유효성 검사

  2. 사용자 지정 유효성 검사

  3. 리소스가 생성되기 전 사용자 지정 논리

  4. 리소스 수집 정의 및 수집 프로세스 생성

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

초기 유효성 검사

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

  • 제공된 입력 데이터가 유효한 리소스 수집 정의 오브젝트를 나타내는지 여부

  • idresourceId 가 제공된 리소스가 없는지 여부

사용자 지정 유효성 검사

사용자 지정 유효성 검사는 초기 유효성 검사 후 실행되며 사용자 지정 커넥터별 논리를 지원하도록 설계되었습니다. 예를 들어, 제공된 리소스가 소스 시스템에 존재하는지 확인하는 데 사용할 수 있습니다.

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

사용자 지정 유효성 검사가 오류를 반환하면 다음 단계가 실행되지 않고 CREATE_RESOURCE 프로시저에서 오류 응답이 반환됩니다.

리소스가 생성되기 전 사용자 지정 논리

리소스가 생성되고 예약되기 전에 사용자 지정 논리를 구현할 수 있습니다. 예를 들어, 수집 데이터가 저장될 새로운 대상 테이블을 생성하는 데 사용할 수 있습니다.

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

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

리소스 수집 정의 및 수집 프로세스 생성

이 단계 중에 새 레코드가 STATE.RESOURCE_INGESTION_DEFINITION 테이블에 추가됩니다. 또한 리소스가 처음에 활성화되어야 하는 경우(enabled 매개 변수는 true 와 같음), 제공된 각 수집 구성에 대해 새로운 수집 프로세스가 추가됩니다. 수집 프로세스는 SCHEDULED 상태로 생성되며, 이는 나중에 수집이 시작됨을 의미합니다. enabled 플래그가 false 로 설정된 경우 수집 프로세스가 생성되지 않으며, 수집을 활성화하려면 ENABLE_RESOURCE 프로시저를 호출해야 합니다.

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

사용자 지정 논리는 리소스가 생성되고 예약된 후에 지정될 수 있습니다. 예를 들어, 수집 데이터가 저장될 새로운 대상 테이블을 생성하는 데 사용할 수 있습니다.

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

사용자 지정 논리가 오류를 반환하면 CREATE_RESOURCE 프로시저에서 주어진 오류 응답이 반환되지만 리소스 수집 정의 및 수집 프로세스의 생성은 롤백되지 않습니다.

응답

성공 응답

성공하면 프로시저는 다음과 유사한 응답을 반환합니다.

{
  "response_code": "OK",
  "id": "<new resource ingestion definition id>"
}
Copy

응답으로 반환되는 id 는 리소스 수집 정의의 ID이며, 나중에 리소스를 활성화, 비활성화 또는 업데이트하는 데 사용할 수 있습니다.

오류 응답

오류가 발생하면 프로시저는 다음과 유사한 응답을 반환합니다.

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

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

  • INVALID_INPUT - 제공된 프로시저의 인자가 잘못되어 유효한 리소스 오브젝트를 생성할 수 없거나 지정된 ID를 가진 리소스가 이미 있습니다.

  • CREATE_RESOURCE_ERROR - 새로운 리소스 수집 정의를 생성하거나 수집 프로세스를 생성할 때 예기치 않은 동작이 발생했습니다. 모든 변경 사항이 롤백됩니다.