Sviluppo del codice del connettore Cloud Pak for Data personalizzato

L'esempio di connettore personalizzato include un pacchetto Java denominato com.ibm.es.ama.custom.crawler. Il pacchetto include le seguenti interfacce di programmazione dell' Java e che è possibile utilizzare quando si scrive il proprio connettore personalizzato.

IBM Cloud Pak for Data IBM Software Hub

Queste informazioni si applicano solo alle distribuzioni installate.

Interfacce e JavaDoc

Le interfacce elencate in questo documento sono disponibili nel file del pacchetto JAR incluso nel file compresso del connettore personalizzato. Dopo aver scaricato ed espanso il file custom-crawler-docs.zip come descritto in Scarico del file custom-crawler-docs.zip in Discovery 2.2.1 e successivi e Scaricando il file custom-crawler-docs.zip in Discovery 2.2.0 e precedenti, il file JAR dell'interfaccia è disponibile come wexlib/ama-zing-custom-crawler-{version_numbers}.jar dal livello principale del file compresso espanso. Il Javadoc per il file JAR è disponibile come wexlib/ama-zing-custom-crawler-{version_numbers}-javadoc.jar allo stesso livello.

Interfaccia di inizializzazione

CustomCrawler

Utilizza l'interfaccia com.ibm.es.ama.custom.crawler.CustomCrawler per avviare o arrestare un crawler personalizzato o per eseguire la scansione di documenti da un percorso. L'interfaccia ha i seguenti metodi.

CustomCrawler
Metodo Descrizione
init Avviare un crawler personalizzato
term Arresto di un crawler personalizzato
crawl Scorri i documenti da un percorso specificato

Interfacce di configurazione

CustomCrawlerConfiguration

Utilizza l'interfaccia com.ibm.es.ama.custom.crawler.CustomCrawlerConfiguration per convalidare la configurazione e rilevare gli spazi di ricerca per indicizzazione disponibili sull'origine dati. L'interfaccia ha i seguenti metodi.

CustomCrawlerConfiguration
Metodo Descrizione
validate Convalida configurazione
getFieldsFor Elencare i campi noti e i loro tipi
discoverySubspaces Rilevare gli spazi di ricerca per indicizzazione sull'origine dati

ConfigProvider

Utilizza l'interfaccia com.ibm.es.ama.custom.crawler.CustomCrawlerConfiguration.ConfigProvider per associare le impostazioni dell'origine dati e per elencare le impostazioni dello spazio di ricerca per indicizzazione sull'origine dati. L'interfaccia ha i seguenti metodi:

ConfigProvider
Metodo Descrizione
get Ottenere una mappa delle impostazioni in una sezione
getCrawlspaceSettings Ottenere un elenco di impostazioni dello spazio di ricerca per indicizzazione

SubspaceConsumer

Utilizza l'interfaccia com.ibm.es.ama.custom.crawler.CustomCrawlerConfiguration.SubspaceConsumer per aggiungere un percorso allo spazio di ricerca per indicizzazione. L'interfaccia ha il seguente metodo:

SubspaceConsumer
Metodo Descrizione
add Aggiungere un percorso allo spazio di ricerca per indicizzazione

Interfaccia crawler

RecordKeeper

Utilizza l'interfaccia com.ibm.es.ama.custom.crawler.CustomCrawler.RecordKeeper per conservare i record delle ricerche per indicizzazione e pubblicare i documenti sottoposti a ricerca per indicizzazione. L'interfaccia ha i seguenti metodi:

RecordKeeper
Metodo Descrizione
canContinue Valore booleano che elenca se il crawler può continuare. Il crawler personalizzato deve eseguire periodicamente il polling di questo valore e terminare se restituisce false.
check Ottenere i campi di metadati dall'ultimo documento sottoposto a ricerca per indicizzazione
upsert Pubblicare un documento per un'ulteriore elaborazione
delete Eliminare un documento

Interfaccia di sicurezza

CustomCrawlerSecurityHandler

Utilizza l'interfaccia com.ibm.es.ama.custom.crawler.CustomCrawlerSecurityHandler per implementare la sicurezza per il tuo crawler personalizzato. L'interfaccia ha i seguenti metodi:

CustomCrawlerSecurityHandler
Metodo Descrizione
term Terminare un handler di sicurezza
getUserAndGroups Ottenere gli ACL di uno specifico utente

Quando la logica getUserAndGroups di un connettore viene aggiornata, possono essere necessari fino a 10 minuti dopo la distribuzione del connettore perché la modifica abbia effetto.

Esempio di connettore personalizzato

Il connettore di esempio è un connettore SFTP ( Secure File Transfer ) che esegue la scansione dei file che si trovano su un server SFTP.

Il connettore di esempio include tre componenti:

  • Il codice sorgente Java per il connettore
  • Un file di definizione XML che definisce i parametri che il connettore utilizza per connettersi e scansionare l'origine dati
  • Un file delle proprietà che definisce comportamenti facoltativi per il connettore

Requisiti

Il codice sorgente Java per il connettore di esempio ha le seguenti dipendenze:

Scaricare il file custom-crawler-docs.zip in Discovery 2.2.1 e successivi

Nella versione Discovery 2.2.1 e successive, eseguire le seguenti operazioni per scaricare il file custom-crawler-docs.zip sul computer locale. È necessario disporre dell'accesso di root a un'istanza di Discovery:

  1. Accedi al tuo cluster Discovery.

  2. Immettere il comando seguente per ottenere il nome del pod crawler:

    oc get pods | grep crawler
    

    Potresti vedere un output simile a questo:

    wd-discovery-crawler-57985fc5cf-rxk89     1/1     Running     0          85m
    
  3. Inserite il seguente comando per ottenere il file custom-crawler-docs.zip, sostituendo {crawler-pod-name} con il nome del pod crawler ottenuto al punto 2:

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

    Potresti vedere un output simile al seguente:

    -rw-r--r--. 1 dadmin dadmin 59451 Jan 19 03:50 custom-crawler-docs-${build-version}.zip
    
  4. Immettere il comando seguente per copiare il file custom-crawler-docs.zip sul server host, sostituendo {build-version} con il numero di versione della build al punto 3:

    oc cp {crawler-pod-name}:/opt/ibm/wex/zing/resources/custom-crawler-docs-${build-version}.zip custom-crawler-docs.zip
    
  5. Inserite il seguente comando per espandere il file custom-crawler-docs.zip:

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

    Se necessario, copiare il file custom-crawler-docs.zip sul server di sviluppo.

    Se il computer locale non dispone dell'utilità unzip, provare a usare il comando gunzip oppure consultare la documentazione del sistema operativo del computer locale per altre alternative all'espansione dei file compressi.

    Se stai utilizzando una versione Discovery precedente alla 2.1.2 e vuoi accedere al file custom-crawler-docs.zip, immetti il seguente comando: scp root@{instance_name}:/root/bob/sdk/custom-crawler-docs.zip {local_directory}.

Per informazioni sul download del file custom-crawler-docs.zip in Discovery 2.2.0 e precedenti, vedere Scaricare il file custom-crawler-docs.zip in Discovery 2.2.0 e precedenti.

Scaricare il file custom-crawler-docs.zip su Discovery 2.2.0 e precedenti

Nella versione Discovery, 2.2.0 e precedenti, eseguire le seguenti operazioni per scaricare il file custom-crawler-docs.zip sul computer locale. È necessario disporre dell'accesso di root a un'istanza di Discovery:

  1. Ottenere la chiave di autorizzazione navigando nella libreria software del proprio container.

  2. Immetti il seguente comando per accedere al registro Docker in cui sono disponibili le tue immagini Discovery. Includi la tua chiave di titolarità nel seguente comando:

    docker login cp.icr.io -u cp -p {entitlement_key}
    
  3. Immetti il seguente comando per eseguire il pull dell'immagine custom-crawler-sdk:

    docker pull cp.icr.io/cp/watson-discovery/custom-crawler-sdk:2.1.3
    
  4. Immetti il seguente comando per eseguire l'immagine custom-crawler-sdk:

    docker run cp.icr.io/cp/watson-discovery/custom-crawler-sdk:2.1.3
    
  5. Immetti il seguente comando per copiare custom-crawler-docs.zip dal contenitore in cui è in esecuzione l'immagine:

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

    Per trovare l'immagine, immetti docker ps -a | grep custom-crawler-sdk.

  6. Espandi il file custom-crawler-docs.zip:

    cd {local_directory}
    

    dove {local_directory} è la directory sulla tua macchina locale in cui hai scaricato il file custom-crawler-docs.zip.

    unzip custom-crawler-docs.zip
    

    Se il computer locale non dispone dell'utilità unzip, provare a usare il comando gunzip oppure consultare la documentazione del sistema operativo del computer locale per altre alternative all'espansione dei file compressi.

    Se stai utilizzando una versione Discovery precedente alla 2.1.2 e vuoi accedere al file custom-crawler-docs.zip, immetti il seguente comando: scp root@{instance_name}:/root/bob/sdk/custom-crawler-docs.zip {local_directory}.

Per informazioni sul download del file custom-crawler-docs.zip su Discovery versione 2.2.1 e successive, vedere Downloading the custom-crawler-docs.zip file in Discovery 2.2.1 e successive.

Descrizione del file custom-crawler-docs.zip

Il file " custom-crawler-docs.zip " si espande in una directory denominata " custom-crawler-docs-primary " che include i seguenti contenuti:

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

Download di JSch

JSch è un'implementazione Java del protocollo Secure Shell versione 2 (SSH2) e, per estensione, sftp. È derivato dall'estensione di crittografia Java(Java, JCE ). Le specifiche di SSH2 sono disponibili all'indirizzo www.openssh.com/specs.html.

La versione attuale di JSch è 0.1.55 ed è supportata dal connettore di esempio.

Scarica JSch nella tua directory di sviluppo ( {local_directory} ). Puoi scaricare il pacchetto in formato ZIP o JAR. Se scarichi il pacchetto in formato .zip, estrailo come descritto nella sezione precedente.

File per il connettore di esempio

Il connettore personalizzato di esempio include tre file che vengono creati insieme:

  • Java denominati SftpCrawler.java e SftpSecurityHandler.java
  • Un file di definizioni XML denominato template.xml
  • Un file delle proprietà denominato message.properties

Puoi individuare ed esaminare questi file facendo riferimento alla struttura ad albero di directory in Descrizione del file custom-crawler-docs.zip.

Per ulteriori informazioni

Per la documentazione dettagliata di tutte le interfacce e tutti i metodi disponibili nel pacchetto com.ibm.es.ama.custom.crawler, vedi il JavaDoc, che è disponibile come indicato in Interfacce e JavaDoc.