커스텀 커넥터의 조립과 편집

여러 개의 컴포넌트 파일을 함께 패키징하여 사용자 정의 커넥터를 작성합니다.

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 /> ' 요소로 표시됩니다. 조건이 충족된 경우에만 조건부 설정이 표시됩니다. 요소의 속성은 다음과 같습니다.

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 에서 문서 레벨 보안 사용 옵션을 숨기려면 다음 단계를 완료하십시오.

  1. config/template.xml 파일의 document_level_security_supported 매개변수를 다음과 같이 변경하십시오.

    <declare type="boolean" name="document_level_security_supported" hidden="true" initial-value="false"/>
    
  2. 커넥터 패키지를 다시 빌드한 후 다시 업로드하십시오.

섹션: 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 이상

  • Gradle

  • 설치된 Discovery 인스턴스의 custom-crawler-docs.zip 파일

  • JSch 패키지

  • 예제 사용자 정의 커넥터에 필요한 다음 파일:

    • Java 소스 코드 (SftpCrawler.java 및 SftpSecurityHandler.java)
    • XML 정의 파일(template.xml)
    • 특성 파일(messages.properties)

    예제 사용자 정의 커넥터 파일의 이름 또는 경로를 변경하지 마십시오. 그렇게 하면 빌드 실패를 포함한 문제가 발생할 수 있습니다.

소스 코드 컴파일 및 패키징

  1. 로컬 시스템의 커스텀 커넥터 개발 디렉토리에 있는지 확인하십시오

    cd {local_directory}
    
  2. 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 인스턴스에 사용자 정의 커넥터를 설치하십시오.