커스텀 커넥터의 조립과 편집
여러 개의 컴포넌트 파일을 함께 패키징하여 사용자 정의 커넥터를 작성합니다.
IBM Cloud Pak for Data IBM Software Hub
이 정보는 설치된 배치에만 적용됩니다.
사용자 정의 커넥터 컴포넌트
커스텀 커넥터 패키지는 다음 구성 요소를 포함하는 압축 파일입니다
| 경로 | 설명 |
|---|---|
config/template.xml |
구성 템플리트 |
config/messages.properties |
UI 메시지에 대한 특성 파일 |
lib/*.jar |
작성한 커넥터 코드가 포함되지 않은 사용자 정의 커넥터에 필요한 JAR 파일 |
구성 템플리트
구성 템플리트는 섹션으로 구분된 XML 파일입니다. 각 설정에는 관련된 설정이 포함됩니다. XML 스니펫은 template.xml
파일 이해custom-crawler-docs.zip에 위치가 나열된 예제 파일에서 가져옵니다.
선언 설정
선언된 설정은 " <declare /> " 요소로 표시됩니다. 요소의 속성은 다음과 같습니다.
| 속성 이름 | 설명 |
|---|---|
type |
데이터 유형: string, long, boolean, 문자열의 list 또는 enum |
name |
설정 이름 |
initial-value |
설정의 초기값 |
enum-value |
세로 막대( | )로 구분된 언어 코드( enum ) 목록 |
required |
설정이 필수임을 표시함 |
hidden |
UI에서 설정을 숨길지 여부를 표시합니다. 설정을 숨기려면 true 값을 지정하십시오. |
현재 릴리스에서는 Discovery 제품 사용자 인터페이스에 required 및 hidden 속성이 적용되지 않습니다.
선언 설정 예
enum 를 선언하려면 다음 코드 조각과 유사한 코드를 사용하십시오
<declare type="enum" name="type" enum-values="PROXY|BASIC|NTLM" initial-value="BASIC"/>
숨겨진 함수( string )를 초기값으로 선언하려면 다음 코드 조각과 유사한 코드를 사용하십시오
<declare type="string" name="custom_config_class" hidden="true" initial-value="com.example.ExampleCrawlerConfig" />
long 를 선언하려면 다음 코드 조각과 유사한 코드를 사용하십시오
<declare type="long" name="port" required="required" initial-value="22"/>
조건부 설정
조건부 설정은 ' <condition /> ' 요소로 표시됩니다. 조건이 충족된 경우에만 조건부 설정이 표시됩니다. 요소의 속성은 다음과 같습니다.
| 속성 이름 | 설명 |
|---|---|
name |
설정 이름 |
enable |
name 속성 값이 enable 속성 값과 같은 경우 설정을 사용으로 설정 |
in |
name 속성 값이 지정된 값 목록에 포함된 경우 설정을 사용으로 설정 |
현재 릴리스에서 조건부 설정은 Discovery 제품 사용자 인터페이스에 적용되지 않습니다.
조건부 설정 예
boolean 조건을 사용하여 섹션을 활성화하려면 다음 코드 조각과 유사한 코드를 사용하십시오
<declare type="boolean" name="use_key" initial-value="true" />
<condition name="use_key" enabled="true">
<declare type="string" name="key" hidden="false" />
</condition>
enum 조건을 사용하여 섹션을 활성화하려면 다음 코드 조각과 유사한 코드를 사용하십시오
<declare type="enum" name="type" enum-values="PROXY|BASIC|NTLM" initial-value="BASIC"/>
<condition name="type" in="BASIC|NTLM|PROXY">
</condition>
<condition name="type" in="PROXY">
템플리트 섹션
각 섹션에는 각 설정에 대한 하나의 <declare /> 요소가 포함되어 있습니다.
| XPath 표현식 | 설명 |
|---|---|
/function/@name |
크롤러의 이름(유형)입니다. UI의 디스플레이 이름이 아닙니다. 공백을 포함할 수 없습니다. |
/function/prototype/proto-section |
구성의 섹션입니다. |
섹션: general_settings
XPath 표현식은 /function/prototype/proto-section[@section="general_settings"] 입니다. 여기에는 다음 설정을 포함하여 모든 크롤러에 대한 공통 설정이 포함되어 있습니다
<declare type="string" name="crawler_name" />
<declare type="string" name="description" />
<declare type="long" name="fetch_interval" initial-value="0" />
<declare type="long" name="number_of_max_threads" initial-value="10" />
<declare type="long" name="number_of_max_documents" initial-value="2000000000" />
<declare type="long" name="max_page_length" initial-value="32768" />
사용자 정의 크롤러는 general_settings 섹션의 다음 설정으로 초기화됩니다. 인터페이스에 대한 정보는 사용자 정의 커넥터 코드 개발을 참조하십시오.
| 이름 | 값 |
|---|---|
custom_config_class |
com.ibm.es.ama.custom.crawler.CustomCrawlerConfiguration 인터페이스를 구현하는 클래스 이름 |
custom_crawler_class |
com.ibm.es.ama.custom.crawler.CustomCrawler 인터페이스를 구현하는 클래스 이름 |
custom_security_class |
com.ibm.es.ama.custom.crawler.CustomCrawlerSecurityHandler 인터페이스를 구현하는 클래스 이름 |
document_level_security_supported |
문서 레벨 보안의 사용(true) 또는 사용 안함(false) 여부 지정 |
인터페이스를 지정하려면 다음과 같은 코드 조각과 유사한 코드를 사용하십시오
<declare type="string" name="custom_config_class" hidden="true" initial-value="com.ibm.es.ama.custom.crwler.sample.sftp.SftpCrawler" />
<declare type="string" name="custom_crawler_class" hidden="true" initial-value="com.ibm.es.ama.custom.crwler.sample.sftp.SftpCrawler" />
<declare type="string" name="custom_security_class" hidden="true" initial-value="com.ibm.es.ama.custom.crwler.sample.sftp.SftpCrawler" />
<declare type="boolean" name="document_level_security_supported" initial-value="true" hidden="true"/>
버전 2.2.1 이하와 함께 번들로 제공되는 SDK 패키지를 사용하여 사용자 정의 커넥터를 빌드한 경우 document_level_security_supported 를 사용 안함으로 설정해야 합니다 ( false 로 설정). 문서 레벨 보안은 2.2.1 및 이전 릴리스에서 지원되지 않습니다. 그러나 문서 레벨 보안이 지원되지 않는 경우에도 문서 레벨 보안 사용 옵션이 Discovery 에 표시됩니다. 새 콜렉션을 작성할 때 이 옵션을 선택하지 마십시오.
사용자 정의 커넥터가 2.2.1 이전 버전과 함께 번들로 제공된 SDK 패키지를 사용하여 빌드된 경우 Discovery 에서 문서 레벨 보안 사용 옵션을 숨기려면 다음 단계를 완료하십시오.
-
config/template.xml파일의document_level_security_supported매개변수를 다음과 같이 변경하십시오.<declare type="boolean" name="document_level_security_supported" hidden="true" initial-value="false"/> -
커넥터 패키지를 다시 빌드한 후 다시 업로드하십시오.
섹션: datasource_settings
XPath 표현식은 /function/prototype/proto-section[@section="datasource_settings"] 입니다. 여기에는 데이터 소스별 설정이 포함됩니다.
<proto-section section="datasource_settings">
<declare type="string" name="host" required="required" initial-value="localhost"/>
<declare type="long" name="port" required="required" initial-value="22"/>
<declare type="string" name="user" required="required" />
<declare type="boolean" name="use_key" initial-value="true" />
<condition name="use_key" enabled="true">
<declare type="string" name="key" hidden="false" />
<declare type="password" name="passphrase" hidden="false" />
</condition>
<condition name="use_key" enabled="false">
<declare type="password" name="secret_key" hidden="false" />
</condition>
</proto-section>
섹션: crawlspace_settings
XPath 표현식은 /function/prototype/proto-section[@section="crawlspace_settings"] 입니다. 이 섹션에는 경로를 지정하는 하나의 <declare /> 요소만 포함되어 있습니다. 경로 값은 커넥터 코드에 의해 제공됩니다.
<proto-section section="crawlspace_settings" cardinality="multiple">
<declare type="string" name="path" hidden="true" />
</proto-section>
특성 파일
특성 파일의 예제는
messages.properties 파일 이해custom-crawler-docs.zip에 위치가 나열된 예제 파일을 참조하십시오.
JAR 파일
사용자 정의 커넥터 코드에서 사용하는 모든 인터페이스의 JAR 파일입니다(위치가 ama-zing-custom-crawler-{version_numbers}.jar 파일 이해custom-crawler-docs.zip에 나열되는 파일 포함). ama-zing-custom-crawler-{version_numbers}.jar 파일에는 com.ibm.es.ama.custom.crawler사용자 정의 커넥터 코드 개발에 설명된 Java 패키지가 포함되어 있습니다.
사용자 정의 커넥터 컴파일 및 패키징
사용자 정의 커넥터에 대한 소스 코드와 구성 파일을 작성한 후 컴파일하고 패키징해야 합니다.
전제조건
커스텀 커넥터를 컴파일하려면 로컬 시스템에 다음 항목이 있어야 합니다. 세부사항은 사용자 정의 커넥터 예제를 참조하십시오.
-
Java SDK 1.8 이상
-
설치된 Discovery 인스턴스의
custom-crawler-docs.zip파일 -
JSch 패키지
-
예제 사용자 정의 커넥터에 필요한 다음 파일:
- Java 소스 코드 (
SftpCrawler.java및SftpSecurityHandler.java) - XML 정의 파일(
template.xml) - 특성 파일(
messages.properties)
예제 사용자 정의 커넥터 파일의 이름 또는 경로를 변경하지 마십시오. 그렇게 하면 빌드 실패를 포함한 문제가 발생할 수 있습니다.
- Java 소스 코드 (
소스 코드 컴파일 및 패키징
-
로컬 시스템의 커스텀 커넥터 개발 디렉토리에 있는지 확인하십시오
cd {local_directory} -
Gradle 를 사용하여 Java 소스 코드를 컴파일하고 커스텀 커넥터에 필요한 모든 구성 요소를 포함하는 압축 파일을 만듭니다
gradle build packageCustomCrawler
Gradle 은 {local_directory}/build/distributions/{built_connector_zip_file} 에 파일을 작성합니다. 여기서 {built_connector_zip_file} 의 이름은 settings.gradle 의 rootProject.name 값을 기반으로 합니다. 예를 들어, 줄이 다음과 같이
표시되면, Gradle 는 {local_directory}/build/distributions/my-sftp-connector.zip 라는 이름의 파일을 생성합니다.
rootProject.name = 'my-sftp-connector'
다음 단계
사용자 정의 커넥터 설치 및 설치 제거로 진행하여 Discovery 인스턴스에 사용자 정의 커넥터를 설치하십시오.