Saiba como consumir dados de um JSON direto de uma API

Por: Leonardo Marinho

 

Percebemos que a utilização de APIs e arquivos JSONs estão cada vez mais presentes no dia-dia de desenvolvedores, profissionais de dados e Analytics. 

 

Pois a facilidade de armazenar, manusear e realizar integrações é de extrema facilidade e versatilidade quando combinamos estas tecnologias. 

 

Com isso, neste post, irei mostrar como consumir dados de um JSON direto de uma API.

 

Ferramentas que iremos utilizar:

 

Irei utilizar a ferramenta de ETL da suíte Pentaho para realizar a leitura, tratamento e o carregamento dos dados. E irei carregá-los num banco de dados SQL SERVER.

O que consultaremos?

Como sou fã da NBA, liga de basquete dos EUA, irei consultar alguns dados das franquias (times) existentes.

Utilizarei a seguinte API gratuita https://www.balldontlie.io/api/v1/teams

Algumas informações sobre as franquias da NBA

 

Apenas para alinhamento, as franquias são separadas por divisões e conferências. 

Hoje a NBA possui 30 franquias separadas em conferências Leste e Oeste. 15 para cada lado. 

 

São separadas também em 6 divisões com 5 franquias para cada lado. São elas: Atlântico, Central, Sudeste, Noroeste, Pacífico e Sudoeste.

 

Fonte: zigzagdoesporte.com.br

 

Dados que serão consumidos Voltando para API, irei consumir os seguintes dados:

  • Nome;

  • Abreviação;

  • Conferência;

  • Cidade;

  • Divisão.

Estes dados estão presentes neste json de retorno da chamada da API.

 
 

Eu utilizo o site: https://jsonformatter.org/# para “formatar” o json em um formato de árvore. Formatando, o json fica de uma forma mais legível, assim, nos ajudando a encontrar qual nó iremos ler. 

 

Neste exemplo, temos o nó “Data” com um vetor de 30 posições. Cada posição do vetor possui os dados de uma determinada franquia.

 
 

Abrindo o Pentaho 

 

Estes são os STEP’s que iremos utilizar para extrair os dados da API, transformar e carregá-los no banco de dados.

 
 

Generate rows – Este step utilizamos para gerar linhas. Neste caso, gerei uma linha com a URL da API;

Configuração: 

 
 

Retorno: 

 
 

REST Client – Este step é referente ao WEB SERVICE que realiza a leitura de APIs que retornam Json.

Configuração: 

Repare que no campo “URL Field name” recebe o campo gerado no “Generate Rows”.

 
 

Retorno:

 
 
 

JSON Input – Este step realiza a leitura da string do json. E é possível fazer o “tagueamento” dos atributos presente no json.

Configuração: 

Repare que no campo “Select Field” recebe o campo gerado no “REST client”.

 
 

Na aba “content” realizamos o “tagueamento” dos atributos(coluna) do json. Repare que o nome depois do “.” deve ser idêntico ao que está no json. 

 
 

Retorno:

 
 

Select Values – Este step selecionamos as colunas que realmente nos interessam para inserir no banco. 

Configuração: 

Repare que no step anterior de leitura do Json, “tagueamos” o campo ID. Mas este campo não nos serve para nada. Logo, não selecionaremos no Select value.

 
 

Retorno:

 
 

Table Output – Este step simplesmente realiza a inserção dos dados no banco de dados selecionado. No nosso caso, é o SQL Server.

Configuração: 

Para utilizar este step é necessário passar conexão, schema e nome da tabela que receberá os dados.

Como realizamos alguns tratamentos ao pegar os dados da API, devemos ir na aba “Database Field” e mapear as colunas da tabela no banco com as colunas que trazemos no step “Select Value”.

 
 

Retorno:

 
 

E depois destes poucos passos conseguimos realizar a leitura da API, aplicar alguns tratamentos e depois carregar os dados no SQL Server.

 
 

Espero que gostem e tirem bom proveito! Até a próxima.

Compartilhar no facebook
Compartilhar no twitter
Compartilhar no linkedin
Compartilhar no whatsapp
Compartilhar no email

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Posts recentes

Família ISO 27001

A ISO 27001 é a principal norma pela qual uma organização obtém a certificação empresarial em gestão de segurança da informação. Para explicar melhor sobre

Leia mais »