Fan-out sisi klien di Knowledge Catalog (sebelumnya Dataplex Universal Catalog) memungkinkan Anda menggunakan Data Lineage API untuk mengambil dan menggabungkan link silsilah data di beberapa region Google Cloud . Membuat kueri endpoint regional secara paralel membantu Anda membangun tampilan silsilah terpadu saat aset data Anda tersebar di berbagai lokasi.
Mengapa menggunakan fan-out sisi klien?
Pendekatan fan-out sisi klien berguna saat aset data Anda didistribusikan di berbagai lokasi dan Anda ingin mengorkestrasi kueri regional di klien. Anda dapat menggunakan pendekatan ini untuk mengambil dan menggabungkan data silsilah dari semua region yang tersedia saat melacak silsilah single-hop di seluruh kumpulan region yang diketahui atau mempertahankan kompatibilitas dengan alur kerja projects.locations.searchLinks yang ada.
Untuk mengetahui informasi selengkapnya, lihat Tentang penelusuran silsilah multi-region.
Pseudocode langkah demi langkah
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. Untuk memastikan penomoran halaman yang konsisten untuk panggilan berikutnya, kelola regionalPageToken. Hal ini memperhitungkan region yang tidak dapat dijangkau.
Kode semu 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 yang terakhir diterima yang 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 kosong link yang ditemukan bernama
foundLinks. - variabel kosong
nextPageTokendannextRegionalPageToken. - variabel kosong
lastRegion. - variabel kosong
lastRegionLinksCount.
- daftar semua region yang akan di-fan-out yang disebut
- Urutkan
regionsmenurut abjad. - Mengurai
regionalPageToken- Jika kosong, lanjutkan ke langkah 5
- Jika tidak kosong, maka
- mengurai
regionalPageTokendengan membaginya berdasarkan titik pertama menjadi dua segmen - memfilter wilayah dengan hanya mengambil wilayah yang berada setelah (dalam urutan abjad) segmen pertama dari
regionalPageTokenyang diuraikan. - simpan segmen kedua untuk digunakan dalam semua panggilan projects.locations.searchLinks.
- mengurai
- Lakukan panggilan ke projects.locations.searchLinks
di setiap region dalam daftar
regionssecara paralel. - Tunggu hingga semua permintaan selesai.
- Memfilter respons yang berhasil dan menyimpan nama region yang gagal dalam daftar
unreachable. - Untuk setiap respons (dimulai dengan region pertama dalam urutan alfabet)
- jika tidak ada link yang ditampilkan bersama dengan token halaman yang tidak kosong
- menyimpan nama region di
lastRegion. - simpan pageToken yang diterima di
nextPageToken. - abaikan respons yang tersisa.
- menyimpan nama region di
- jika tidak
- menyimpan nama region di
lastRegion. - menyimpan link yang diterima di
foundLinks(hinggalinksToFetch). - simpan pageToken yang diterima di
nextPageToken. - menyimpan jumlah link yang diambil dari respons di
lastRegionLinksCount. - jika
foundLinkskurang darilinksToFetch- lanjutkan pseudocode dengan respons berikutnya yang diterima dalam urutan alfabet.
- jika
foundLinkssama denganlinksToFetch- buat permintaan lain ke endpoint projects.locations.searchLinks
di region yang sama, tetapi tetapkan parameter
pageSizeke nilailastRegionLinksCount. - store menerima pageToken di
nextPageToken. - lanjutkan ke langkah 9
- buat permintaan lain ke endpoint projects.locations.searchLinks
di region yang sama, tetapi tetapkan parameter
- menyimpan 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 berturut-turut.
Langkah berikutnya
Pelajari lebih lanjut penelusuran silsilah multi-region.
Pelajari cara menelusuri silsilah multi-region menggunakan otomatisasi sisi server.
Pelajari lebih lanjut silsilah data.