리소스 만들기¶
소스 시스템에서 데이터 수집을 정의하고 예약하려면 리소스를 생성해야 합니다. PUBLIC.CREATE_RESOURCE
프로시저는 UI 또는 워크시트에서 새 리소스를 생성하기 위한 진입점입니다.
이 프로시저를 호출하려면 사용자에게 ADMIN
애플리케이션 역할이 할당되어 있어야 합니다.
리소스 생성 프로세스는 여러 단계로 구성됩니다. 그 중 일부 프로세스는 사용자 지정이 가능하지만 적절한 기본값이 포함되어 있습니다. 단계는 다음과 같습니다.
초기 유효성 검사
사용자 지정 유효성 검사
리소스가 생성되기 전 사용자 지정 논리
리소스 수집 정의 및 수집 프로세스 생성
리소스가 생성된 후의 사용자 지정 논리
초기 유효성 검사¶
초기 유효성 검사는 리소스 생성 프로세스의 맨 처음에 수행되며 다음 사항을 확인합니다.
제공된 입력 데이터가 유효한 리소스 수집 정의 오브젝트를 나타내는지 여부
id
및resourceId
가 제공된 리소스가 없는지 여부
사용자 지정 유효성 검사¶
사용자 지정 유효성 검사는 초기 유효성 검사 후 실행되며 사용자 지정 커넥터별 논리를 지원하도록 설계되었습니다. 예를 들어, 제공된 리소스가 소스 시스템에 존재하는지 확인하는 데 사용할 수 있습니다.
이는 기본적으로 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>" }
응답으로 반환되는 id
는 리소스 수집 정의의 ID이며, 나중에 리소스를 활성화, 비활성화 또는 업데이트하는 데 사용할 수 있습니다.
오류 응답¶
오류가 발생하면 프로시저는 다음과 유사한 응답을 반환합니다.
{ "response_code": "<ERROR_CODE>", "message": "<error message>" }
가능한 오류 코드는 다음과 같습니다.
INVALID_INPUT
- 제공된 프로시저의 인자가 잘못되어 유효한 리소스 오브젝트를 생성할 수 없거나 지정된 ID를 가진 리소스가 이미 있습니다.CREATE_RESOURCE_ERROR
- 새로운 리소스 수집 정의를 생성하거나 수집 프로세스를 생성할 때 예기치 않은 동작이 발생했습니다. 모든 변경 사항이 롤백됩니다.