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.

CustomCrawler
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.

CustomCrawlerConfiguration
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 :

ConfigProvider méthodes
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 :

SubspaceConsumer
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 :

RecordKeeper méthodes
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 :

CustomCrawlerSecurityHandler méthodes
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 :

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 :

  1. Connectez-vous à votre cluster Discovery.

  2. Entrez la commande suivante pour obtenir votre nom de pod d' crawler :

    oc get pods | grep crawler
    

    Vous pourriez voir une sortie qui ressemble à ceci :

    wd-discovery-crawler-57985fc5cf-rxk89     1/1     Running     0          85m
    
  3. 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' crawler s que vous avez obtenu à l'étape 2 :

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

    Le 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
    
  4. Entrez la commande suivante pour copier le fichier custom-crawler-docs.zip sur 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
    
  5. Entrez la commande suivante pour développer le fichier custom-crawler-docs.zip :

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

    Si nécessaire, copiez le fichier custom-crawler-docs.zip sur le serveur de développement.

    Si votre ordinateur ne dispose pas de l'utilitaire unzip, essayez plutôt d'utiliser la commande gunzip, 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 :

  1. Obtenez la clé d'autorisation en accédant à votre bibliothèque de logiciels conteneurs.

  2. 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}
    
  3. 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
    
  4. 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
    
  5. Entrez la commande suivante pour copier le fichier custom-crawler-docs.zip depuis 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.

  6. Développez le fichier custom-crawler-docs.zip :

    cd {local_directory}
    

    {local_directory} est le répertoire de votre machine locale dans lequel vous avez téléchargé le fichier custom-crawler-docs.zip.

    unzip custom-crawler-docs.zip
    

    Si votre ordinateur ne dispose pas de l'utilitaire unzip, essayez plutôt d'utiliser la commande gunzip, 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.java et SftpSecurityHandler.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.