Le pseudo-code suivant décrit une procédure que vous pouvez suivre à l'aide de l'API Data Lineage pour extraire les liens de traçabilité des données de toutes les régions disponibles.
- Configurez les entrées suivantes :
linksToFetch= 5 (nombre de liens à récupérer dans toutes les régions)regionalPageToken= "" (dernier jeton de page régionale reçu utilisé pour la pagination)
- Créez les éléments suivantes :
- une liste de toutes les régions à distribuer de manière ramifiée, appelée
regions. - une liste des régions inaccessibles, appelée
unreachable. - une liste vide de liens trouvés, appelée
foundLinks. - une variable vide
nextPageTokenetnextRegionalPageToken. - une variable vide
lastRegion. - une variable vide
lastRegionLinksCount.
- une liste de toutes les régions à distribuer de manière ramifiée, appelée
- Trier les
regionspar ordre alphabétique - Analysez le champ
regionalPageToken.- S'il est vide, passez à l'étape 5.
- S'il n'est pas vide,
- Analysez le champ
regionalPageTokenen le divisant au niveau du premier point en deux segments. - Filtrez les régions en ne conservant que celles qui suivent (par ordre alphabétique) le premier segment obtenu de l'analyse de
regionalPageToken. - Stockez le deuxième segment à part pour l'utiliser dans tous les appels à projects.locations.searchLinks.
- Analysez le champ
- Appelez projects.locations.searchLinks dans chaque région de la liste
regionsen parallèle. - Attendez que toutes les demandes soient traitées.
- Filtrez les réponses réussies et stockez les noms de 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 champ pageToken reçu dans
nextPageToken. - Ignorez les autres réponses.
- Stockez le nom de la région dans
- Sinon
- Stockez le nom de la région dans
lastRegion. - Enregistrez les liens reçus dans
foundLinks(jusqu'àlinksToFetch). - Enregistrez le champ pageToken reçu dans
nextPageToken. - Stockez le nombre de liens utilisés à partir de la réponse dans
lastRegionLinksCount. - Si la valeur de
foundLinksest inférieure à celle delinksToFetch- Continuez le pseudo-code avec la prochaine réponse reçue dans l'ordre alphabétique.
- Si la valeur de
foundLinksest égale à celle delinksToFetch- Effectuez une autre requête au point de terminaison projects.locations.searchLinks dans la même région, mais définissez le paramètre
pageSizesur la valeur delastRegionLinksCount. - Stockez le champ pageToken reçu dans
nextPageToken. - Passez à 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
- Ajoutez
lastRegion(c'est-à-dire[region].[receivedNextPageToken]) ànextPageTokenpour créernextRegionalPageTokenafin de gérer la pagination lors des appels consécutifs.