使用用戶端扇出功能搜尋多區域沿襲

Knowledge Catalog (舊稱 Dataplex Universal Catalog) 的用戶端扇出功能可讓您使用 Data Lineage API,擷取及匯總多個 Google Cloud 區域的資料歷程連結。如果資料資產分布在不同位置,平行查詢區域端點有助於建立統合歷程檢視畫面。

為什麼要使用用戶端展開?

如果資料資產分散在不同位置,且您想在用戶端安排區域查詢,則用戶端扇出方法非常實用。在已知的一組區域中追蹤單躍點歷程,或維持與現有 projects.locations.searchLinks 工作流程的相容性時,您可以使用這種方法,從所有可用區域擷取及匯總歷程資料。

詳情請參閱「關於多區域歷程搜尋」。

逐步虛擬程式碼

這項程序會向各區域的 projects.locations.searchLinks 端點發出平行要求。您會收集結果、處理跨區域分頁,並匯總找到的連結。為確保後續呼叫的分頁一致,請管理 regionalPageToken。這會計入無法連線的區域。

下列虛擬程式碼概述了使用 Data Lineage API 從所有可用區域擷取資料歷程連結的程序。

  1. 輸入設定:
    • linksToFetch = 5 (從所有區域擷取的連結數量)
    • regionalPageToken = "" (上次收到的區域頁面權杖,用於分頁)
  2. 建立:
    1. 名為 regions 的清單,列出所有要展開的區域。
    2. 無法連線的區域清單,名為 unreachable。
    3. 名為 foundLinks 的空白清單,用於存放找到的連結。
    4. 空白變數 nextPageToken 和 nextRegionalPageToken。
    5. 空白變數 lastRegion。
    6. 空白變數 lastRegionLinksCount。
  3. 依字母順序排序regions。
  4. 剖析 regionalPageToken
    1. 如果沒有,請繼續執行步驟 5
    2. 如果不是空白,則
      1. 剖析 regionalPageToken,方法是將其分割為兩個區段 (以第一個點為分割點)
      2. 篩選出區域,只保留剖析 regionalPageToken 後,第一個區隔之後 (按字母順序) 的區域。
      3. 將第二個區隔儲存起來,以便在所有 projects.locations.searchLinks 呼叫中使用。
  5. 在 regions 清單中的每個區域,平行呼叫 projects.locations.searchLinks。
  6. 等待所有要求完成。
  7. 篩除成功的回應,並將失敗的區域名稱儲存在 unreachable 清單中。
  8. 針對每個回應 (從第一個區域開始,依字母順序排列)
    1. 如果未傳回任何連結,且頁面權杖不為空白
      1. 在 lastRegion 中儲存區域名稱。
      2. 將收到的 pageToken 儲存在 nextPageToken 中。
      3. 忽略其餘回覆。
    2. 否則
      1. 在 lastRegion 中儲存區域名稱。
      2. 將收到的連結儲存到「foundLinks」(最多 linksToFetch 個)。
      3. 將收到的 pageToken 儲存在 nextPageToken 中。
      4. 將回應中取得的連結數量儲存在 lastRegionLinksCount。
      5. 如果 foundLinks 小於 linksToFetch
        1. 請按照字母順序,使用下一個收到的回應繼續編寫虛擬程式碼。
      6. 如果 foundLinks 等於 linksToFetch
        1. 請在相同區域中向 projects.locations.searchLinks 端點發出另一項要求,但將 pageSize 參數設為 lastRegionLinksCount 的值。
        2. 在 nextPageToken 中儲存收到的 pageToken。
        3. 繼續執行步驟 9
  9. 在 nextPageToken 前面加上 lastRegion (即 [region].[receivedNextPageToken]),建立 nextRegionalPageToken 來處理連續呼叫中的分頁。

後續步驟