Extraire des liens de filiation à partir de plusieurs régions

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.

  1. 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)
  2. Créer :
    1. liste de toutes les régions à étendre appelée regions.
    2. liste des régions inaccessibles appelée unreachable.
    3. une liste vide des liens trouvés appelée foundLinks.
    4. une variable vide nextPageToken et nextRegionalPageToken.
    5. une variable lastRegion vide.
    6. une variable lastRegionLinksCount vide.
  3. Triez regions par ordre alphabétique.
  4. Analyser regionalPageToken
    1. Si elle est vide, passez à l'étape 5.
    2. Si ce n'est pas le cas, alors :
      1. Analyser regionalPageToken en le divisant en deux segments par le premier point
      2. 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é.
      3. stockez le deuxième segment pour l'utiliser dans tous les appels projects.locations.searchLinks.
  5. Appelez projects.locations.searchLinks dans chaque région de la liste regions en parallèle.
  6. Attendez que toutes les requêtes soient terminées.
  7. Filtrez les réponses réussies et stockez les noms des régions ayant échoué dans la liste unreachable.
  8. Pour chacune des réponses (en commençant par la première région par ordre alphabétique) :
    1. si aucun lien n'a été renvoyé avec un jeton de page non vide
      1. stockez le nom de la région dans lastRegion.
      2. Enregistrez le pageToken reçu dans nextPageToken.
      3. ignorer les autres réponses.
    2. sinon
      1. stockez le nom de la région dans lastRegion.
      2. enregistrer les liens reçus dans foundLinks (jusqu'à linksToFetch).
      3. Enregistrez le pageToken reçu dans nextPageToken.
      4. Stockez le nombre de liens pris à partir de la réponse dans lastRegionLinksCount.
      5. si foundLinks est inférieur à linksToFetch
        1. poursuivre le pseudocode avec la prochaine réponse reçue dans l'ordre alphabétique.
      6. si foundLinks est égal à linksToFetch
        1. 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 valeur lastRegionLinksCount.
        2. Le magasin a reçu le jeton de page dans nextPageToken.
        3. Passer à l'étape 9
  9. Préfixez nextPageToken avec lastRegion (c'est-à-dire [region].[receivedNextPageToken]) pour créer nextRegionalPageToken et gérer la pagination dans les appels consécutifs.