本頁說明如何使用 Data Catalog 搜尋及管理 Spanner 資源。
Data Catalog 是 Dataplex Universal Catalog 中可擴充的全代管中繼資料管理服務。系統會自動分類 Spanner 執行個體、資料庫、資料表、資料欄和檢視區塊的下列中繼資料:
- 名稱和完整名稱
- 位置 (區域)
- 建立日期和上次修改日期
- 結構定義 (適用於資料表和檢視表)
- 說明
Spanner 中繼資料會定期自動同步至 Data Catalog,通常每隔幾小時就會同步一次。您可以使用 Data Catalog 探索及瞭解 Spanner 中繼資料。使用 Data Catalog 輔助下列活動:
- 分析,包括依附元件和是否適合用途
- 變更管理
- 資料移動 (管道)
- 結構定義演變
您可以使用 Data Catalog,將標記附加至 Spanner 中繼資料項目,藉此管理中繼資料。每個標記可有多個中繼資料欄位,且可根據預先定義或自訂的標記範本建立。
舉例來說,您可以將下列標記附加至包含身分證字號 (個人識別資訊) 的資料欄:
pii:true
pii_type:SSN
移動使用標記的執行個體時,標記不會自動移至目的地執行個體。您必須先從來源執行個體匯出代碼,再移動執行個體,然後將代碼匯入目的地執行個體。詳情請參閱匯出及匯入代碼。
如要進一步瞭解 Data Catalog,請參閱「什麼是 Data Catalog」。
事前準備
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- 
    
    
      In the Google Cloud console, on the project selector page, select or create a Google Cloud project. Roles required to select or create a project - Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
- 
      Create a project: To create a project, you need the Project Creator
      (roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
 
- 
  
    Verify that billing is enabled for your Google Cloud project. 
- 
    
    
      In the Google Cloud console, on the project selector page, select or create a Google Cloud project. Roles required to select or create a project - Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
- 
      Create a project: To create a project, you need the Project Creator
      (roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
 
- 
  
    Verify that billing is enabled for your Google Cloud project. 
- 
    為專案啟用 Data Catalog API。 
-  請檢查權限。 您需要特定的 Identity and Access Management (IAM) 角色和權限,才能搜尋及將標記附加至 Spanner 資產。詳情請參閱「Data Catalog 的必要 IAM 角色和權限」。 
- 在資產中新增商家中繼資料。
- 依業務中繼資料和其他自訂中繼資料搜尋資產。
- 前往 Dataplex Universal Catalog 搜尋頁面。 
- 在「篩選器」面板中,選取「系統」下方的「Spanner」。 - Dataplex Universal Catalog 會顯示所有已知的 Spanner 資產。 
- 選用步驟:如要縮小搜尋範圍,請執行下列任一操作: - 在「搜尋」頁面上使用多面向搜尋。勾選「資料類型」、「專案」和「標記」下方的核取方塊。 
- 在搜尋欄位中,於 - system=cloud_spanner後方附加搜尋參數。以空格分隔參數。
 - 舉例來說,如要只查看資料庫,請在搜尋欄位中輸入下列文字,然後按下 - Enter。- system=cloud_spanner type=database- 您也可以使用括號和邏輯運算子 - and和- or,建立複雜的運算式。如要進一步瞭解可在搜尋欄位中使用的運算式,請參閱 Data Catalog 搜尋語法。
- 在結果表格中,按一下資產名稱,即可查看該資產的中繼資料。 
- 選用:執行下列任一操作: - 按一下「新增總覽」,即可新增資產的 RTF 說明。
- 按一下「附加標記」,將標記新增至資產。
- 如要查看資料表資料欄,請按一下「SCHEMA」SCHEMA分頁標籤。
- 如要查看執行個體 (SERVICE) 的成員資料庫,請按一下「ENTRY LIST」(項目清單) 分頁標籤,然後按一下「VIEW CHILD ENTRIES IN SEARCH」(在搜尋中查看子項目)。(如果沒有顯示「ENTRY LIST」分頁,表示執行個體沒有資料庫)。
 
- 前往 Dataplex Universal Catalog 搜尋頁面。 
- 在「篩選器」面板中,選取「系統」下方的「Spanner」。 
- 如要查看 Data Catalog 中的所有 Spanner 執行個體,請選取「資料類型」下方的「服務」核取方塊,或在搜尋欄位中輸入下列文字並按下 - Enter。- system=cloud_spanner type=service
- 選取執行個體名稱。 
- 在「Spanner service details」(Spanner 服務詳細資料) 頁面中,按一下「ENTRY LIST」(項目清單) 分頁標籤,然後按一下「VIEW CHILD ENTRIES IN SEARCH」(在搜尋中查看子項目)。 - Dataplex Universal Catalog 會顯示執行個體中的資料庫。 
- 在「Spanner database details」(Spanner 資料庫詳細資料) 頁面中,按一下「ENTRY LIST」(項目清單) 分頁標籤,然後按一下「VIEW CHILD ENTRIES IN SEARCH」(在搜尋中查看子項目)。 - Dataplex Universal Catalog 會顯示資料庫中的資料表。 
- 選取資料表名稱,然後在「Spanner table details」(Spanner 資料表詳細資料) 頁面上,按一下「SCHEMA」(結構定義) 即可查看資料表欄。 
- 選用:如要為資料欄新增標記,請按一下「資料欄標記」下方的加號。 
- 查詢與執行個體相關聯的標記。
- 複製代碼的詳細資料。
- 在遷移的執行個體上建立標記。
- PROJECT:包含標記的專案。
- LOCATION:標記的位置。
- API_KEY:可存取 API 的專屬字串。
- ACCESS_TOKEN:應用程式用來向服務驗證身分的存取權杖。
- FQN:資源的完整名稱 (FQN)。FQN 有兩種形式: - 非區域化資源: {SYSTEM}:{PROJECT}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS} - 區域化資源: {SYSTEM}:{PROJECT}.{LOCATION_ID}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS} - DPMS 表格範例: - dataproc_metastore:{PROJECT_ID}.{LOCATION_ID}.{INSTANCE_ID}.{DATABASE_ID}.{TABLE_ID} 
- LOCATION:執行查閱作業的位置。 
- PROJECT:執行查閱作業的專案。 
- API_KEY:可存取 API 的專屬字串。 
- ACCESS_TOKEN:應用程式用來向服務驗證身分的存取權杖。 
- roles/spanner.admin
- roles/spanner.admin
- roles/spanner.databaseAdmin
- roles/spanner.databaseUser
建立標記範本
標記範本是可重複使用的結構,方便您快速建立新的標記。範本可協助您避免重複作業和不完整的代碼。視需要建立任意數量的代碼範本。
詳情請參閱「代碼和代碼範本」。
將標記附加至 Spanner 資產
將標記附加至 Spanner 資產,即可執行下列操作:
詳情請參閱「代碼和代碼範本」。
搜尋 Spanner 資產
在 Google Cloud 控制台中使用 Dataplex Universal Catalog 搜尋頁面,搜尋 Spanner 資產。
工作流程範例 - 從執行個體向下鑽研至資料欄
在這個範例工作流程中,您會先搜尋 Spanner 執行個體,然後查看成員資料庫,接著查看該資料庫中的資料表,最後查看資料表中的資料欄。
匯出及匯入代碼
移動 Spanner 執行個體時,移動程序會刪除您在 Data Catalog 中建立的執行個體標記。如要保留標記,請按照下列步驟操作:
Spanner 每 6 小時會同步一次資料。在 Spanner 資產 (例如執行個體、資料庫、資料表、檢視區塊或資料欄) 上進行的任何中繼資料變更,大約需要 6 小時才能傳播至 Data Catalog。
從來源執行個體設定匯出標記
如要列出執行個體 (項目或項目群組) 的標記,請使用 Google Cloud CLI gcloud data-catalog tags list 指令,如下所示:
curl \ 'https://datacatalog.googleapis.com/v1/projects/PROJECT/locations/LOCATION/entryGroups/ENTRY_GROUP/tags?key=API_KEY' \ --header 'Authorization: Bearer ACCESS_TOKEN' \ --header 'Accept: application/json' \ --compressed
更改下列內容:
將代碼匯入目的地設定
完成這個程序之前,請先執行下列操作:
如要複製標記,請使用 gcloud data-catalog tags create 指令在已遷移的執行個體上建立標記,如下所示:
curl --request POST \
'https://datacatalog.googleapis.com/v1/entries:lookup?fullyQualifiedName=FQN&location=LOCATION&project=PROJECT&key=API_KEY' \
  --header 'Authorization: Bearer ACCESS_TOKEN' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"column":"myColumnName","name":"myTagName","template":"myTemplateName","fields":{"myDoubleField":{"doubleValue":0}}}' \
  --compressed
更改下列內容:
Data Catalog 的必要 IAM 角色和權限
下表列出各種 Data Catalog 作業所需的 IAM 角色和權限。
| Data Catalog 作業 | Spanner 資源 | 必要角色或權限 | 
|---|---|---|
| 建立標記範本 | 不適用 | roles/datacatalog.tagTemplateCreator | 
| 搜尋 Spanner 資源 | 執行個體 | spanner.instances.get | 
| 資料庫 | spanner.databases.get | |
| 表格 | spanner.databases.get | |
| 觀看次數 | spanner.databases.get | |
| 查看公開標記 | 執行個體 | spanner.instances.get | 
| 資料庫 | spanner.databases.get | |
| 表格 | spanner.databases.get | |
| 觀看次數 | spanner.databases.get | |
| 查看私人標記 | 執行個體 | datacatalog.tagTemplates.getTag + spanner.instances.get | 
| 資料庫 | datacatalog.tagTemplates.getTag + spanner.databases.get | |
| Tables | datacatalog.tagTemplates.getTag + spanner.databases.get | |
| 觀看次數 | datacatalog.tagTemplates.getTag + spanner.databases.get | |
| 使用標記範本將標記附加至 Spanner 資源 | 執行個體 | datacatalog.tagTemplates.use + spanner.instances.updateTag | 
| 資料庫 | datacatalog.tagTemplates.use + spanner.databases.updateTag | |
| Tables | datacatalog.tagTemplates.use + spanner.databases.updateTag | |
| 觀看次數 | datacatalog.tagTemplates.use + spanner.databases.updateTag | 
下列角色具備 spanner.instances.UpdateTag 權限:
下列角色具備 spanner.databases.UpdateTag 權限:
詳情請參閱「預先定義的角色」。