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.
| 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.
| 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:
| 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:
| 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:
| 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:
| 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:
- Java SE Development Kit (JDK) 1.8 oder höher.
- Die
custom-crawler-docs.zip-Datei aus einer installierten Discovery-Instanz wie unter Herunterladen dercustom-crawler-docs.zip-Datei in Discovery 2.2.1 und später und Herunterladen dercustom-crawler-docs.zipDatei in Discovery 2.2.0 und früher. - Das JSch Java-Paket, wie beschrieben Heruntergeladen JSch. Sie können das Paket im ZIP-Format oder JAR-Format herunterladen.
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.
-
Melden Sie sich am Discovery-Cluster an.
-
Geben Sie den folgenden Befehl ein, um Ihren Pod-Namen
crawlerzu erhalten:oc get pods | grep crawlerMöglicherweise sehen Sie eine Ausgabe, die wie folgt aussieht:
wd-discovery-crawler-57985fc5cf-rxk89 1/1 Running 0 85m -
Geben Sie den folgenden Befehl ein, um die Datei
custom-crawler-docs.zipzu erhalten, und ersetzen Sie dabei{crawler-pod-name}durch den Pod-Namencrawler, den Sie in Schritt 2 erhalten haben:oc exec {crawler-pod-name} -- ls -l /opt/ibm/wex/zing/resources/ \ | grep custom-crawler-docsMö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 -
Geben Sie den folgenden Befehl ein, um die Datei
custom-crawler-docs.zipauf 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 -
Geben Sie den folgenden Befehl ein, um die Datei
custom-crawler-docs.zipzu erweitern:unzip custom-crawler-docs.zip -d custom-crawler-docs-primaryFalls erforderlich, kopieren Sie die Datei
custom-crawler-docs.zipauf den Entwicklungsserver.Wenn Ihr lokaler Computer nicht über das Dienstprogramm
unzipverfügt, versuchen Sie es stattdessen mit dem Befehlgunzipoder 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.zipzugreifen 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.
-
Rufen Sie den Berechtigungsschlüssel ab, indem Sie zu Ihrer Container-Software-Bibliothek navigieren.
-
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} -
Geben Sie den folgenden Befehl ein, um das Image
custom-crawler-sdkzu extrahieren:docker pull cp.icr.io/cp/watson-discovery/custom-crawler-sdk:2.1.3 -
Geben Sie den folgenden Befehl ein, um das Image
custom-crawler-sdkauszuführen:docker run cp.icr.io/cp/watson-discovery/custom-crawler-sdk:2.1.3 -
Geben Sie den folgenden Befehl ein, um die Datei
custom-crawler-docs.zipaus 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-sdkein. -
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 Dateicustom-crawler-docs.zipheruntergeladen haben.unzip custom-crawler-docs.zipWenn Ihr lokaler Computer nicht über das Dienstprogramm
unzipverfügt, versuchen Sie es stattdessen mit dem Befehlgunzipoder 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.zipzugreifen 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.javaundSftpSecurityHandler.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.