建立及管理標籤

您可以將使用者標籤套用至 Dataproc 叢集和工作資源,以將資源和相關作業分組後進行篩選和建立清單。您可以在建立資源、建立叢集或提交工作時,將標籤與資源建立關聯。資源與標籤建立關聯後,標籤就會傳播至資源上執行的作業 (叢集建立、更新、修補或刪除;工作提交、更新、取消或刪除),讓您可以依標籤篩選及列出叢集、工作和作業。

您也可以在與叢集資源相關聯的 Compute Engine 資源中新增標籤,例如虛擬機器執行個體和磁碟。

什麼是標籤?

標籤是鍵/值組合,可指派給 Google Cloud Dataproc 叢集和工作。這些標籤可協助您整理這些資源,並以所需精細度大規模管理費用。您可以為每項資源加上標籤,並根據標籤篩選資源。標籤的相關資訊會轉送至帳單系統,方便您依據標籤查看帳單費用明細。您可以使用內建的帳單報表,依資源標籤篩選及分組費用。您也可以使用標籤查詢帳單資料匯出內容

標籤需求

套用於資源的標籤必須符合下列需求條件:

  • 每項資源最多可有 64 個標籤。
  • 每個標籤都必須是鍵/值組合。
  • 鍵的長度必須至少為 1 個字元,最多 63 個字元,且不能空白。值可以空白,長度上限為 63 個字元。
  • 鍵和值只能使用小寫字母、數字字元、底線和連字號。所有字元都必須使用 UTF-8 編碼,且可使用國際字元。鍵的開頭必須是小寫字母或國際字元。
  • 標籤中的鍵部分不得重複。但可讓多個資源使用相同的鍵。

這些限制適用於每個標籤的鍵和值,以及具有標籤的個別 Google Cloud 資源。您可以在專案內的所有資源中套用任意數量的標籤。

標籤的常見用法

以下是一些常見的標籤用途:

  • 團隊或成本中心標籤:依據團隊或成本中心來新增標籤,以區別不同團隊 (例如 team:researchteam:analytics) 擁有的 Dataproc 叢集和工作。這個類型的標籤可用於成本會計或預算編列作業。

  • 元件標籤:例如 component:rediscomponent:frontendcomponent:ingestcomponent:dashboard

  • 環境或階段標籤:例如 environment:productionenvironment:test

  • 狀態標籤:例如 state:activestate:readytodeletestate:archive

  • 擁有權標籤:用於識別負責作業的團隊,例如 team:shopping-cart

我們不建議您建立大量的不重複標籤,例如為時間戳記或每個 API 呼叫的個別值建立標籤。這種做法的問題是,如果值經常變更,或鍵會使目錄變得雜亂,就很難有效篩選及回報資源。

標籤

標籤可用做為可查詢的資源註解,但無法用於設定政策條件。您可將資源是否具備特定標記設為條件,並按照這項條件允許或拒絕政策。詳情請參閱「標記總覽」。

建立及使用 Dataproc 標籤

gcloud 指令

您可以使用 Google Cloud CLI,指定要在建立 Dataproc 叢集或提交 Dataproc 工作時套用至該叢集或工作的一或多個標籤。

gcloud dataproc clusters create args --labels environment=production,customer=acme
gcloud dataproc jobs submit args --labels environment=production,customer=acme

建立 Dataproc 叢集或工作後,您就可以使用 Google Cloud CLI 更新與該資源相關聯的標籤。

gcloud dataproc clusters update args --update-labels environment=production,customer=acme
gcloud dataproc jobs update args --update-labels environment=production,customer=acme

同樣地,您可以使用 Google Cloud CLI 並採用下列格式的篩選條件運算式,按標籤篩選 Dataproc 資源:labels.<key=value>

gcloud dataproc clusters list \
    --region=region \
    --filter="status.state=ACTIVE AND labels.environment=production"
gcloud dataproc jobs list \
    --region=region \
    --filter="status.state=ACTIVE AND labels.customer=acme"

如要進一步瞭解如何編寫篩選條件運算式,請參閱 clusters.listjobs.list Dataproc API 說明文件。

REST API

標籤可以透過 Dataproc REST API 附加至 Dataproc 資源。您可以在建立叢集或提交工作時,使用 clusters.createjobs.submit API 將標籤附加到該叢集或工作。資源建立完成後,您可以使用 clusters.patchjobs.patch API 編輯標籤。以下是 cluster.create 要求的 JSON 主體,其中含有附加到叢集的 key1:value 標籤。

{
  "clusterName":"cluster-1",
  "projectId":"my-project",
  "config":{
    "configBucket":"",
    "gceClusterConfig":{
      "networkUri":".../networks/default",
      "zoneUri":".../zones/us-central1-f"
    },
    "masterConfig":{
      "numInstances":1,
      "machineTypeUri":"..../machineTypes/n1-standard-4",
      "diskConfig":{
        "bootDiskSizeGb":500,
        "numLocalSsds":0
      }
    },
    "workerConfig":{
      "numInstances":2,
      "machineTypeUri":"...machineTypes/n1-standard-4",
      "diskConfig":{
        "bootDiskSizeGb":500,
        "numLocalSsds":0
      }
    }
  },
  "labels":{
    "key1":"value1"
  }
}

您可以使用 clusters.listjobs.list API 列出符合指定篩選條件的資源,格式如下:labels.<key=value>

以下是指定 key=value 標籤篩選條件的範例 Dataproc API clusters.list HTTPS GET 要求。呼叫端會插入 projectregion、篩選器 label-keylabel-value,以及 api-key。請注意,為了方便閱讀,此要求範例分成兩行顯示。

GET https://dataproc.googleapis.com/v1/projects/project/regions/region/clusters?
filter=labels.label-key=label-value&key=api-key

如要進一步瞭解如何編寫篩選條件運算式,請參閱 clusters.listjobs.list Dataproc API 說明文件。

控制台

您可以使用 Google Cloud 主控台,在建立或提交 Dataproc 資源時指定要新增至該資源的一組標籤。

  • 在 Dataproc「建立叢集」頁面的「自訂叢集」面板中,透過「標籤」部分將標籤新增至叢集。
  • 透過 Dataproc「Submit a job」頁面,為工作新增標籤。

建立 Dataproc 資源後,您就可以更新與該資源相關聯的標籤。如要更新標籤,您必須先按一下頁面左上方的 SHOW INFO PANEL。以下是 Dataproc→List clusters (列出叢集) 頁面的範例。

顯示資訊面板後,您可以更新 Dataproc 資源的標籤。以下範例說明如何更新 Dataproc 叢集的標籤。

您也可以在一次作業中更新多個項目的標籤。下列範例說明如何同時更新多個 Dataproc 工作的標籤。

標籤可讓您篩選顯示在 Dataproc→List clusters (列出叢集)Dataproc→List jobs (列出工作) 頁面上的 Dataproc 資源。在頁面頂端,您可以使用搜尋模式 labels.<labelname>=<value> 按標籤篩選資源。

自動套用的標籤

建立或更新叢集時,Dataproc 會自動將數個標籤套用至叢集和叢集資源。例如,Dataproc 會在建立叢集時,將標籤套用至虛擬機器、永久磁碟和加速器。自動套用的標籤有特殊的 goog-dataproc 前置字串。

下列 goog-dataproc 標籤會自動套用至 Dataproc 資源。您在建立叢集時為保留的 goog-dataproc 標籤所提供的任何值,都會覆寫自動提供的值。因此,不建議為這些標籤提供您自己的值。

標籤 說明
goog-dataproc-cluster-name 使用者指定的叢集名稱
goog-dataproc-cluster-uuid 不重複的叢集 ID
goog-dataproc-location Dataproc 地區叢集端點

您可以透過多種方式使用這些自動套用的標籤,包括:

後續步驟