El siguiente pseudocódigo describe un procedimiento que puedes seguir con la API Data Lineage para obtener enlaces de linaje de datos de todas las regiones disponibles.
- Configuración de entrada:
linksToFetch= 5 (número de enlaces que se van a obtener de todas las regiones)regionalPageToken= "" (token de la última página regional recibida que se usa para la paginación)
- Crear:
- lista de todas las regiones a las que se va a enviar la información, llamada
regions. - Lista de regiones a las que no se puede acceder, llamada
unreachable. - una lista vacía de enlaces encontrados llamada
foundLinks. - una variable vacía
nextPageTokenynextRegionalPageToken. - una variable vacía
lastRegion. - una variable vacía
lastRegionLinksCount.
- lista de todas las regiones a las que se va a enviar la información, llamada
- Ordena
regionsalfabéticamente. - Analizar
regionalPageToken- Si está vacío, ve al paso 5.
- Si no está vacío, entonces
- analiza
regionalPageTokendividiéndolo por el primer punto en dos segmentos - Filtrar las regiones tomando solo las que están después (en orden alfabético) del primer segmento de
regionalPageTokenanalizado. - Almacena el segundo segmento aparte para usarlo en todas las llamadas a projects.locations.searchLinks.
- analiza
- Llama a projects.locations.searchLinks
en paralelo en cada región de la lista
regions. - Espera a que se completen todas las solicitudes.
- Filtra las respuestas correctas y almacena los nombres de las regiones fallidas en la lista
unreachable. - En cada una de las respuestas (empezando por la primera región en orden alfabético), haz lo siguiente:
- si no se ha devuelto ningún enlace junto con un token de página no vacío
- almacena el nombre de la región en
lastRegion. - Guarda el valor de pageToken recibido en
nextPageToken. - Ignora el resto de las respuestas.
- almacena el nombre de la región en
- de lo contrario
- almacena el nombre de la región en
lastRegion. - guardar los enlaces recibidos en
foundLinks(hastalinksToFetch). - Guarda el valor de pageToken recibido en
nextPageToken. - Almacena el número de enlaces obtenidos 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- hacer otra solicitud al endpoint projects.locations.searchLinks
en la misma región, pero asigna al parámetro
pageSizeel valor delastRegionLinksCount. - La tienda ha recibido pageToken en
nextPageToken. - Ve al paso 9.
- hacer otra solicitud al endpoint projects.locations.searchLinks
en la misma región, pero asigna al parámetro
- almacena el nombre de la región en
- si no se ha devuelto ningún enlace junto con un token de página no vacío
- Antepón
nextPageTokenconlastRegion(es decir,[region].[receivedNextPageToken]) para crearnextRegionalPageTokeny gestionar la paginación en llamadas consecutivas.