Mengambil link silsilah data di beberapa Google Cloud region menggunakan pendekatan fan-out. Anda menggunakan Data Lineage API untuk mengambil dan menggabungkan data silsilah dari semua region yang tersedia. Hal ini berguna jika aset data Anda didistribusikan di berbagai lokasi dan Anda memerlukan tampilan silsilah yang terpadu.
Untuk mengetahui informasi selengkapnya, lihat Tentang penelusuran silsilah multi-region.
Prosedur
Prosedur ini membuat permintaan paralel ke endpoint projects.locations.searchLinks di setiap region. Anda mengumpulkan hasil, menangani penomoran halaman di seluruh region, dan menggabungkan link yang ditemukan. Kelola regionalPageToken untuk memastikan penomoran halaman yang konsisten untuk panggilan berikutnya, dengan mempertimbangkan region yang tidak dapat dijangkau.
Pseudocode berikut menguraikan prosedur yang dapat Anda ikuti menggunakan Data Lineage API untuk mengambil link silsilah data dari semua region yang tersedia.
- Penyiapan input:
linksToFetch= 5 (jumlah link yang akan diambil dari semua region)regionalPageToken= "" (token halaman regional terakhir yang diterima dan digunakan untuk penomoran halaman)
- Buat:
- daftar semua region yang akan di-fan-out yang disebut
regions. - daftar region yang tidak dapat dijangkau yang disebut
unreachable. - daftar link yang ditemukan yang kosong yang disebut
foundLinks. - variabel kosong
nextPageTokendannextRegionalPageToken. - variabel kosong
lastRegion. - variabel kosong
lastRegionLinksCount.
- daftar semua region yang akan di-fan-out yang disebut
- Urutkan
regionsmenurut abjad. - Uraikan
regionalPageToken- Jika kosong, lanjutkan ke langkah 5
- Jika tidak kosong,
- uraikan
regionalPageTokendengan membaginya berdasarkan titik pertama menjadi dua segmen - filter region dengan hanya mengambil region yang berada setelah (dalam urutan abjad) segmen pertama dari
regionalPageTokenyang diuraikan. - simpan segmen kedua untuk menggunakannya di semua panggilan projects.locations.searchLinks.
- uraikan
- Lakukan panggilan ke projects.locations.searchLinks
di setiap region dalam daftar
regionssecara paralel. - Tunggu hingga semua permintaan selesai.
- Filter respons yang berhasil dan simpan nama region yang gagal dalam daftar
unreachable. - Untuk setiap respons (mulai dengan region pertama dalam urutan abjad)
- jika tidak ada link yang ditampilkan bersama dengan token halaman yang tidak kosong
- simpan nama region di
lastRegion. - simpan pageToken yang diterima di
nextPageToken. - abaikan respons yang tersisa.
- simpan nama region di
- jika tidak
- simpan nama region di
lastRegion. - simpan link yang diterima di
foundLinks(hinggalinksToFetch). - simpan pageToken yang diterima di
nextPageToken. - simpan jumlah link yang diambil dari respons di
lastRegionLinksCount. - jika
foundLinkskurang darilinksToFetch- lanjutkan pseudocode dengan respons berikutnya yang diterima dalam urutan abjad.
- jika
foundLinkssama denganlinksToFetch- buat permintaan lain ke projects.locations.searchLinks
endpoint di region yang sama, tetapi tetapkan parameter
pageSizeke nilailastRegionLinksCount. - simpan pageToken yang diterima di
nextPageToken. - lanjutkan ke langkah 9
- buat permintaan lain ke projects.locations.searchLinks
endpoint di region yang sama, tetapi tetapkan parameter
- simpan nama region di
- jika tidak ada link yang ditampilkan bersama dengan token halaman yang tidak kosong
- Tambahkan
nextPageTokendenganlastRegion(yaitu[region].[receivedNextPageToken]) untuk membuatnextRegionalPageTokenguna menangani penomoran halaman dalam panggilan berurutan.
Langkah berikutnya
Pelajari lebih lanjut penelusuran silsilah multi-region.
Pelajari cara menelusuri silsilah multi-region menggunakan otomatisasi sisi server.
Pelajari lebih lanjut silsilah data.