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 di fan-out. Utilizza l'API Data Lineage per recuperare e aggregare i dati di derivazione da tutte le regioni disponibili. Questa operazione è utile quando gli asset di dati sono distribuiti in località diverse e hai bisogno di una visualizzazione unificata della loro derivazione.

Per ulteriori informazioni, consulta Informazioni sulla ricerca della derivazione dei dati multiregionale.

Procedura

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. Gestisci un regionalPageToken per garantire una paginazione coerente per le chiamate successive, tenendo conto delle 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. Memorizza 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 memorizza 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. Memorizza il nome della regione in lastRegion.
      2. Salva il pageToken ricevuto in nextPageToken.
      3. Ignora le risposte rimanenti.
    2. Altrimenti
      1. Memorizza il nome della regione in lastRegion.
      2. Salva i link ricevuti in foundLinks (fino a linksToFetch).
      3. Salva il pageToken ricevuto in nextPageToken.
      4. Memorizza 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. Memorizza il pageToken ricevuto in nextPageToken.
        3. Vai al passaggio 9
  9. Anteponi nextPageToken a lastRegion (ad es. [region].[receivedNextPageToken]) per creare nextRegionalPageToken per gestire la paginazione nelle chiamate consecutive.

Passaggi successivi