En el siguiente pseudocódigo, se describe un procedimiento que puedes seguir con la API de Data Lineage para recuperar vínculos de linaje de datos de todas las regiones disponibles.
- Configuración de entrada:
linksToFetch= 5 (cantidad de vínculos que se recuperarán de todas las regiones)regionalPageToken= "" (el último token de página regional recibido que se usa para la paginación)
- Crear:
- lista de todas las regiones para el fan-out llamada
regions. - lista de regiones inaccesibles llamada
unreachable. - una lista vacía de vínculos encontrados llamada
foundLinks. - una variable vacía
nextPageTokenynextRegionalPageToken. - una variable vacía
lastRegion. - una variable vacía
lastRegionLinksCount.
- lista de todas las regiones para el fan-out llamada
- Ordena
regionsalfabéticamente. - Analiza
regionalPageToken- Si está vacío, continúa con el paso 5.
- Si no está vacío, haz lo siguiente:
- Analiza
regionalPageTokendividiéndolo por el primer punto en dos segmentos. - Filtra las regiones tomando solo las que están después (en orden alfabético) del primer segmento del
regionalPageTokenanalizado. - Almacena el segundo segmento para usarlo en todas las llamadas a projects.locations.searchLinks.
- Analiza
- Realiza una llamada a projects.locations.searchLinks en cada región de la lista
regionsen paralelo. - Espera a que se completen todas las solicitudes.
- Filtra las respuestas correctas y almacena los nombres de las regiones con errores en la lista
unreachable. - Para cada una de las respuestas (comenzando por la primera región en orden alfabético), haz lo siguiente:
- si no se devolvieron vínculos junto con un token de página no vacío
- Almacena el nombre de la región en
lastRegion. - guarda el pageToken recibido en
nextPageToken. - Ignora las respuestas restantes.
- Almacena el nombre de la región en
- otherwise
- Almacena el nombre de la región en
lastRegion. - guardar los vínculos recibidos en
foundLinks(hastalinksToFetch). - guarda el pageToken recibido en
nextPageToken. - Almacena la cantidad de vínculos tomados de la respuesta en
lastRegionLinksCount. - si
foundLinkses menor quelinksToFetch- continúa el pseudocódigo con la siguiente respuesta recibida en orden alfabético.
- si
foundLinkses igual alinksToFetch- Realiza otra solicitud al extremo projects.locations.searchLinks en la misma región, pero establece el parámetro
pageSizeen el valor delastRegionLinksCount. - store recibió el pageToken en
nextPageToken. - continúa con el paso 9
- Realiza otra solicitud al extremo projects.locations.searchLinks en la misma región, pero establece el parámetro
- Almacena el nombre de la región en
- si no se devolvieron vínculos junto con un token de página no vacío
- Agrega
nextPageTokenal principio conlastRegion(es decir,[region].[receivedNextPageToken]) para crearnextRegionalPageTokeny controlar la paginación en llamadas consecutivas.