Le pseudocode suivant décrit une procédure que vous pouvez suivre à l'aide de l'API Data Lineage pour extraire des liens de filiation des données de toutes les régions disponibles.
- Configuration des entrées :
linksToFetch
= 5 (nombre de liens à extraire de toutes les régions)regionalPageToken
= "" (dernier jeton de page régional reçu utilisé pour la pagination)
- Créer :
- liste de toutes les régions à étendre appelée
regions
. - liste des régions inaccessibles appelée
unreachable
. - une liste vide des liens trouvés appelée
foundLinks
. - une variable vide
nextPageToken
etnextRegionalPageToken
. - une variable
lastRegion
vide. - une variable
lastRegionLinksCount
vide.
- liste de toutes les régions à étendre appelée
- Triez
regions
par ordre alphabétique. - Analyser
regionalPageToken
- Si elle est vide, passez à l'étape 5.
- Si ce n'est pas le cas, alors :
- Analyser
regionalPageToken
en le divisant en deux segments par le premier point - Filtrez les régions en ne prenant que celles qui se trouvent après (par ordre alphabétique) le premier segment de l'
regionalPageToken
analysé. - stockez le deuxième segment pour l'utiliser dans tous les appels projects.locations.searchLinks.
- Analyser
- Appelez projects.locations.searchLinks dans chaque région de la liste
regions
en parallèle. - Attendez que toutes les requêtes soient terminées.
- Filtrez les réponses réussies et stockez les noms des régions ayant échoué dans la liste
unreachable
. - Pour chacune des réponses (en commençant par la première région par ordre alphabétique) :
- si aucun lien n'a été renvoyé avec un jeton de page non vide
- stockez le nom de la région dans
lastRegion
. - Enregistrez le pageToken reçu dans
nextPageToken
. - ignorer les autres réponses.
- stockez le nom de la région dans
- sinon
- stockez le nom de la région dans
lastRegion
. - enregistrer les liens reçus dans
foundLinks
(jusqu'àlinksToFetch
). - Enregistrez le pageToken reçu dans
nextPageToken
. - Stockez le nombre de liens pris à partir de la réponse dans
lastRegionLinksCount
. - si
foundLinks
est inférieur àlinksToFetch
- poursuivre le pseudocode avec la prochaine réponse reçue dans l'ordre alphabétique.
- si
foundLinks
est égal àlinksToFetch
- effectuez une autre requête au point de terminaison projects.locations.searchLinks dans la même région, mais définissez le paramètre
pageSize
sur la valeurlastRegionLinksCount
. - Le magasin a reçu le jeton de page dans
nextPageToken
. - Passer à l'étape 9
- effectuez une autre requête au point de terminaison projects.locations.searchLinks dans la même région, mais définissez le paramètre
- stockez le nom de la région dans
- si aucun lien n'a été renvoyé avec un jeton de page non vide
- Préfixez
nextPageToken
aveclastRegion
(c'est-à-dire[region].[receivedNextPageToken]
) pour créernextRegionalPageToken
et gérer la pagination dans les appels consécutifs.