Cercare la derivazione multiregionale utilizzando il fan-out lato client

Recupera i link di derivazione dei dati in più Google Cloud regioni utilizzando un approccio fan-out. Utilizza l'API Data Lineage per recuperare e aggregare i dati di derivazione da tutte le regioni disponibili.

Perché utilizzare il fan-out lato client?

L'approccio fan-out lato client è utile quando gli asset di dati sono distribuiti in località diverse e hai bisogno di una visualizzazione unificata della loro tracciabilità.

Per ulteriori informazioni, consulta Informazioni sulla ricerca della tracciabilità multiregionale.

Pseudocodice passo passo

La procedura effettua richieste parallele all'endpoint projects.locations.searchLinks in ogni regione. Raccogli i risultati, gestisci la paginazione tra le regioni e aggrega i link trovati. Per garantire una paginazione coerente per le chiamate successive, gestisci un regionalPageToken. In questo modo vengono prese in considerazione le regioni non raggiungibili.

Il seguente pseudocodice descrive una procedura che puoi seguire utilizzando l'API Data Lineage per recuperare i link di derivazione dei dati da tutte le regioni disponibili.

  1. Configurazione dell'input:
    • linksToFetch = 5 (numero di link da recuperare da tutte le regioni)
    • regionalPageToken = "" (ultimo token di pagina regionale ricevuto utilizzato per la paginazione)
  2. Crea:
    1. Un elenco di tutte le regioni per il fan-out chiamato regions.
    2. Un elenco di regioni non raggiungibili chiamato unreachable.
    3. Un elenco vuoto di link trovati chiamato foundLinks.
    4. Una variabile vuota nextPageToken e nextRegionalPageToken.
    5. Una variabile vuota lastRegion.
    6. Una variabile vuota lastRegionLinksCount.
  3. Ordina regions alfabeticamente.
  4. Analizza regionalPageToken
    1. Se è vuoto, vai al passaggio 5
    2. Se non è vuoto
      1. Analizza regionalPageToken dividendolo in due segmenti in base al primo punto.
      2. Filtra le regioni prendendo solo quelle che si trovano dopo (in ordine alfabetico) il primo segmento di regionalPageToken analizzato.
      3. Salva il secondo segmento per utilizzarlo in tutte le chiamate projects.locations.searchLinks.
  5. Effettua una chiamata a projects.locations.searchLinks in parallelo in ogni regione dell'elenco regions.
  6. Attendi il completamento di tutte le richieste.
  7. Filtra le risposte riuscite e salva i nomi delle regioni non riuscite nell'elenco unreachable.
  8. Per ogni risposta (a partire dalla prima regione in ordine alfabetico)
    1. Se non sono stati restituiti link insieme a un token di pagina non vuoto
      1. Salva il nome della regione in lastRegion.
      2. Salva il token di pagina ricevuto in nextPageToken.
      3. Ignora le risposte rimanenti.
    2. Altrimenti
      1. Salva il nome della regione in lastRegion.
      2. Salva i link ricevuti in foundLinks (fino a linksToFetch).
      3. Salva il token di pagina ricevuto in nextPageToken.
      4. Salva il numero di link presi dalla risposta in lastRegionLinksCount.
      5. Se foundLinks è inferiore a linksToFetch
        1. Continua lo pseudocodice con la risposta successiva ricevuta in ordine alfabetico.
      6. Se foundLinks è uguale a linksToFetch
        1. Effettua un'altra richiesta all'projects.locations.searchLinks projects.locations.searchLinks nella stessa regione, ma imposta il parametro pageSize sul valore di lastRegionLinksCount.
        2. Salva il token di pagina ricevuto in nextPageToken.
        3. Vai al passaggio 9
  9. Anteponi nextPageToken a lastRegion (ovvero [region].[receivedNextPageToken]) per creare nextRegionalPageToken per gestire la paginazione nelle chiamate consecutive.

Passaggi successivi