Angepassten Cloud Pak for Data-Connector-Code entwickeln

Das Beispiel für einen benutzerdefinierten Connector enthält ein Java-Paket mit dem Namen com.ibm.es.ama.custom.crawler. Das Paket enthält die folgenden Java-Schnittstellen, die Sie verwenden können, wenn Sie Ihren eigenen benutzerdefinierten Konnektor schreiben.

IBM Cloud Pak for Data IBM Software Hub

Diese Informationen gelten nur für installierte Bereitstellungen.

Schnittstellen und JavaDoc

Die in diesem Dokument aufgeführten Schnittstellen sind in der JAR-Paketdatei verfügbar, die in der komprimierten Datei des benutzerdefinierten Connectors enthalten ist. Nachdem Sie die custom-crawler-docs.zip-Datei heruntergeladen und erweitert haben, wie in Herunterladen der custom-crawler-docs.zip-Datei in Discovery 2.2.1 und später und Herunterladen der custom-crawler-docs.zip Datei in Discovery 2.2.0 und früher beschrieben, ist die Schnittstellen-JAR-Datei als wexlib/ama-zing-custom-crawler-{version_numbers}.jar auf der Stammebene der erweiterten komprimierten Datei verfügbar. JavaDoc für die JAR-Datei ist auf derselben Ebene als wexlib/ama-zing-custom-crawler-{version_numbers}-javadoc.jar verfügbar.

Initialisierungsschnittstelle

CustomCrawler

Verwenden Sie die Schnittstelle com.ibm.es.ama.custom.crawler.CustomCrawler, um einen benutzerdefinierten Crawler zu starten oder zu stoppen oder um Dokumente von einem Pfad aus zu crawlen. Zur Schnittstelle gehören die folgenden Methoden.

CustomCrawler Methoden
Methode Beschreibung
init Einen benutzerdefinierten Crawler starten
term Einen benutzerdefinierten Crawler anhalten
crawl Dokumente von einem bestimmten Pfad aus crawlen

Konfigurationsschnittstellen

CustomCrawlerConfiguration

Verwenden Sie die Schnittstelle com.ibm.es.ama.custom.crawler.CustomCrawlerConfiguration, um die Konfiguration zu validieren und verfügbare Crawlerbereiche in der Datenquelle aufzuspüren. Zur Schnittstelle gehören die folgenden Methoden.

CustomCrawlerConfiguration Methoden
Methode Beschreibung
validate Konfiguration validieren
getFieldsFor Bekannte Felder und deren Typen auflisten
discoverySubspaces Crawlerbereiche in der Datenquelle aufspüren

ConfigProvider

Verwenden Sie die Schnittstelle com.ibm.es.ama.custom.crawler.CustomCrawlerConfiguration.ConfigProvider, um die Einstellungen der Datenquelle zuzuordnen und die Crawlerbereichseinstellungen in der Datenquelle aufzulisten. Zur Schnittstelle gehören die folgenden Methoden:

ConfigProvider Methoden
Methode Beschreibung
get Zuordnung der Einstellungen in einem Abschnitt abrufen
getCrawlspaceSettings Liste der Crawlerbereichseinstellungen abrufen

SubspaceConsumer

Verwenden Sie die Schnittstelle com.ibm.es.ama.custom.crawler.CustomCrawlerConfiguration.SubspaceConsumer, um einen Pfad zu einem Crawlerbereich hinzuzufügen. Zur Schnittstelle gehört die folgende Methode:

SubspaceConsumer Methoden
Methode Beschreibung
add Pfad zum Crawlerbereich hinzufügen

Crawlerschnittstelle

RecordKeeper

Verwenden Sie die Schnittstelle com.ibm.es.ama.custom.crawler.CustomCrawler.RecordKeeper, um Datensätze von Crawlersuchvorgängen aufzubewahren und durchsuchte Dokumente zu veröffentlichen. Zur Schnittstelle gehören die folgenden Methoden:

RecordKeeper Methoden
Methode Beschreibung
canContinue Boolescher Wert, der angibt, ob der Crawler fortfahren kann. Der angepasste Crawler muss diesen Wert regelmäßig abfragen. Wenn false zurückgegeben wird, wird der Crawler beendet.
check Metadatenfelder aus dem zuletzt durchsuchten Dokument abrufen
upsert Dokument zur weiteren Verarbeitung veröffentlichen
delete Dokument löschen

Sicherheitsschnittstelle

CustomCrawlerSecurityHandler

Verwenden Sie die Schnittstelle com.ibm.es.ama.custom.crawler.CustomCrawlerSecurityHandler, um die Sicherheit für Ihren angepassten Crawler zu implementieren. Zur Schnittstelle gehören die folgenden Methoden:

CustomCrawlerSecurityHandler Methoden
Methode Beschreibung
term Sicherheitshandler beenden
getUserAndGroups Zugriffssteuerungslisten für einen Benutzer abrufen

Wenn die getUserAndGroups-Logik eines Konnektors aktualisiert wird, kann es bis zu 10 Minuten dauern, nachdem der Konnektor erneut bereitgestellt wurde, bis die Änderung wirksam wird.

Beispiel für einen angepassten Connector

Der Beispiel-Connector ist ein Secure File Transfer-Protokoll-Connector (SFTP), der Dateien durchsucht, die sich auf einem SFTP-Server befinden.

Der Beispielconnector umfasst drei Komponenten:

  • Java-Quellcode für den Connector
  • Eine XML-Definitionsdatei, die die Parameter definiert, die der Konnektor verwendet, um eine Verbindung zur Datenquelle herzustellen und diese zu durchsuchen
  • Eine Eigenschaftendatei, die optionale Verhaltensweisen für den Connector definiert

Anforderungen

Der Java-Quellcode für den Beispielconnector hat folgende Abhängigkeiten:

Herunterladen der custom-crawler-docs.zip-Datei in Discovery 2.2.1 und später

In Discovery Version 2.2.1 und höher, führen Sie die folgenden Schritte aus, um die custom-crawler-docs.zip Datei auf Ihren lokalen Rechner herunterzuladen. Sie benötigen Rootzugriff auf eine installierte Instanz von Discovery.

  1. Melden Sie sich am Discovery-Cluster an.

  2. Geben Sie den folgenden Befehl ein, um Ihren Pod-Namen crawler zu erhalten:

    oc get pods | grep crawler
    

    Möglicherweise sehen Sie eine Ausgabe, die wie folgt aussieht:

    wd-discovery-crawler-57985fc5cf-rxk89     1/1     Running     0          85m
    
  3. Geben Sie den folgenden Befehl ein, um die Datei custom-crawler-docs.zip zu erhalten, und ersetzen Sie dabei {crawler-pod-name} durch den Pod-Namen crawler, den Sie in Schritt 2 erhalten haben:

    oc exec {crawler-pod-name} -- ls -l /opt/ibm/wex/zing/resources/ \
    | grep custom-crawler-docs
    

    Möglicherweise wird eine Ausgabe angezeigt, die der folgenden ähnelt:

    -rw-r--r--. 1 dadmin dadmin 59451 Jan 19 03:50 custom-crawler-docs-${build-version}.zip
    
  4. Geben Sie den folgenden Befehl ein, um die Datei custom-crawler-docs.zip auf den Host-Server zu kopieren. Ersetzen Sie hierbei {build-version} durch die Nummer der Buildversion in Schritt 3.

    oc cp {crawler-pod-name}:/opt/ibm/wex/zing/resources/custom-crawler-docs-${build-version}.zip custom-crawler-docs.zip
    
  5. Geben Sie den folgenden Befehl ein, um die Datei custom-crawler-docs.zip zu erweitern:

    unzip custom-crawler-docs.zip -d custom-crawler-docs-primary
    

    Falls erforderlich, kopieren Sie die Datei custom-crawler-docs.zip auf den Entwicklungsserver.

    Wenn Ihr lokaler Computer nicht über das Dienstprogramm unzip verfügt, versuchen Sie es stattdessen mit dem Befehl gunzip oder suchen Sie in der Dokumentation des Betriebssystems Ihres lokalen Computers nach anderen Alternativen zum Entpacken komprimierter Dateien.

    Wenn Sie eine Version von Discovery verwenden, die älter als 2.1.2 ist, und auf die Datei custom-crawler-docs.zip zugreifen möchten, geben Sie den folgenden Befehl ein: scp root@{instance_name}:/root/bob/sdk/custom-crawler-docs.zip {local_directory}.

Für Informationen zum Herunterladen der custom-crawler-docs.zip Datei auf Discovery 2.2.0 und früher, siehe Herunterladen der custom-crawler-docs.zip Datei zu Discovery 2.2.0 und früher.

Herunterladen der custom-crawler-docs.zip-Datei auf Discovery 2.2.0 und früher

In Discovery Version 2.2.0 und früher, führen Sie die folgenden Schritte aus, um die custom-crawler-docs.zip Datei auf Ihren lokalen Rechner herunterzuladen. Sie benötigen Rootzugriff auf eine installierte Instanz von Discovery.

  1. Rufen Sie den Berechtigungsschlüssel ab, indem Sie zu Ihrer Container-Software-Bibliothek navigieren.

  2. Geben Sie den folgenden Befehl ein, um sich bei der Docker-Registry anzumelden, in der Ihre Discovery-Images verfügbar sind. Geben Sie Ihren Berechtigungsschlüssel im folgenden Befehl ein:

    docker login cp.icr.io -u cp -p {entitlement_key}
    
  3. Geben Sie den folgenden Befehl ein, um das Image custom-crawler-sdk zu extrahieren:

    docker pull cp.icr.io/cp/watson-discovery/custom-crawler-sdk:2.1.3
    
  4. Geben Sie den folgenden Befehl ein, um das Image custom-crawler-sdk auszuführen:

    docker run cp.icr.io/cp/watson-discovery/custom-crawler-sdk:2.1.3
    
  5. Geben Sie den folgenden Befehl ein, um die Datei custom-crawler-docs.zip aus dem Container zu kopieren, in dem das Image ausgeführt wird:

    docker cp {container_name}:/crawler/custom-crawler-docs.zip .
    

    Um das Image zu suchen, geben Sie docker ps -a | grep custom-crawler-sdk ein.

  6. Entpacken Sie die Datei custom-crawler-docs.zip:

    cd {local_directory}
    

    Hier steht {local_directory} für das Verzeichnis auf Ihrer lokalen Maschine, in das Sie die Datei custom-crawler-docs.zip heruntergeladen haben.

    unzip custom-crawler-docs.zip
    

    Wenn Ihr lokaler Computer nicht über das Dienstprogramm unzip verfügt, versuchen Sie es stattdessen mit dem Befehl gunzip oder suchen Sie in der Dokumentation des Betriebssystems Ihres lokalen Computers nach anderen Alternativen zum Entpacken komprimierter Dateien.

    Wenn Sie eine Version von Discovery verwenden, die älter als 2.1.2 ist, und auf die Datei custom-crawler-docs.zip zugreifen möchten, geben Sie den folgenden Befehl ein: scp root@{instance_name}:/root/bob/sdk/custom-crawler-docs.zip {local_directory}.

Informationen zum Herunterladen der custom-crawler-docs.zip-Datei auf Discovery Version 2.2.1 und höher finden Sie unter Herunterladen der custom-crawler-docs.zip-Datei in Discovery 2.2.1 und höher.

Informationen zur Datei custom-crawler-docs.zip

Die Datei custom-crawler-docs.zip wird zu einem Verzeichnis namens custom-crawler-docs-primary, das folgende Inhalte enthält:

custom-crawler-docs-primary
├── README.md
├── build.gradle
├── config
│   ├── README.md
│   ├── messages.properties
│   └── template.xml
├── scripts
│   └── manage_custom_crawler.sh
├── settings.gradle
├── src
│   └── main
│       └── java
│           └── com
│               └── ibm
│                   └── es
│                       └── ama
│                           └── custom
│                               └── crawler
│                                   └── sample
│                                       └── sftp
│                                           └── SftpCrawler.java
|                                           └── SftpSecurityHandler.java
└── wexlib
    ├── META-INF
    │   └── MANIFEST.MF
    ├── README.md
    ├── ama-zing-custom-crawler-{version_numbers}-javadoc.jar
    └── ama-zing-custom-crawler-{version_numbers}.jar

15 directories, 12 files

JSch herunterladen

JSch ist eine Java-Implementierung des SSH2-Protokolls (Secure Shell Protocol Version 2) und der Erweiterung sftp. Es ist von der Java Cryptography Extension(JCE) abgeleitet. Die technischen Daten für SSH2 finden Sie unter www.openssh.com/specs.html.

Die aktuelle Version von JSch ist 0.1.55 und wird von dem Beispielkonnektor unterstützt.

Laden Sie JSch in Ihr Entwicklungsverzeichnis ( {local_directory} ) herunter. Sie können das Paket im ZIP- oder JAR-Format herunterladen. Wenn Sie das Paket im ZIP-Format herunterladen, entpacken Sie es wie im vorherigen Abschnitt beschrieben.

Dateien für den Beispielconnector

Der angepasste Beispielconnector umfasst drei Dateien, die zusammen erstellt werden:

  • Java Quelldateien mit den Namen SftpCrawler.java und SftpSecurityHandler.java
  • Eine XML-Definitionsdatei mit dem Namen template.xml
  • Eine Eigenschaftendatei mit dem Namen message.properties

Wenn Sie diese Dateien untersuchen möchten, verweisen wir Sie bezüglich der Position auf die Verzeichnisbaumstruktur unter Informationen zur Datei custom-crawler-docs.zip.

Für weitere Informationen

Eine detaillierte Dokumentation zu allen im Paket com.ibm.es.ama.custom.crawler verfügbaren Schnittstellen und Methoden finden Sie in der JavaDoc, die unter Schnittstellen und JavaDoc angegeben ist.