建立 BigQuery 連結資料集

本文說明如何在可觀測性資料集上建立連結的 BigQuery 資料集。接著,您可以使用 BigQuery Studio 和 BigQuery API 等 BigQuery 服務,查詢連結的資料集。

如要開始使用 Observability Analytics,請參閱「查詢及分析追蹤記錄」。

需要連結的資料集時

如要查詢追蹤資料,或查詢追蹤和記錄資料,您不需要連結 BigQuery 資料集。在這些情況下,您可以使用「可觀測性分析」頁面。如要瞭解如何查詢記錄資料,請參閱「使用 Observability Analytics 查詢及分析記錄」。

如要執行下列任一操作,您必須連結 BigQuery 資料集:

建立連結的 BigQuery 資料集

本節說明如何建立連結的 BigQuery 資料集,讓 BigQuery 服務查詢追蹤資料。您可以在可觀測性資料集上建立一個連結的 BigQuery 資料集。

建立連結的資料集時,系統會啟動長時間執行的作業。 這項作業會執行下列動作:

  • 稽核記錄會記錄建立連結的要求和作業完成情況。
  • 如果監控服務帳戶不存在,Google Cloud Observability 會建立該帳戶。

    必須先啟用 Cloud Monitoring API,才能建立這個服務帳戶。

  • Google Cloud Observability 必須先有服務帳戶,才能建立連結的資料集。 系統會在必要時建立服務帳戶:

  • 稽核記錄會記錄服務代理程式管理員的請求,將「監控服務代理程式」IAM 角色授予監控服務帳戶。

事前準備

  1. 登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自評估產品在實際工作環境中的成效。新客戶還能獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
  2. 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 role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Monitoring and Observability APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. 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 role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Cloud Monitoring and Observability APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  8. 如要取得在可觀測性資料集上建立連結所需的權限,請要求管理員授予您專案的「可觀測性編輯者」 (roles/observability.editor) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

    您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

建立資料集

gcloud

使用下方的任何指令資料之前,請先替換以下項目:

  • LINK_ID:BigQuery 資料集的名稱。
  • DATASET_ID:資料集 ID。您的追蹤資料會儲存在名為 Spans 的資料集中。
  • BUCKET_ID:可觀測性 Bucket 的 ID。舉例來說,這個 ID 可能是 _Trace
  • LOCATION:可觀測性 bucket 的位置。
  • PROJECT_ID:專案的 ID。

執行 gcloud beta observability buckets datasets links create 指令:

Linux、macOS 或 Cloud Shell

gcloud beta observability buckets datasets links create \
  projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID/links/LINK_ID \
 --dataset=DATASET_ID\
 --bucket=BUCKET_ID \
 --location=LOCATION \
 --project=PROJECT_ID

Windows (PowerShell)

gcloud beta observability buckets datasets links create `
  projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID/links/LINK_ID `
 --dataset=DATASET_ID`
 --bucket=BUCKET_ID `
 --location=LOCATION `
 --project=PROJECT_ID

Windows (cmd.exe)

gcloud beta observability buckets datasets links create ^
  projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID/links/LINK_ID ^
 --dataset=DATASET_ID^
 --bucket=BUCKET_ID ^
 --location=LOCATION ^
 --project=PROJECT_ID

create 指令會啟動長時間執行的作業。以下是指令成功時的回應範例:

Create request issued for: [mydataset]
Waiting for operation [projects/my-project/locations/us/operations/operation-1775164903749-64e80c9817833-9ff804b6-c3e9cbe7] to complete...done.
Created link [mydataset].

REST

如要建立 BigQuery 資料集的連結,請將要求傳送至 projects.locations.buckets.datasets.links.create 端點。

您必須指定父項參數,格式如下:

projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID

上述運算式中的欄位具有下列意義:

  • PROJECT_ID:專案的 ID。
  • LOCATION可觀測性 bucket 的位置
  • BUCKET_ID:可觀測性 Bucket 的 ID。舉例來說,這個 ID 可能是 _Trace
  • DATASET_ID:要查詢的資料集 ID。舉例來說,這個 ID 可能是 Spans

這項指令需要查詢參數和要求主體:

  • 您必須指定查詢參數 linkId,並將其設為 BigQuery 資料集的名稱。例如,linkId="my_link"。BigQuery 資料集名稱在 Google Cloud 專案中必須是唯一的,且長度不得超過 100 個半形字元,只能包含英文字母、數字和底線。

  • 要求主體是 Link 物件。name 欄位的值採用以下格式:

    projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/dataset/DATASET_ID/links/LINK_ID
    

    您為 name 欄位提供的值,必須與查詢參數參照的連結 BigQuery 資料集相符。

    LINK_ID 欄位是 BigQuery 資料集的名稱。

回應為 Operation 物件。 這個物件包含方法進度的相關資訊。方法完成後,Operation 物件會包含狀態資料。

如需 Observability API 端點的完整清單,請參閱 Observability API 參考說明文件

如果在建立連結資料集時發生權限錯誤,請參閱「排解權限錯誤」。

後續步驟