Vou demonstrar como receber um serviço REST, usando campos vindos de um CSV, você pode subtituir o CSV por uma conexão a uma tabela no seu Banco de Dados, ou se o parâmetro passado ao Webservice for fixo, o mais recomendado é usar o step Data Grid. O corrêio possui um serviço, para pegar os endereços por CEP, mas é um pouco burocrático, então vamos usar um projeto gratuito (https://viacep.com.br/).
Briefing
Receberemos uma lista de CEPs, vindos de cep.csv vamos consulta um a um e dar saída no log da aplicação.
Executando
1.º Step do Input
Adiciona a entrada pra ler o cvs, vamos usar Text file input
2º Inserindo CSV
Em File or directory coloque onde está o .csv e depois clica em Add para adicionar a lista, conforme a imagem abaixo. O mais aconselhaver é usar o caminho relativo ${Internal.Entry.Current.Directory}. Usando as teclas Ctrl + Espaço você consegue localizar o ${Internal.Entry.Current.Directory}.
2.1º Obtendo campos do CVS
Não vamos mexer nas demais abas, por isso vou pular direto para a aba Fields. Nesta aba, clique em Obtem campos, neste momento o Spoon vai ler o csv e adicionar na lista.
Também é possível clicar em Preview rows para verificar se o Spoon está lendo o arquivo corretamente.
3º Adicionando as constantes
Vamos adicionar as constantes: url e json, que serão endereço do serviço https e a segunda constante será o que virá após a nossa variável CEP. O serviço que vamos usar nessa demonstração, usa o seguinte formato: Endereço(url) / cep / tipo(json).
4º Concatenando campos
Adicionando Calculator para concatenar os campos. Lembra do formato no nosso serviço? Então o forma será A / B / C para montar nossa consulta a API. em Novo campo coloca o nome do campo que vai receber a concatenação, em Cálculo escolha a opção A + B + C, em Campos A, Campos B e Campos C será o formato usado pelo serviço, conforme esplanado anteriormente. Por último em Tipo do valor será String
5º Consumindo serviço REST
Nesse step vamos consumir o serviço REST, só usaremos a primeira aba, pois o serviço é simples, sem a necessidade de qualquer proteção, como autenticação ou SSL.
Siga a imagem abaixo. Em URL field name vai entrar o nome do campo que irá receber a concatenação da etapa anterior. Em Result field name coloca o nome do campo que irá na saída.
6º Recebendo o resultado
Agora vamos receber o resultado do serviço REST da etapa anterios.
Na primeira aba File em Select field escolha o nome do campo de saída que você colocou na etapa anterior (REST client)
Na aba Fields, vamos determinar quais campos queremos receber do serviço. Em Name escreva o nome que deseja dar para cada campo, em Path você precisa colocar "$." seguido no nome que está vindo do serviço. O botão Select fields nem sempre funciona, então não se preocupe com isso.
7º Mostrando os resultados
Vamos pegar nossa consulta ao serviço REST e jogar no log da aplicação. Você pode fazer isso para acompanhar o resultado antes de inputar na sua tabela ou em outro lugar.
Clicando em Obtem campos todos os campos que serão apresentados no resultado será listado em Field, mas você pode excluir quantos quiser.
8º Executando o ETL
Ao executar o ETL, nosso resultado será mostrado na tela de Logging conforme as duas imagens a seguir.
Debriefing
Conforme visto, podemos consumir e tratar um serviço REST sem grandes dificuldades, até mesmo se esta não for aberta, usando restrições de segurança.
Baixar arquivo .csv e .ktr