Développement d'un code de connecteur Cloud Pak for Data
L'exemple de connecteur personnalisé inclut un package Java nommé com.ibm.es.ama.custom.crawler. L'ensemble comprend les interfaces d' Java s suivantes que vous pouvez utiliser lorsque vous écrivez votre propre connecteur personnalisé.
IBM Cloud Pak for Data IBM Software Hub
Ces informations ne s'appliquent qu'aux déploiements installés.
Interfaces et JavaDoc
Les interfaces répertoriées dans ce document sont disponibles dans le fichier package JAR inclus dans le fichier compressé du connecteur personnalisé. Après avoir téléchargé et développé le fichier custom-crawler-docs.zip comme
décrit dans Downloading the custom-crawler-docs.zip file in Discovery 2.2.1 et ultérieures et Déchargement du fichier custom-crawler-docs.zip dans Discovery 2.2.0 et antérieures,
le fichier JAR de l'interface est disponible en tant que wexlib/ama-zing-custom-crawler-{version_numbers}.jar au niveau de la racine du fichier compressé expansé. JavaDoc pour le fichier JAR est disponible en tant que wexlib/ama-zing-custom-crawler-{version_numbers}-javadoc.jar au même niveau.
Interface d'initialisation
CustomCrawler
Utilisez l'interface com.ibm.es.ama.custom.crawler.CustomCrawler pour démarrer ou arrêter un robot d'exploration personnalisé ou pour explorer des documents à partir d'un chemin d'accès. L'interface dispose des méthodes suivantes.
| Méthode | Descriptif |
|---|---|
init |
Démarrer un crawler personnalisé |
term |
Arrêter un crawler personnalisé |
crawl |
Explorer les documents à partir d'un chemin d'accès spécifié |
Interfaces de configuration
CustomCrawlerConfiguration
Utilisez l'interface com.ibm.es.ama.custom.crawler.CustomCrawlerConfiguration pour valider la configuration et reconnaître les espaces d'exploration disponibles sur la source de données. L'interface dispose des méthodes suivantes.
| Méthode | Descriptif |
|---|---|
validate |
Valider la configuration |
getFieldsFor |
Répertorier les zones connues et leurs types |
discoverySubspaces |
Découvrir des espaces d'exploration sur la source de données |
ConfigProvider
Utilisez l'interface com.ibm.es.ama.custom.crawler.CustomCrawlerConfiguration.ConfigProvider pour mapper les paramètres de la source de données et pour répertorier les paramètres d'espace d'exploration dans la source de données.
L'interface dispose des méthodes suivantes :
| Méthode | Descriptif |
|---|---|
get |
Obtenir une mappe des paramètres dans une section |
getCrawlspaceSettings |
Obtenir une liste de paramètres d'espace d'exploration |
SubspaceConsumer
Utilisez l'interface com.ibm.es.ama.custom.crawler.CustomCrawlerConfiguration.SubspaceConsumer pour ajouter un chemin à un espace d'exploration. L'interface dispose de la méthode suivante :
| Méthode | Descriptif |
|---|---|
add |
Ajouter un chemin à l'espace d'exploration |
Interface du moteur d'exploration
RecordKeeper
Utilisez l'interface com.ibm.es.ama.custom.crawler.CustomCrawler.RecordKeeper pour conserver des enregistrements d'exploration et publier des documents explorés. L'interface dispose des méthodes suivantes :
| Méthode | Descriptif |
|---|---|
canContinue |
Booléen qui indique si le moteur d'exploration peut continuer. Le moteur d'exploration personnalisé doit interroger cette valeur périodiquement et se terminer si elle renvoie false. |
check |
Obtenir les zones de métadonnées à partir du dernier document exploré |
upsert |
Publier un document pour un traitement ultérieur |
delete |
Suppression d'un document |
Interface de sécurité
CustomCrawlerSecurityHandler
Utilisez l'interface com.ibm.es.ama.custom.crawler.CustomCrawlerSecurityHandler pour implémenter la sécurité de votre moteur d'exploration personnalisé. L'interface dispose des méthodes suivantes :
| Méthode | Descriptif |
|---|---|
term |
Mettre fin à un gestionnaire de sécurité |
getUserAndGroups |
Obtenir les listes de contrôle d'accès d'un utilisateur donné |
Lorsque la logique getUserAndGroups d'un connecteur est mise à jour, il peut s'écouler jusqu'à 10 minutes après le redéploiement du connecteur pour que la modification prenne effet.
Exemple de connecteur personnalisé
Le connecteur d'exemple est un connecteur de protocole SFTP ( Secure File Transfer ) qui explore les fichiers situés sur un serveur SFTP.
L'exemple de connecteur comprend trois composants :
- Code source Java pour le connecteur
- Un fichier de définition XML qui définit les paramètres que le connecteur utilise pour se connecter à la source de données et l'explorer
- Fichier de propriétés qui définit les comportements facultatifs pour le connecteur
Conditions requises
Le code source Java de l'exemple de connecteur comporte les dépendances suivantes :
- Java SE Development Kit (JDK) 1.8 ou supérieur.
- Le fichier
custom-crawler-docs.zipd'une instance Discovery installée, comme décrit dans Téléchargement du fichiercustom-crawler-docs.zipdans Discovery 2.2.1 et ultérieures et Téléchargement du fichiercustom-crawler-docs.zipdans Discovery 2.2.0 et antérieures. - Le paquet JSch Java, comme décrit Téléchargé JSch. Vous pouvez télécharger le paquet au format ZIP ou JAR.
Téléchargement du fichier custom-crawler-docs.zip dans Discovery 2.2.1 et ultérieures
Dans Discovery version 2.2.1 et ultérieures, procédez comme suit pour télécharger le fichier custom-crawler-docs.zip sur votre machine locale. Vous avez besoin d'un accès root à une instance Discovery installée :
-
Connectez-vous à votre cluster Discovery.
-
Entrez la commande suivante pour obtenir votre nom de pod d'
crawler:oc get pods | grep crawlerVous pourriez voir une sortie qui ressemble à ceci :
wd-discovery-crawler-57985fc5cf-rxk89 1/1 Running 0 85m -
Entrez la commande suivante pour obtenir le fichier d'
custom-crawler-docs.zip, en remplaçant{crawler-pod-name}par le nom de pod d'crawlers que vous avez obtenu à l'étape 2 :oc exec {crawler-pod-name} -- ls -l /opt/ibm/wex/zing/resources/ \ | grep custom-crawler-docsLe résultat obtenu peut être similaire à celui présenté ci-dessous :
-rw-r--r--. 1 dadmin dadmin 59451 Jan 19 03:50 custom-crawler-docs-${build-version}.zip -
Entrez la commande suivante pour copier le fichier
custom-crawler-docs.zipsur le serveur hôte, en remplaçant{build-version}par le numéro de version obtenu à l'étape 3 :oc cp {crawler-pod-name}:/opt/ibm/wex/zing/resources/custom-crawler-docs-${build-version}.zip custom-crawler-docs.zip -
Entrez la commande suivante pour développer le fichier
custom-crawler-docs.zip:unzip custom-crawler-docs.zip -d custom-crawler-docs-primarySi nécessaire, copiez le fichier
custom-crawler-docs.zipsur le serveur de développement.Si votre ordinateur ne dispose pas de l'utilitaire
unzip, essayez plutôt d'utiliser la commandegunzip, ou consultez la documentation du système d'exploitation de votre ordinateur pour trouver d'autres solutions permettant d'ouvrir les fichiers compressés.Si vous utilisez une version de Discovery antérieure à la version 2.1.2 et si vous souhaitez accéder au fichier
custom-crawler-docs.zip, entrez la commande suivante :scp root@{instance_name}:/root/bob/sdk/custom-crawler-docs.zip {local_directory}.
Pour plus d'informations sur le téléchargement du fichier custom-crawler-docs.zip vers Discovery 2.2.0 et antérieures, voir Downloading the custom-crawler-docs.zip file to Discovery 2.2.0 et antérieures.
Téléchargement du fichier custom-crawler-docs.zip pour Discovery 2.2.0 et antérieures
Dans Discovery version 2.2.0 et antérieures, effectuez les étapes suivantes pour télécharger le fichier custom-crawler-docs.zip sur votre machine locale. Vous avez besoin d'un accès root à une instance Discovery installée
:
-
Obtenez la clé d'autorisation en accédant à votre bibliothèque de logiciels conteneurs.
-
Entrez la commande suivante pour vous connecter au registre Docker où vos images Discovery sont disponibles. Incluez votre clé d'autorisation dans la commande suivante :
docker login cp.icr.io -u cp -p {entitlement_key} -
Entrez la commande suivante pour extraire l'image
custom-crawler-sdk:docker pull cp.icr.io/cp/watson-discovery/custom-crawler-sdk:2.1.3 -
Entrez la commande suivante pour exécuter l'image
custom-crawler-sdk:docker run cp.icr.io/cp/watson-discovery/custom-crawler-sdk:2.1.3 -
Entrez la commande suivante pour copier le fichier
custom-crawler-docs.zipdepuis le conteneur où l'image est exécutée :docker cp {container_name}:/crawler/custom-crawler-docs.zip .Pour trouver l'image, entrez
docker ps -a | grep custom-crawler-sdk. -
Développez le fichier
custom-crawler-docs.zip:cd {local_directory}Où
{local_directory}est le répertoire de votre machine locale dans lequel vous avez téléchargé le fichiercustom-crawler-docs.zip.unzip custom-crawler-docs.zipSi votre ordinateur ne dispose pas de l'utilitaire
unzip, essayez plutôt d'utiliser la commandegunzip, ou consultez la documentation du système d'exploitation de votre ordinateur pour trouver d'autres solutions permettant d'ouvrir les fichiers compressés.Si vous utilisez une version de Discovery antérieure à la version 2.1.2 et si vous souhaitez accéder au fichier
custom-crawler-docs.zip, entrez la commande suivante :scp root@{instance_name}:/root/bob/sdk/custom-crawler-docs.zip {local_directory}.
Pour plus d'informations sur le téléchargement du fichier custom-crawler-docs.zip sur Discovery version 2.2.1 et ultérieures, voir Downloading the custom-crawler-docs.zip file in Discovery 2.2.1 et ultérieures.
Compréhension du fichier custom-crawler-docs.zip
Le fichier « custom-crawler-docs.zip » se développe en un répertoire nommé « custom-crawler-docs-primary » qui inclut les contenus suivants :
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
Téléchargement de JSch
JSch est une implémentation Java du protocole Secure Shell version 2 (SSH2) et, par extension, sftp. Il est dérivé de l'extension de chiffrement Java(Java, JCE ). Vous trouverez les spécifications d' SSH2 s sur www.openssh.com/specs.html.
La version actuelle de JSch est 0.1.55 et est prise en charge par le connecteur d'exemple.
Téléchargez JSch dans votre répertoire de développement ( {local_directory} ). Vous pouvez télécharger le package au format ZIP ou au format JAR. Si vous téléchargez le package au format .zip, extrayez-le comme décrit dans la section
précédente.
Fichiers de l'exemple de connecteur
L'exemple de connecteur personnalisé inclut trois fichiers qui sont générés ensemble :
- Java fichiers source qui sont nommés
SftpCrawler.javaetSftpSecurityHandler.java - Un fichier de définitions XML nommé
template.xml - Un fichier de propriétés nommé
message.properties
Vous pouvez localiser et examiner ces fichiers en référençant la liste de l'arborescence des répertoires dans Understanding the custom-crawler-docs.zip file.
Pour plus d'informations
Pour une documentation détaillée de toutes les interfaces et méthodes disponibles dans le package com.ibm.es.ama.custom.crawler, voir le JavaDoc, qui est disponible comme indiqué dans Interfaces et JavaDoc.