Desenvolvendo o código do conector customizado do Cloud Pak for Data
O exemplo de conector customizado inclui um pacote Java denominado com.ibm.es.ama.custom.crawler. O pacote inclui as seguintes interfaces Java que você pode usar ao escrever seu próprio conector personalizado.
IBM Cloud Pak for Data IBM Software Hub
Essas informações se aplicam apenas a implementações instaladas.
Interfaces e JavaDoc
As interfaces listadas neste documento estão disponíveis no arquivo de pacote JAR incluído no arquivo compactado do conector personalizado. Depois de baixar e expandir o arquivo custom-crawler-docs.zip conforme descrito em Baixando o arquivo custom-crawler-docs.zip no Discovery 2.2.1 e posteriores e Baixando o arquivo custom-crawler-docs.zip no Discovery 2.2.0 e anteriores, o arquivo JAR da interface está disponível como wexlib/ama-zing-custom-crawler-{version_numbers}.jar no nível da raiz do arquivo compactado expandido. O JavaDoc para o arquivo JAR está disponível como wexlib/ama-zing-custom-crawler-{version_numbers}-javadoc.jar no mesmo nível.
Interface de inicialização
CustomCrawler
Use a interface com.ibm.es.ama.custom.crawler.CustomCrawler para iniciar ou parar um rastreador personalizado ou para rastrear documentos de um caminho. A interface tem os métodos a seguir.
| Método | Descrição |
|---|---|
init |
Iniciar um rastreador personalizado |
term |
Interromper um rastreador personalizado |
crawl |
Rastrear documentos de um caminho especificado |
Interfaces de configuração
CustomCrawlerConfiguration
Use a interface com.ibm.es.ama.custom.crawler.CustomCrawlerConfiguration para validar a configuração e para descobrir os crawl spaces disponíveis na origem de dados. A interface tem os métodos a seguir.
| Método | Descrição |
|---|---|
validate |
Validar configuração |
getFieldsFor |
Listar campos conhecidos e seus tipos |
discoverySubspaces |
Descubra os crawl spaces na origem de dados |
ConfigProvider
Use a interface com.ibm.es.ama.custom.crawler.CustomCrawlerConfiguration.ConfigProvider para mapear as configurações da origem de dados e para listar as configurações de crawl space na origem de dados. A interface tem os métodos
a seguir:
| Método | Descrição |
|---|---|
get |
Obter um mapa das configurações em uma seção |
getCrawlspaceSettings |
Obter uma lista de configurações de crawl space |
SubspaceConsumer
Use a interface com.ibm.es.ama.custom.crawler.CustomCrawlerConfiguration.SubspaceConsumer para incluir um caminho para um crawl space. A interface tem o método a seguir:
| Método | Descrição |
|---|---|
add |
Incluir um caminho para o crawl space |
Interface do crawler
RecordKeeper
Use a interface com.ibm.es.ama.custom.crawler.CustomCrawler.RecordKeeper para manter registros de crawls e para publicar documentos submetidos a crawl. A interface tem os métodos a seguir:
| Método | Descrição |
|---|---|
canContinue |
O booleano que lista se o crawler pode continuar. O crawler customizado deve pesquisar esse valor periodicamente e finalizar se ele retornar false. |
check |
Obter campos de metadados do último documento submetido a crawl |
upsert |
Publicar um documento para processamento adicional |
delete |
Excluir um documento |
Interface de segurança
CustomCrawlerSecurityHandler
Use a interface com.ibm.es.ama.custom.crawler.CustomCrawlerSecurityHandler para implementar a segurança para o seu crawler customizado. A interface tem os métodos a seguir:
| Método | Descrição |
|---|---|
term |
Finalizar um manipulador de segurança |
getUserAndGroups |
Obter as ACLs de um determinado usuário |
Quando a lógica getUserAndGroups de um conector é atualizada, pode levar até 10 minutos após a reimplantação do conector para que a alteração tenha efeito.
Exemplo de conector customizado
O conector de exemplo é um conector Secure File Transfer Protocol (SFTP) que rastreia arquivos localizados em um servidor SFTP.
O conector de exemplo inclui três componentes:
- Código-fonte Java para o conector
- Um arquivo de definição XML que define os parâmetros que o conector usa para se conectar e rastrear a fonte de dados
- Um arquivo de propriedades que define comportamentos opcionais para o conector
Requisitos
O código-fonte Java para o conector de exemplo tem as dependências a seguir:
- Java SE Development Kit (JDK) 1.8 ou superior.
- O arquivo
custom-crawler-docs.zipde uma instância Discovery instalada, conforme descrito em Baixando o arquivocustom-crawler-docs.zipno Discovery 2.2.1 e posteriores e Baixando o arquivocustom-crawler-docs.zipno Discovery 2.2.0 e anteriores. - O pacote JSch Java, conforme descrito JSch baixado. Você pode fazer o download do pacote em formato ZIP ou formato JAR.
Download do arquivo custom-crawler-docs.zip no Discovery 2.2.1 e posterior
Na Discovery versão 2.2.1 e posteriores, execute as seguintes etapas para fazer o download do arquivo custom-crawler-docs.zip em seu computador local. É necessário acesso raiz para a uma instância do Discovery instalada:
-
Efetue login em seu cluster do Discovery.
-
Digite o seguinte comando para obter o nome do pod
crawler:oc get pods | grep crawlerVocê poderá ver um resultado parecido com este:
wd-discovery-crawler-57985fc5cf-rxk89 1/1 Running 0 85m -
Digite o seguinte comando para obter o arquivo
custom-crawler-docs.zip, substituindo{crawler-pod-name}pelo nome do podcrawlerque você obteve na etapa 2:oc exec {crawler-pod-name} -- ls -l /opt/ibm/wex/zing/resources/ \ | grep custom-crawler-docsUma saída semelhante à seguinte pode ser exibida:
-rw-r--r--. 1 dadmin dadmin 59451 Jan 19 03:50 custom-crawler-docs-${build-version}.zip -
Insira o comando a seguir para copiar o arquivo
custom-crawler-docs.zippara o servidor host, substituindo{build-version}pelo número da versão da construção na etapa 3:oc cp {crawler-pod-name}:/opt/ibm/wex/zing/resources/custom-crawler-docs-${build-version}.zip custom-crawler-docs.zip -
Insira o comando a seguir para expandir o arquivo
custom-crawler-docs.zip:unzip custom-crawler-docs.zip -d custom-crawler-docs-primarySe necessário, copie o arquivo
custom-crawler-docs.zippara o servidor de desenvolvimento.Se o seu computador local não tiver o utilitário
unzip, tente usar o comandogunzipou consulte a documentação do sistema operacional do seu computador local para obter outras alternativas para expandir arquivos compactados.Se você estiver usando uma versão do Discovery anterior à 2.1.2 e desejar acessar o arquivo
custom-crawler-docs.zip, insira o comando a seguir:scp root@{instance_name}:/root/bob/sdk/custom-crawler-docs.zip {local_directory}.
Para obter informações sobre o download do arquivo custom-crawler-docs.zip para Discovery 2.2.0 e anteriores, consulte Baixando o arquivo custom-crawler-docs.zip para o Discovery 2.2.0 e anteriores.
Download do arquivo custom-crawler-docs.zip para o Discovery 2.2.0 e anteriores
Na Discovery versão 2.2.0 e anteriores, execute as seguintes etapas para fazer o download do arquivo custom-crawler-docs.zip em seu computador local. É necessário acesso raiz para a uma instância do Discovery instalada:
-
Obtenha a chave de autorização navegando até a biblioteca de software do contêiner.
-
Insira o comando a seguir para fazer login no registro do Docker no qual suas imagens do Discovery estão disponíveis. Inclua sua chave de autorização no comando a seguir:
docker login cp.icr.io -u cp -p {entitlement_key} -
Insira o comando a seguir para extrair a imagem
custom-crawler-sdk:docker pull cp.icr.io/cp/watson-discovery/custom-crawler-sdk:2.1.3 -
Insira o comando a seguir para executar a imagem
custom-crawler-sdk:docker run cp.icr.io/cp/watson-discovery/custom-crawler-sdk:2.1.3 -
Insira o comando a seguir para copiar
custom-crawler-docs.zipdo contêiner do qual a imagem está em execução:docker cp {container_name}:/crawler/custom-crawler-docs.zip .Para localizar a imagem, insira
docker ps -a | grep custom-crawler-sdk. -
Expanda o arquivo
custom-crawler-docs.zip:cd {local_directory}em que
{local_directory}é o diretório em sua máquina local para o qual o arquivocustom-crawler-docs.zipfoi transferido por download.unzip custom-crawler-docs.zipSe o seu computador local não tiver o utilitário
unzip, tente usar o comandogunzipou consulte a documentação do sistema operacional do seu computador local para obter outras alternativas para expandir arquivos compactados.Se você estiver usando uma versão do Discovery anterior à 2.1.2 e desejar acessar o arquivo
custom-crawler-docs.zip, insira o comando a seguir:scp root@{instance_name}:/root/bob/sdk/custom-crawler-docs.zip {local_directory}.
Para obter informações sobre o download do arquivo custom-crawler-docs.zip na Discovery versão 2.2.1 e posteriores, consulte Baixando o arquivo custom-crawler-docs.zip no Discovery 2.2.1 e posteriores.
Entendendo o arquivo custom-crawler-docs.zip
O arquivo custom-crawler-docs.zip se expande em um diretório chamado custom-crawler-docs-primary que inclui o seguinte conteúdo:
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
Fazendo download do JSch
O JSch é uma implementação Java do protocolo Shell Seguro versão 2 (SSH2) e, por extensão, do sftp. Ele é derivado da extensão de criptografia Java(JCE). Você pode encontrar especificações para SSH2 em www.openssh.com/specs.html.
A versão atual do JSch é 0.1.55 e é compatível com o conector de exemplo.
Faça o download do JSch em seu diretório de desenvolvimento ( {local_directory} ). Você pode fazer o download do pacote em formato ZIP ou JAR. Se fizer o download do pacote no formato .zip, extraia-o conforme
descrito na seção anterior.
Arquivos para o conector de exemplo
O conector customizado de exemplo inclui três arquivos que são construídos juntos:
- Arquivos de código-fonte Java denominados
SftpCrawler.javaeSftpSecurityHandler.java - Um arquivo de definições XML denominado
template.xml - Um arquivo de propriedades denominado
message.properties
É possível localizar e examinar esses arquivos referenciando a listagem da árvore de diretórios em Entendendo o arquivo custom-crawler-docs.zip.
Para obter mais informações
Para obter a documentação detalhada de todas as interfaces e métodos que estão disponíveis no pacote com.ibm.es.ama.custom.crawler, consulte o JavaDoc, que está disponível conforme indicado em Interfaces e JavaDoc.