Datenherkunftslinks in mehreren Google Cloud Regionen mit einem Fan-Out-Ansatz abrufen. Sie verwenden die Data Lineage API, um Herkunftsdaten aus allen verfügbaren Regionen abzurufen und zusammenzuführen.
Warum clientseitiges Fan-Out verwenden?
Der clientseitige Fan-Out-Ansatz ist nützlich, wenn Ihre Daten-Assets auf verschiedene Standorte verteilt sind und Sie eine ganzheitliche Übersicht ihrer Herkunft benötigen.
Weitere Informationen finden Sie unter Multiregionale Herkunftssuche.
Pseudocode für die einzelnen Schritte
Die Prozedur sendet parallele Anfragen an den Endpunkt projects.locations.searchLinks in jeder Region. Sie erfassen Ergebnisse, verarbeiten die Paginierung in allen Regionen und führen die gefundenen Links zusammen. Um eine konsistente Paginierung für nachfolgende Aufrufe zu gewährleisten, verwalten Sie ein regionalPageToken. Dadurch werden nicht erreichbare Regionen berücksichtigt.
Der folgende Pseudocode beschreibt eine Prozedur, mit der Sie mit der Data Lineage API Datenherkunftslinks aus allen verfügbaren Regionen abrufen können.
- Eingabe einrichten:
linksToFetch= 5 (Anzahl der Links, die aus allen Regionen abgerufen werden sollen)regionalPageToken= "" (zuletzt empfangenes regionales Seitentoken, das für die Paginierung verwendet wird)
- Erstellen:
- Liste aller Regionen für Fan-Out mit dem Namen
regions. - Liste der nicht erreichbaren Regionen mit dem Namen
unreachable. - Eine leere Liste der gefundenen Links mit dem Namen
foundLinks. - Eine leere Variable
nextPageTokenundnextRegionalPageToken. - Eine leere Variable
lastRegion. - Eine leere Variable
lastRegionLinksCount.
- Liste aller Regionen für Fan-Out mit dem Namen
regionsalphabetisch sortieren.regionalPageToken- parsen
- Wenn es leer ist, mit Schritt 5 fortfahren
- Wenn es nicht leer ist:
regionalPageTokenparsen, indem es durch den ersten Punkt in zwei Segmente aufgeteilt wird- Regionen herausfiltern, indem nur die Regionen berücksichtigt werden, die nach dem ersten Segment aus dem geparsten
regionalPageTokenkommen (in alphabetischer Reihenfolge). - Das zweite Segment zur Verwendung in allen projects.locations.searchLinks beiseitelegen.
- Parallele Aufrufe von projects.locations.searchLinks
in jeder Region in der
regionsListe ausführen. - Warten, bis alle Anfragen abgeschlossen sind.
- Erfolgreiche Antworten herausfiltern und Namen der fehlgeschlagenen Regionen in der Liste
unreachablespeichern. - Für jede der Antworten (beginnend mit der ersten Region in alphabetischer Reihenfolge)
- Wenn keine Links zusammen mit einem nicht leeren Seitentoken zurückgegeben wurden:
- Regionsnamen in
lastRegionspeichern. - Empfangenes Seitentoken in
nextPageTokenspeichern. - Die restlichen Antworten ignorieren.
- Regionsnamen in
- Andernfalls:
- Regionsnamen in
lastRegionspeichern. - Empfangene Links in
foundLinksspeichern (bis zulinksToFetch). - Empfangenes Seitentoken in
nextPageTokenspeichern. - Anzahl der aus der Antwort übernommenen Links in
lastRegionLinksCountspeichern. - Wenn
foundLinkskleiner alslinksToFetch- ist:
- Mit der nächsten empfangenen Antwort in alphabetischer Reihenfolge im Pseudocode fortfahren.
- Wenn
foundLinksgleichlinksToFetch- ist:
- Eine weitere Anfrage an den Endpunkt projects.locations.searchLinks
in derselben Region senden, aber den Parameter
pageSizeauf den Wert vonlastRegionLinksCountfestlegen. - Empfangenes Seitentoken in
nextPageTokenspeichern. - Mit Schritt 9 fortfahren
- Eine weitere Anfrage an den Endpunkt projects.locations.searchLinks
in derselben Region senden, aber den Parameter
- Regionsnamen in
- Wenn keine Links zusammen mit einem nicht leeren Seitentoken zurückgegeben wurden:
nextPageTokenmitlastRegionvoranstellen (d.h.[region].[receivedNextPageToken]), umnextRegionalPageTokenzu erstellen und die Paginierung in nachfolgenden Aufrufen zu verarbeiten.
Nächste Schritte
Weitere Informationen zur multiregionalen Herkunftssuche.
Informationen zum Suchen nach multiregionaler Herkunft mithilfe der serverseitigen Automatisierung
Weitere Informationen zur Datenherkunft.