Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Stel we hebben een externe bron die in de url URL parameters ondersteunt voor pagina & aantallen per pagina. En via een statuscode 206 (= Partial Content) aangeeft dat er nog meer data beschikbaar is. In zo’n situatie wil je de externe bron net zo lang aan blijven roepen totdat alle data opgehaald is.

...

Welke stappen dien je in deze situatie te ondernemen:

  • Ga naar het bewerk scherm van de betreffende bron

  • Bewerk het veld 'Url'

Code Block
languagepy
page_size = 1000

if 'page_number' not in locals():
    page_number = 0
    
'https://www.mooqe.it/dummy-api/incidents?page_number={page_number}&page_size={page_size}'.format(page_number = page_number, page_size = page_size)
  • Bewerk het veld ‘Loop partial result’

Code Block
languagepy
if FlowComponent.StatusCode == 206:
    page_number += 1
    finished = False
else:
    finished = True
    
finished 
Note

LET OP:

Zolang de formule uit het veld ‘Loop partial result’ een waarde False teruggeeft zal de Url van de bron aangeroepen blijven worden.

Wees dus extra alert om te voorkomen dat er een oneindige loop ontstaat!

Voorbeeld 2 : Resultaat van de bron bevat informatie van het totaal aantal resultaten

Stel we hebben een externe bron die in de URL parameters ondersteunt voor pagina & aantallen per pagina.
Deze externe bron geeft in zijn response informatie over het totaal aantal resultaten dat aangeleverd kan worden. In zo’n situatie moet er dus beken gaan worden op basis van de huidige opgevraagde pagina en het het aantal resultaten per pagina of er nog extra aanroepen naar de bron gedaan moeten worden.

Voor dit voorbeeld gebruiken we :

Welke stappen dien je in deze situatie te ondernemen:

  • Ga naar het bewerk scherm van de betreffende bron

  • Bewerk het veld 'Url'

Code Block
languagepy
page_size = 1000

if 'page_number' not in locals():
    page_number = 0
    
'https://www.mooqe.it/dummy-api/incidents?page_number={page_number}&page_size={page_size}'.format(page_number = page_number, page_size = page_size)
  • Bewerk het veld ‘Loop partial result’

Code Block
languagepy
reeds_opgehaald_aantal_items = (start + 1) * page_size 

if int(FlowComponent.requestResult['total_items']) > reeds_opgehaald_aantal_items :
	finished = False
	page_number += 1
else:
	finished = True
	
finished
Note

LET OP:

Zolang de formule uit het veld ‘Loop partial result’ een waarde False teruggeeft zal de Url van de bron aangeroepen blijven worden.

Wees dus extra alert om te voorkomen dat er een oneindige loop ontstaat!

Voorbeeld 3 : Resultaat van de bron bevat de volledige link voor vervolg request

Stel we hebben een externe bron die in de URL parameters ondersteunt voor aantallen per pagina.
Deze externe bron geeft in zijn response een URL terug die gebruikt moet worden voor het ophalen van de volgende batch aan informatie. Zolang deze URL in de response aangeleverd wordt zijn er nog additionele resultaten die opgehaald moeten worden.

Voor dit voorbeeld gebruiken we :

Welke stappen dien je in deze situatie te ondernemen:

  • Ga naar het bewerk scherm van de betreffende bron

  • Bewerk het veld 'Url'

Code Block
languagepy
page_size = 100

if 'nextLink' not in locals():
	nextLink = "https://graph.microsoft.com/beta/groups?$select=id,description,displayName&$top={page_size}".format(page_size = page_size)
	
nextLink
  • Bewerk het veld ‘Loop partial result’

Code Block
languagepy
nextLink=FlowComponent.requestResult['@odata.nextLink']

if nextLink != None and nextLink!='' :
	finished = False
else:
	finished = True

finished
Note

LET OP:

Zolang de formule uit het veld ‘Loop partial result’ een waarde False teruggeeft zal de Url van de bron aangeroepen blijven worden.

Wees dus extra alert om te voorkomen dat er een oneindige loop ontstaat!