Herkunftslinks aus mehreren Regionen abrufen

Der folgende Pseudocode beschreibt ein Verfahren, mit dem Sie die Data Lineage API verwenden können, um Data Lineage-Links aus allen verfügbaren Regionen abzurufen.

  1. Eingabeeinrichtung:
  2. linksToFetch = 5 (Anzahl der Links, die aus allen Regionen abgerufen werden sollen)
  3. regionalPageToken = „“ (das letzte für die Paginierung verwendete regionale Seitentoken)
  4. Erstellen:
    1. Liste aller Regionen, die als Fan-Out bezeichnet werden, namens regions.
    2. Liste der nicht erreichbaren Regionen namens unreachable.
    3. eine leere Liste gefundener Links namens foundLinks.
    4. eine leere Variable nextPageToken und nextRegionalPageToken.
    5. eine leere Variable lastRegion.
    6. eine leere Variable lastRegionLinksCount.
  5. regions alphabetisch sortieren.
  6. regionalPageToken parsen
    1. Wenn es leer ist, fahren Sie mit Schritt 4 fort.
    2. Wenn es nicht leer ist,
      1. Parsen Sie regionalPageToken, indem Sie es durch den ersten Punkt in zwei Segmente aufteilen
      2. filtern Sie Regionen aus, indem Sie nur die Regionen nach dem ersten Segment in geparsten regionalPageToken übernehmen (in alphabetischer Reihenfolge).
      3. Speichern Sie das zweite Segment, damit es in allen projects.locations.searchLinks-Aufrufen verwendet werden kann.
  7. Rufen Sie projects.locations.searchLinks in jeder Region in der regions-Liste parallel auf.
  8. Warten Sie, bis alle Anfragen abgeschlossen sind.
  9. Filtern Sie erfolgreiche Antworten heraus und speichern Sie fehlgeschlagene Regionsnamen in der unreachable-Liste.
  10. Für jede Antwort (beginnend mit der ersten Region in alphabetischer Reihenfolge)
    1. wenn keine Links mit einem nicht leeren Seitentoken zurückgegeben wurden
      1. Name der Geschäftsregion in lastRegion.
      2. Speichern Sie das empfangene pageToken in nextPageToken.
      3. die verbleibenden Antworten ignorieren.
    2. andernfalls
      1. Name der Geschäftsregion in lastRegion.
      2. Erhaltene Links in foundLinks speichern (bis zu linksToFetch).
      3. Speichern Sie das empfangene pageToken in nextPageToken.
      4. Anzahl der übernommenen Links aus der Antwort in lastRegionLinksCount.
      5. wenn foundLinks kleiner als linksToFetch ist
        1. Setze den Pseudocode mit der nächsten erhaltenen Antwort in alphabetischer Reihenfolge fort.
      6. wenn foundLinks gleich linksToFetch ist
        1. stellen Sie eine weitere Anfrage an den Endpunkt projects.locations.searchLinks in derselben Region, setzen Sie den Parameter pageSize jedoch auf den Wert lastRegionLinksCount.
        2. Speichern Sie das empfangene pageToken in nextPageToken.
        3. Weiter mit Schritt 8
  11. Stellen Sie „nextPageToken“ dem lastRegion voran (d.h. „[region].[receivedNextPageToken]“), um nextRegionalPageToken zu erstellen, um die Paginierung in aufeinanderfolgenden Aufrufen zu verarbeiten.