カスタムコネクタの組み立てとコンパイル

さまざまなコンポーネント・ファイルをまとめてパッケージ化して、カスタム・コネクターを作成します。

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 /> 要素によって表されます。 この要素には、以下の属性があります。

Declare エレメント属性
属性名 説明
type データ型。string、long、boolean、ストリングの list、または enum
name 設定の名前
initial-value 設定の初期値
enum-value enum の値を縦棒で区切ったリスト ( | )
required 設定が必須であることを示します
hidden UI で設定を非表示にするかどうかを示します。 設定を非表示にする場合、値を true に指定します。

今回のリリースでは、 required および hidden 属性は、 Discovery 製品のユーザーインターフェースには適用されていません。

宣言設定の例

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">

テンプレート・セクション

各セクションには、それぞれの設定に1つの <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 /> 要素が1つだけ含まれています。 パスの値は、コネクター・コードによって提供されます。


  <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 インスタンスにカスタム・コネクターをインストールします。