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.
| 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.
| 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:
| 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:
| 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:
| 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:
| 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:
- Java SE Development Kit (JDK) 1.8 o superiore.
- Il file
custom-crawler-docs.zipda un'istanza Discovery installata, come descritto in Scaricare il filecustom-crawler-docs.zipin Discovery 2.2.1 e successivi e Scaricando il filecustom-crawler-docs.zipin Discovery 2.2.0 e precedenti. - Il pacchetto JSch Java, come descritto Scaricare JSch. È possibile scaricare il pacchetto in formato ZIP o JAR.
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:
-
Accedi al tuo cluster Discovery.
-
Immettere il comando seguente per ottenere il nome del pod
crawler:oc get pods | grep crawlerPotresti vedere un output simile a questo:
wd-discovery-crawler-57985fc5cf-rxk89 1/1 Running 0 85m -
Inserite il seguente comando per ottenere il file
custom-crawler-docs.zip, sostituendo{crawler-pod-name}con il nome del podcrawlerottenuto al punto 2:oc exec {crawler-pod-name} -- ls -l /opt/ibm/wex/zing/resources/ \ | grep custom-crawler-docsPotresti vedere un output simile al seguente:
-rw-r--r--. 1 dadmin dadmin 59451 Jan 19 03:50 custom-crawler-docs-${build-version}.zip -
Immettere il comando seguente per copiare il file
custom-crawler-docs.zipsul 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 -
Inserite il seguente comando per espandere il file
custom-crawler-docs.zip:unzip custom-crawler-docs.zip -d custom-crawler-docs-primarySe necessario, copiare il file
custom-crawler-docs.zipsul server di sviluppo.Se il computer locale non dispone dell'utilità
unzip, provare a usare il comandogunzipoppure 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:
-
Ottenere la chiave di autorizzazione navigando nella libreria software del proprio container.
-
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} -
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 -
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 -
Immetti il seguente comando per copiare
custom-crawler-docs.zipdal 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. -
Espandi il file
custom-crawler-docs.zip:cd {local_directory}dove
{local_directory}è la directory sulla tua macchina locale in cui hai scaricato il filecustom-crawler-docs.zip.unzip custom-crawler-docs.zipSe il computer locale non dispone dell'utilità
unzip, provare a usare il comandogunzipoppure 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.javaeSftpSecurityHandler.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.