리소스 만들기¶
소스 시스템에서 데이터 수집을 정의하고 예약하려면 리소스를 생성해야 합니다. 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- 새로운 리소스 수집 정의를 생성하거나 수집 프로세스를 생성할 때 예기치 않은 동작이 발생했습니다. 모든 변경 사항이 롤백됩니다.