Recupera vínculos de linaje de datos en varias regiones de Google Cloud con un enfoque de fan-out. Usas la API de Data Lineage para recuperar y agregar datos de linaje de todas las regiones disponibles.
¿Por qué usar fan-out del lado del cliente?
El enfoque de fan-out del cliente es útil cuando tus activos de datos se distribuyen en diferentes ubicaciones y necesitas una vista unificada de su linaje.
Para obtener más información, consulta Acerca de la búsqueda de linaje en varias regiones.
Pseudocódigo paso a paso
El procedimiento realiza solicitudes paralelas al extremo de projects.locations.searchLinks en cada región. Recopilas los resultados, controlas la paginación en las regiones y agregas los vínculos encontrados. Para garantizar una paginación coherente en las llamadas posteriores, administra un regionalPageToken. Esto tiene en cuenta las regiones a las que no se puede llegar.
El siguiente pseudocódigo 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= "" (token de página regional recibido por última vez y que se usa para la paginación)
- Crear:
- Lista de todas las regiones para 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 fan-out, llamada
- Ordenar
regionsalfabéticamente - Analiza
regionalPageToken.- Si está vacío, continúa con el 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
- 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 exitosas y almacena los nombres de las regiones con errores en la lista
unreachable. - Para cada una de las respuestas (comenzando con la primera región en orden alfabético)
- 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. - ignorar las respuestas restantes
- Almacena el nombre de la región en
- De lo contrario,
- 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- continuar el seudocódigo con la siguiente respuesta recibida en orden alfabético
- si
foundLinkses igual alinksToFetch- Realiza otra solicitud al endpoint projects.locations.searchLinks en la misma región, pero establece el parámetro
pageSizeen el valor delastRegionLinksCount. - Almacena pageToken en
nextPageToken. - continúa con el paso 9
- Realiza otra solicitud al endpoint 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
- Antepone
nextPageTokenconlastRegion(es decir,[region].[receivedNextPageToken]) para crearnextRegionalPageTokeny controlar la paginación en llamadas consecutivas.
¿Qué sigue?
Obtén más información sobre la búsqueda de linaje multirregional.
Obtén información para buscar linaje multirregional con la automatización del servidor.
Obtén más información sobre el linaje de datos.