Zusammenbau und Zusammenstellung eines kundenspezifischen Steckverbinders
Sie müssen ein Paket mit einer Reihe von Komponentendateien erstellen, wenn Sie einen angepassten Connector erstellen möchten.
IBM Cloud Pak for Data IBM Software Hub
Diese Informationen gelten nur für installierte Implementierungen.
Komponenten eines angepassten Connectors
Ein benutzerdefiniertes Connector-Paket ist eine komprimierte Datei, die folgende Komponenten enthält:
| Pfad | Beschreibung |
|---|---|
config/template.xml |
Konfigurationsvorlage |
config/messages.properties |
Eigenschaftendatei für Benutzerschnittstellennachrichten |
lib/*.jar |
Für den angepassten Connector erforderliche JAR-Dateien, exklusive des von Ihnen geschriebenen Connector-Codes |
Konfigurationsvorlage
Bei der Konfigurationsvorlage handelt es sich um eine XML-Datei, die in Abschnitte gegliedert ist. Jeder Abschnitt enthält zugehörige Einstellungen. Die XML-Snippets werden aus der Beispieldatei template.xml übernommen, deren Position
unter Informationen zur Datei custom-crawler-docs.zip aufgeführt ist.
Deklarierte Einstellungen
Die deklarierten Einstellungen werden durch das Element <declare /> dargestellt. Das Element kann mit folgenden Attributen verwendet werden:
| Attributname | Beschreibung |
|---|---|
type |
Datentyp string, long, boolean, list (Liste von Zeichenfolgen) oder enum |
name |
Name der Einstellung |
initial-value |
Anfangswert der Einstellung |
enum-value |
Eine Liste der enum-Werte, getrennt durch vertikale Balken ( | ) |
required |
Gibt an, dass die Einstellung erforderlich ist |
hidden |
Gibt an, ob die Einstellung auf der Benutzerschnittstelle ausgeblendet werden soll. Geben Sie den Wert true an, um die Einstellung auszublenden. |
In der aktuellen Version werden die Attribute required und hidden nicht in der Benutzeroberfläche des Discovery-Produkts angewendet.
Beispiele für deklarierte Einstellungen
Um einen enum-Typ zu deklarieren, verwenden Sie einen Code, der dem folgenden Snippet ähnelt:
<declare type="enum" name="type" enum-values="PROXY|BASIC|NTLM" initial-value="BASIC"/>
Um eine versteckte string mit einem Anfangswert zu deklarieren, verwenden Sie einen Code, der dem folgenden Snippet ähnelt:
<declare type="string" name="custom_config_class" hidden="true" initial-value="com.example.ExampleCrawlerConfig" />
Um eine erforderliche long zu deklarieren, verwenden Sie einen Code, der dem folgenden Ausschnitt ähnelt:
<declare type="long" name="port" required="required" initial-value="22"/>
Bedingte Einstellungen
Bedingte Einstellungen werden durch das Element <condition /> dargestellt. Eine bedingte Einstellung wird nur angezeigt, wenn die Bedingung erfüllt ist. Das Element kann mit folgenden Attributen verwendet werden:
| Attributname | Beschreibung |
|---|---|
name |
Name der Einstellung |
enable |
Die Einstellung wird aktiviert, wenn der Wert des Attributs name mit dem Wert des Attributs enable übereinstimmt. |
in |
Die Einstellung wird aktiviert, wenn der Wert des Attributs name in einer angegebenen Werteliste enthalten ist. |
Im aktuellen Release werden bedingte Einstellungen nicht in der Benutzerschnittstelle des Produkts Discovery angewendet.
Beispiele für bedingte Einstellungen
Um einen Abschnitt mithilfe einer boolean-Bedingung zu aktivieren, verwenden Sie einen Code, der dem folgenden Snippet ähnelt:
<declare type="boolean" name="use_key" initial-value="true" />
<condition name="use_key" enabled="true">
<declare type="string" name="key" hidden="false" />
</condition>
Um einen Abschnitt mithilfe einer enum-Bedingung zu aktivieren, verwenden Sie einen Code, der dem folgenden Snippet ähnelt:
<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">
Vorlagenabschnitte
Jeder Abschnitt enthält ein <declare />-Element für jede seiner Einstellungen.
| XPath-Ausdruck | Beschreibung |
|---|---|
/function/@name |
Der Name (Typ) des Crawlers. Kein Anzeigename für die Benutzerschnittstelle. Darf keine Leerzeichen enthalten. |
/function/prototype/proto-section |
Abschnitt der Konfiguration |
Abschnitt general_settings
Der XPath-Ausdruck lautet /function/prototype/proto-section[@section="general_settings"]. Es enthält allgemeine Einstellungen für alle Crawler, einschließlich der folgenden Einstellungen:
<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" />
Der angepasste Crawler wird mit den folgenden Einstellungen im Abschnitt general_settings initialisiert. Informationen zu den Schnittstellen finden Sie in Code für angepassten Connector entwickeln.
| Name | Wert |
|---|---|
custom_config_class |
Der Name einer Klasse, die die Schnittstelle com.ibm.es.ama.custom.crawler.CustomCrawlerConfiguration implementiert. |
custom_crawler_class |
Der Name einer Klasse, die die Schnittstelle com.ibm.es.ama.custom.crawler.CustomCrawler implementiert. |
custom_security_class |
Der Name einer Klasse, die die Schnittstelle com.ibm.es.ama.custom.crawler.CustomCrawlerSecurityHandler implementiert. |
document_level_security_supported |
Gibt an, ob die Sicherheit auf Dokumentebene aktiviert ist (true) oder inaktiviert (false). |
Verwenden Sie zur Angabe der Schnittstellen einen Code, der dem folgenden Snippet ähnelt:
<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"/>
Wenn Sie einen angepassten Connector mit einem SDK-Paket erstellt haben, das mit Version 2.2.1 oder früher gebündelt wurde, muss document_level_security_supported inaktiviert sein (auf false gesetzt). Sicherheit auf
Dokumentebene wird in 2.2.1 und früheren Releases nicht unterstützt. Die Option Sicherheit auf Dokumentebene aktivieren wird jedoch in Discovery angezeigt, auch wenn die Sicherheit auf Dokumentebene nicht unterstützt wird.
Wählen Sie diese Option nicht aus, wenn Sie eine neue Objektgruppe erstellen.
Führen Sie die folgenden Schritte aus, um die Option Sicherheit auf Dokumentebene aktivieren in Discovery auszublenden, wenn der angepasste Connector mit einem SDK-Paket erstellt wurde, das mit Version 2.2.1 oder früher gebündelt wurde:
-
Ändern Sie den Parameter
document_level_security_supportedin der Dateiconfig/template.xmlwie folgt:<declare type="boolean" name="document_level_security_supported" hidden="true" initial-value="false"/> -
Erstellen Sie das Connectorpaket erneut und laden Sie es anschließend erneut hoch.
Abschnitt datasource_settings
Der XPath-Ausdruck lautet /function/prototype/proto-section[@section="datasource_settings"]. Er enthält spezifische Einstellungen für die Datenquelle.
<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>
Abschnitt crawlspace_settings
Der XPath-Ausdruck lautet /function/prototype/proto-section[@section="crawlspace_settings"]. Der Abschnitt enthält nur ein <declare />-Element, um den Pfad anzugeben. Der Pfadwert wird vom Connector-Code
angegeben.
<proto-section section="crawlspace_settings" cardinality="multiple">
<declare type="string" name="path" hidden="true" />
</proto-section>
Eigenschaftendatei
Ein Beispiel für eine Eigenschaftendatei ist die Datei messages.properties, deren Position unter Informationen zur Datei custom-crawler-docs.zip angegeben ist.
JAR-Dateien
Die JAR-Dateien gelten für alle von Ihrem Code für angepasste Connectors verwendeten Schnittstellen. Dies gilt auch für die Datei ama-zing-custom-crawler-{version_numbers}.jar, deren Position unter Informationen zur Datei custom-crawler-docs.zip aufgeführt ist. Die Datei ama-zing-custom-crawler-{version_numbers}.jar enthält das Java-Paket com.ibm.es.ama.custom.crawler, das unter Code für angepasste Connectors entwickeln beschrieben ist.
Angepassten Connector kompilieren und packen
Wenn Sie die Quellcode- und Konfigurationsdateien für Ihren angepassten Connector geschrieben haben, müssen Sie diese kompilieren und packen.
Voraussetzungen
Um einen benutzerdefinierten Connector zu erstellen, müssen Sie die folgenden Elemente auf Ihrem lokalen System haben. Details finden Sie in Beispiel für einen angepassten Connector.
-
Java SDK 1.8 oder höher
-
Datei
custom-crawler-docs.zipaus einer installierten Instanz von Discovery -
JSch-Paket
-
Folgende Dateien für den angepassten Beispielconnector:
- Java-Quellcode (
SftpCrawler.javaundSftpSecurityHandler.java) - XML-Definitionsdatei (
template.xml) - Eigenschaftendatei (
messages.properties)
Ändern Sie nicht die Namen oder Pfade der angepassten Beispielconnectordateien. Dies kann zu Problemen führen, einschließlich Fehlern bei der Erstellung.
- Java-Quellcode (
Quellcode kompilieren und packen
-
Stellen Sie sicher, dass Sie sich im Verzeichnis für die benutzerdefinierte Konnektorentwicklung auf Ihrem lokalen System befinden:
cd {local_directory} -
Verwenden Sie Gradle, um Ihren Java-Quellcode zusammenzustellen und eine komprimierte Datei zu erstellen, die alle erforderlichen Komponenten für den benutzerdefinierten Connector enthält:
gradle build packageCustomCrawler
Gradle erstellt eine Datei in {local_directory}/build/distributions/{built_connector_zip_file}, wobei der Name der {built_connector_zip_file} auf dem rootProject.name-Wert settings.gradle basiert. Wenn die Zeile beispielsweise wie folgt lautet, generiert Gradle eine Datei mit dem Namen {local_directory}/build/distributions/my-sftp-connector.zip.
rootProject.name = 'my-sftp-connector'
Nächster Schritt
Fahren Sie mit dem Abschnitt Angepassten Connector installieren und deinstallieren fort, um den angepassten Connector in Ihrer Instanz von Discovery zu installieren.