Ir para conteúdo
  • 0

Request de API não paginada + Dataflow Incremental


Diego Mariano Colucci

Pergunta

  • Alunos

Prezados, preciso de uma ajuda para obter dados não paginados de uma API URL que pode chegar ate 1M de linhas e tem timeout maximo de 3 min.

O request em si, se não for delimitado por data ele ficará por minutos tentando trazer os dados e se esse tempo exceder 3 min, o request automaticamente será derrubado.

Neste sentido, imaginei fazer o request por "batch" anual, e então fazer o append das tabelas, no entanto neste modelo por mundar os parametros após o carregamento da tabela staging o fluxo de carga incremental se perde.

Steps realizados:
1) Defini parametros para cada ano no Dataflow;
2) Realizei os requests e obtive os dados no Dataflow;
3) Fiz o append das tabelas e defini o nome o nome da tabela final no Dataflow;
4) Salvei e fiz o refresh dos dados no Dataflow;
5) Fiu no Power Query desktop e acessei a tabela via conexão Power BI Dataflow;
6) Copiei os dados avançados da tabela;
7) Retornei ao Dataflow e criei numa nova query utilizando os dados da tabela Power Query desktop;
8 ) Desabilitei a carga desta tabela e nomiei como "staging";
9) Utilizando o último request (sendo este o mais recente), fiz o append com a tabela staging (historico) e ajustei os paramentros das datas;
10) Salvei mas não foi possivel fazer o refresh!

O passo 3 e 9 são fundamentais nesse processo, pois a tabela gerada no passo 3 (dados histórico-cold+hot) será a mesma que receberá o append da tabela staging. No entanto, o passo 9 preciso ter somente os dados atualizados-hot, e para tanto tenho que ignorar o appends e só utilizar os parametros das datas mais recentes. Logo acredito que nesse ponto eu perco o fluxo pois a estrutura da tabela staging não existe mais.

Imaginei fazer então um request único, e dentro deste request obter os dados de cada ano e expandir tudo de uma vez, mas não consegui ainda desenvolver tal feito e não sei se conseguirei manter a estrutura da tabela quando chegar no passo 9.

Minha referencia para o que busco fazer está neste video: https://youtu.be/gPUazbFt0NQ?si=tnQT6SAko6uoPLLp bem como neste link https://youtu.be/aAzSZbrICxE?si=N8ZBBHHhrvJ6pUVb

 

API_Requests_Priority_ERP.png

API_Requests_Priority_ERP_Dev.png

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
11 horas atrás, Diego Mariano Colucci disse:

Prezados, preciso de uma ajuda para obter dados não paginados de uma API URL que pode chegar ate 1M de linhas e tem timeout maximo de 3 min.

O request em si, se não for delimitado por data ele ficará por minutos tentando trazer os dados e se esse tempo exceder 3 min, o request automaticamente será derrubado.

Neste sentido, imaginei fazer o request por "batch" anual, e então fazer o append das tabelas, no entanto neste modelo por mundar os parametros após o carregamento da tabela staging o fluxo de carga incremental se perde.

Steps realizados:
1) Defini parametros para cada ano no Dataflow;
2) Realizei os requests e obtive os dados no Dataflow;
3) Fiz o append das tabelas e defini o nome o nome da tabela final no Dataflow;
4) Salvei e fiz o refresh dos dados no Dataflow;
5) Fiu no Power Query desktop e acessei a tabela via conexão Power BI Dataflow;
6) Copiei os dados avançados da tabela;
7) Retornei ao Dataflow e criei numa nova query utilizando os dados da tabela Power Query desktop;
8 ) Desabilitei a carga desta tabela e nomiei como "staging";
9) Utilizando o último request (sendo este o mais recente), fiz o append com a tabela staging (historico) e ajustei os paramentros das datas;
10) Salvei mas não foi possivel fazer o refresh!

O passo 3 e 9 são fundamentais nesse processo, pois a tabela gerada no passo 3 (dados histórico-cold+hot) será a mesma que receberá o append da tabela staging. No entanto, o passo 9 preciso ter somente os dados atualizados-hot, e para tanto tenho que ignorar o appends e só utilizar os parametros das datas mais recentes. Logo acredito que nesse ponto eu perco o fluxo pois a estrutura da tabela staging não existe mais.

Imaginei fazer então um request único, e dentro deste request obter os dados de cada ano e expandir tudo de uma vez, mas não consegui ainda desenvolver tal feito e não sei se conseguirei manter a estrutura da tabela quando chegar no passo 9.

Minha referencia para o que busco fazer está neste video: https://youtu.be/gPUazbFt0NQ?si=tnQT6SAko6uoPLLp bem como neste link https://youtu.be/aAzSZbrICxE?si=N8ZBBHHhrvJ6pUVb

 

API_Requests_Priority_ERP.png

API_Requests_Priority_ERP_Dev.png

Avancei um pouco, consegui obter o dados históricos em um M code só e utilizei o um parametro de data que dentro do código pego o ano e faço o request ano a ano. Porém ainda assim quando faço o append da tabela histórico-cold com a tabela do dados recentes-hot, não ocorre o refresh dos dados de acordo.

image.png.1b015577506f99b3debbbd9706ecbd8d.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
10 horas atrás, Diego Mariano Colucci disse:

Avancei um pouco, consegui obter o dados históricos em um M code só e utilizei o um parametro de data que dentro do código pego o ano e faço o request ano a ano. Porém ainda assim quando faço o append da tabela histórico-cold com a tabela do dados recentes-hot, não ocorre o refresh dos dados de acordo.

image.png.1b015577506f99b3debbbd9706ecbd8d.png

Estou colocando o codigo M em questão. Acredito que a falha ocorre na redefinição da data inicio e fim. Embora a tenha defino parametros de data inicio e fim, não são elas que definem o range de datas, mas sim o ano destas datas. Caso tenham alguma solução alternativa agradeço!

M code API Dataflow Incremental.txt

Link para o comentário
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...