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
nextPageToken
ynextRegionalPageToken
. - 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
regions
alfabéticamente. - Analizar
regionalPageToken
- Si está vacío, ve al paso 5.
- Si no está vacío, entonces
- analiza
regionalPageToken
dividié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
regionalPageToken
analizado. - 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
foundLinks
es menor quelinksToFetch
- continúa el pseudocódigo con la siguiente respuesta recibida en orden alfabético.
- si
foundLinks
es igual alinksToFetch
- hacer otra solicitud al endpoint projects.locations.searchLinks
en la misma región, pero asigna al parámetro
pageSize
el 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
nextPageToken
conlastRegion
(es decir,[region].[receivedNextPageToken]
) para crearnextRegionalPageToken
y gestionar la paginación en llamadas consecutivas.