Récupérer les liens de traçabilité à partir de plusieurs régions

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.

  1. 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)
  2. Créez les éléments suivantes :
    1. une liste de toutes les régions à distribuer de manière ramifiée, appelée regions.
    2. une liste des régions inaccessibles, appelée unreachable.
    3. une liste vide de liens trouvés, appelée foundLinks.
    4. une variable vide nextPageToken et nextRegionalPageToken.
    5. une variable vide lastRegion.
    6. une variable vide lastRegionLinksCount.
  3. Trier les regions par ordre alphabétique
  4. Analysez le champ regionalPageToken.
    1. S'il est vide, passez à l'étape 5.
    2. S'il n'est pas vide,
      1. Analysez le champ regionalPageToken en le divisant au niveau du premier point en deux segments.
      2. Filtrez les régions en ne conservant que celles qui suivent (par ordre alphabétique) le premier segment obtenu de l'analyse de regionalPageToken.
      3. Stockez le deuxième segment à part 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 demandes soient traitées.
  7. Filtrez les réponses réussies et stockez les noms de 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 champ pageToken reçu dans nextPageToken.
      3. Ignorez les autres réponses.
    2. Sinon
      1. Stockez le nom de la région dans lastRegion.
      2. Enregistrez les liens reçus dans foundLinks (jusqu'à linksToFetch).
      3. Enregistrez le champ pageToken reçu dans nextPageToken.
      4. Stockez le nombre de liens utilisés à partir de la réponse dans lastRegionLinksCount.
      5. Si la valeur de foundLinks est inférieure à celle de linksToFetch
        1. Continuez le pseudo-code avec la prochaine réponse reçue dans l'ordre alphabétique.
      6. Si la valeur de foundLinks est égale à celle de 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 de lastRegionLinksCount.
        2. Stockez le champ pageToken reçu dans nextPageToken.
        3. Passez à l'étape 9
  9. Ajoutez lastRegion (c'est-à-dire [region].[receivedNextPageToken]) à nextPageToken pour créer nextRegionalPageToken afin de gérer la pagination lors des appels consécutifs.