Knowledge Catalog (舊稱 Dataplex Universal Catalog) 的用戶端扇出功能可讓您使用 Data Lineage API,擷取及匯總多個 Google Cloud 區域的資料歷程連結。如果資料資產分布在不同位置,平行查詢區域端點有助於建立統合歷程檢視畫面。
為什麼要使用用戶端展開?
如果資料資產分散在不同位置,且您想在用戶端安排區域查詢,則用戶端扇出方法非常實用。在已知的一組區域中追蹤單躍點歷程,或維持與現有 projects.locations.searchLinks 工作流程的相容性時,您可以使用這種方法,從所有可用區域擷取及匯總歷程資料。
詳情請參閱「關於多區域歷程搜尋」。
逐步虛擬程式碼
這項程序會向各區域的 projects.locations.searchLinks 端點發出平行要求。您會收集結果、處理跨區域分頁,並匯總找到的連結。為確保後續呼叫的分頁一致,請管理 regionalPageToken。這會計入無法連線的區域。
下列虛擬程式碼概述了使用 Data Lineage API 從所有可用區域擷取資料歷程連結的程序。
- 輸入設定:
linksToFetch= 5 (從所有區域擷取的連結數量)regionalPageToken= "" (上次收到的區域頁面權杖,用於分頁)
- 建立:
- 名為
regions的清單,列出所有要展開的區域。 - 無法連線的區域清單,名為
unreachable。 - 名為
foundLinks的空白清單,用於存放找到的連結。 - 空白變數
nextPageToken和nextRegionalPageToken。 - 空白變數
lastRegion。 - 空白變數
lastRegionLinksCount。
- 名為
- 依字母順序排序
regions。 - 剖析
regionalPageToken- 如果沒有,請繼續執行步驟 5
- 如果不是空白,則
- 剖析
regionalPageToken,方法是將其分割為兩個區段 (以第一個點為分割點) - 篩選出區域,只保留剖析
regionalPageToken後,第一個區隔之後 (按字母順序) 的區域。 - 將第二個區隔儲存起來,以便在所有 projects.locations.searchLinks 呼叫中使用。
- 剖析
- 在
regions清單中的每個區域,平行呼叫 projects.locations.searchLinks。 - 等待所有要求完成。
- 篩除成功的回應,並將失敗的區域名稱儲存在
unreachable清單中。 - 針對每個回應 (從第一個區域開始,依字母順序排列)
- 如果未傳回任何連結,且頁面權杖不為空白
- 在
lastRegion中儲存區域名稱。 - 將收到的 pageToken 儲存在
nextPageToken中。 - 忽略其餘回覆。
- 在
- 否則
- 在
lastRegion中儲存區域名稱。 - 將收到的連結儲存到「
foundLinks」(最多linksToFetch個)。 - 將收到的 pageToken 儲存在
nextPageToken中。 - 將回應中取得的連結數量儲存在
lastRegionLinksCount。 - 如果
foundLinks小於linksToFetch- 請按照字母順序,使用下一個收到的回應繼續編寫虛擬程式碼。
- 如果
foundLinks等於linksToFetch- 請在相同區域中向 projects.locations.searchLinks 端點發出另一項要求,但將
pageSize參數設為lastRegionLinksCount的值。 - 在
nextPageToken中儲存收到的 pageToken。 - 繼續執行步驟 9
- 請在相同區域中向 projects.locations.searchLinks 端點發出另一項要求,但將
- 在
- 如果未傳回任何連結,且頁面權杖不為空白
- 在
nextPageToken前面加上lastRegion(即[region].[receivedNextPageToken]),建立nextRegionalPageToken來處理連續呼叫中的分頁。
後續步驟
進一步瞭解多區域歷程搜尋。
瞭解如何使用伺服器端自動化功能搜尋多區域歷程。
進一步瞭解資料歷程。