Extraire des liens de filiation à partir de plusieurs régions
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
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 et nextRegionalPageToken.
une variable lastRegion vide.
une variable lastRegionLinksCount vide.
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é.
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.
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 valeur lastRegionLinksCount.
Le magasin a reçu le jeton de page dans nextPageToken.
Passer à l'étape 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.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/10 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/10 (UTC)."],[[["\u003cp\u003eThis pseudocode details a procedure for using the Data Lineage API to retrieve data lineage links from multiple regions, specifying the number of links to fetch.\u003c/p\u003e\n"],["\u003cp\u003eThe process involves creating and managing lists of regions, unreachable regions, and found links, as well as variables for pagination and tracking the last region processed.\u003c/p\u003e\n"],["\u003cp\u003eIt utilizes parallel calls to the \u003ccode\u003eprojects.locations.searchLinks\u003c/code\u003e API endpoint in each region, handling both successful and failed responses and dealing with the sorting of the regions alphabetically.\u003c/p\u003e\n"],["\u003cp\u003ePagination is managed through page tokens, which are processed to filter regions and then appended with the last region's name for use in subsequent calls.\u003c/p\u003e\n"],["\u003cp\u003eThe pseudocode outlines how to handle cases where fewer than the requested number of links are found, including making an additional request in the last region to get the correct \u003ccode\u003enextPageToken\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Fetch lineage links from multiple regions\n\nThe following pseudocode outlines a procedure you can follow using\nthe Data Lineage API to fetch data lineage links\nfrom all available regions.\n\n1. Input setup:\n - `linksToFetch` = 5 (number of links to fetch from all regions)\n - `regionalPageToken` = \"\" (last received regional page token used for pagination)\n2. Create:\n 1. list of all regions to fan-out called `regions`.\n 2. list of unreachable regions called `unreachable`.\n 3. an empty list of found links called `foundLinks`.\n 4. an empty variable `nextPageToken` and `nextRegionalPageToken`.\n 5. an empty variable `lastRegion`.\n 6. an empty variable `lastRegionLinksCount`.\n3. Sort `regions` alphabetically.\n4. Parse `regionalPageToken`\n 1. If it is empty then continue to step 5\n 2. If it is not empty then\n 1. parse `regionalPageToken` by splitting it by first dot into two segments\n 2. filter out regions by taking only the ones that are after (in alphabetical order) the first segment from parsed `regionalPageToken`.\n 3. store the second segment aside to use it in all [projects.locations.searchLinks](/dataplex/docs/reference/data-lineage/rest/v1/projects.locations/searchLinks) calls.\n5. Make a call to [projects.locations.searchLinks](/dataplex/docs/reference/data-lineage/rest/v1/projects.locations/searchLinks) in each region in the `regions` list in parallel.\n6. Wait for all requests to complete.\n7. Filter out successful responses and store failed region names in the `unreachable` list.\n8. For each of the responses (starting with first region in alphabetical order)\n 1. if no links were returned along with a non empty page token\n 1. store region name in `lastRegion`.\n 2. save received pageToken in `nextPageToken`.\n 3. ignore the remaining responses.\n 2. otherwise\n 1. store region name in `lastRegion`.\n 2. save received links in `foundLinks` (up to `linksToFetch`).\n 3. save received pageToken in `nextPageToken`.\n 4. store number of taken links from the response in `lastRegionLinksCount`.\n 5. if `foundLinks` is less than `linksToFetch`\n 1. continue the pseudocode with the next received response in the alphabetical order.\n 6. if `foundLinks` equals `linksToFetch`\n 1. make another request to [projects.locations.searchLinks](/dataplex/docs/reference/data-lineage/rest/v1/projects.locations/searchLinks) endpoint in the same region but set the `pageSize` parameter to the value of `lastRegionLinksCount`.\n 2. store received pageToken in `nextPageToken`.\n 3. continue to step 9\n9. Prepend `nextPageToken` with the `lastRegion` (i.e. `[region].[receivedNextPageToken]`) to create `nextRegionalPageToken` to handle pagination in consecutive calls."]]