Recupera i link della cronologia da più regioni

Recupera i link di derivazione dei dati in più Google Cloud regioni utilizzando un approccio di distribuzione. Utilizzi l'API Data Lineage per recuperare e aggregare i dati di derivazione da tutte le regioni disponibili. Questa opzione è utile quando gli asset di dati sono distribuiti in diverse posizioni e hai bisogno di una visualizzazione unificata della loro provenienza.

Procedura

La procedura esegue richieste parallele all'endpoint projects.locations.searchLinks in ogni regione. Raccogli i risultati, gestisci la paginazione nelle varie 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 input:
    • linksToFetch = 5 (numero di link da recuperare da tutte le regioni)
    • regionalPageToken = "" (ultimo token della pagina regionale ricevuto utilizzato per la paginazione)
  2. Crea:
    1. elenco di tutte le regioni in cui eseguire la distribuzione, chiamato regions.
    2. elenco di regioni non raggiungibili denominato 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 in ordine alfabetico.
  4. Analizza regionalPageToken
    1. Se è vuoto, vai al passaggio 5.
    2. Se non è vuoto, allora
      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. Chiama projects.locations.searchLinks in ogni regione dell'elenco regions in parallelo.
  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 ciascuna delle risposte (a partire dalla prima regione in ordine alfabetico)
    1. se non sono stati restituiti link insieme a un token di pagina non vuoto
      1. nome della regione del negozio in lastRegion.
      2. salva pageToken ricevuto in nextPageToken.
      3. ignora le risposte rimanenti.
    2. altrimenti
      1. nome della regione del negozio in lastRegion.
      2. salvare i link ricevuti in foundLinks (fino a linksToFetch).
      3. salva 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'endpoint projects.locations.searchLinks nella stessa regione, ma imposta il parametro pageSize sul valore di lastRegionLinksCount.
        2. Il negozio ha ricevuto pageToken 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.