La distribution côté client dans Knowledge Catalog (anciennement Dataplex Universal Catalog) vous permet d'utiliser l'API Data Lineage pour récupérer et agréger les liens de traçabilité des données dans plusieurs régions Google Cloud . Interroger des points de terminaison régionaux en parallèle vous aide à créer une vue de traçabilité unifiée lorsque vos éléments de données couvrent différents emplacements.
Pourquoi utiliser la distribution côté client ?
L'approche de distribution côté client est utile lorsque vos éléments de données sont répartis sur différents emplacements et que vous souhaitez orchestrer des requêtes régionales sur le client. Vous pouvez utiliser cette approche pour récupérer et agréger les données de traçabilité de toutes les régions disponibles lorsque vous tracez la traçabilité à un seul saut sur un ensemble connu de régions ou que vous maintenez la compatibilité avec les workflows projects.locations.searchLinks existants.
Pour en savoir plus, consultez À propos de la recherche de traçabilité multirégionale.
Pseudocode détaillé
La procédure envoie des requêtes parallèles au point de terminaison projects.locations.searchLinks dans chaque région. Vous collectez les résultats, gérez la pagination entre les régions et regroupez les liens trouvés. Pour garantir une pagination cohérente pour les appels suivants, gérez un regionalPageToken. Cela tient compte des régions inaccessibles.
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.
Étapes suivantes
En savoir plus sur la recherche de traçabilité multirégionale
Découvrez comment rechercher la traçabilité multirégionale à l'aide de l'automatisation côté serveur.
En savoir plus sur la traçabilité des données