ラベルの削除

このページでは、BigQuery リソースからラベルを削除する方法について説明します。

概要

データセット、テーブル、ビューからラベルを削除するには、次の方法を使用できます。

  • GCP Console または従来のウェブ UI を使用する
  • コマンドライン ツールの bq update コマンドを使用する
  • datasets.patch または tables.patch API メソッドを呼び出す
  • クライアント ライブラリを使用する

必要な権限

データセットのラベルを削除するには、少なくとも bigquery.datasets.get 権限と bigquery.datasets.update 権限が付与されている必要があります。次の定義済みの Cloud IAM の役割には、bigquery.datasets.update 権限と bigquery.datasets.get 権限が含まれています。

  • bigquery.dataOwner
  • bigquery.admin

また、bigquery.datasets.create 権限があるユーザーがデータセットを作成すると、作成したデータセットに対する bigquery.dataOwner アクセス権がそのユーザーに付与されます。 bigquery.dataOwner アクセス権により、データセットからラベルを削除する権限と、データセット内のテーブルやビューからラベルを削除する権限が付与されます。

BigQuery での Cloud IAM 役割と権限については、アクセス制御をご覧ください。

データセット ラベルの削除

データセットのラベルを削除するには:

Console

  1. GCP Console でデータセットを選択します。

  2. データセットの詳細ページで、[ラベル] の右にある鉛筆アイコンをクリックします。

    ラベル鉛筆

  3. [ラベルの編集] ダイアログで、次の操作を行います。

    • 削除する各ラベルの削除アイコン(X)をクリックします。
    • [更新] をクリックして、変更を保存します。

従来の UI

  1. ウェブ UI でデータセットを選択します。

  2. [Dataset Details] ページの [Labels] の右にある [Edit] をクリックします。

  3. [Edit Labels] ダイアログで、次の操作を行います。

    • 削除する各ラベルの削除アイコン(X)をクリックします。
    • [OK] をクリックします。

      ラベル削除

CLI

データセット ラベルを削除するには、clear_label フラグを指定して bq update コマンドを発行します。複数のラベルを削除するには、このフラグを繰り返します。

データセットがデフォルト プロジェクト以外のプロジェクトにある場合は、project_id:dataset の形式でプロジェクト ID をデータセットに追加します。

bq update \
--clear_label key \
project_id:dataset

ここで

  • key は削除するラベルのキーです。
  • project_id はプロジェクト ID です。
  • dataset は更新するデータセットです。

例:

department:shipping ラベルを mydataset から削除するには、bq update コマンドで --clear_label フラグを使用します。mydataset はデフォルト プロジェクトにあります。

    bq update --clear_label department mydataset

department:shipping ラベルを myotherproject 内の mydataset から削除するには、bq update コマンドで --clear_label フラグを使用します。

    bq update --clear_label department myotherproject:mydataset

複数のラベルをデータセットから削除するには、clear_label フラグを繰り返して各ラベルのキーを指定します。たとえば、department:shipping ラベルと cost_center:logistics ラベルをデフォルト プロジェクト内の mydataset から削除するには、次のように入力します。

    bq update \
    --clear_label department \
    --clear_label cost_center \
    mydataset

それぞれの例で、出力は次のようになります。

Dataset 'myproject:mydataset' successfully updated.

API

既存のデータセットの特定のラベルを削除するには、datasets.patch メソッドを呼び出し、ラベルのキー値を null に設定してデータセット リソースlabels プロパティを更新します。

データセットのすべてのラベルを削除するには、datasets.patch メソッドを呼び出して labels プロパティを削除します。

datasets.update メソッドはデータセット リソース全体を置き換えるため、datasets.patch メソッドの方が適切です。

Go

このサンプルを試す前に、BigQuery クイックスタート: クライアント ライブラリの使用にある Go 向けの手順に沿って設定を行ってください。詳細については、BigQuery Go API のリファレンス ドキュメントをご覧ください。

// To run this sample, you will need to create (or reuse) a context and
// an instance of the bigquery client.  For example:
// import "cloud.google.com/go/bigquery"
// ctx := context.Background()
// client, err := bigquery.NewClient(ctx, "your-project-id")
ds := client.Dataset(datasetID)
meta, err := ds.Metadata(ctx)
if err != nil {
	return err
}
update := bigquery.DatasetMetadataToUpdate{}
update.DeleteLabel("color")
if _, err := ds.Update(ctx, update, meta.ETag); err != nil {
	return err
}

Python

このサンプルを試す前に、BigQuery クイックスタート: クライアント ライブラリの使用にある Python の設定手順に沿って設定を行ってください。詳細については、BigQuery Python API のリファレンス ドキュメントをご覧ください。

# from google.cloud import bigquery
# client = bigquery.Client()
# dataset_ref = client.dataset('my_dataset')
# dataset = client.get_dataset(dataset_ref)  # API request

# This example dataset starts with one label
assert dataset.labels == {"color": "green"}
# To delete a label from a dataset, set its value to None
dataset.labels["color"] = None

dataset = client.update_dataset(dataset, ["labels"])  # API request

assert dataset.labels == {}

テーブルまたはビューのラベルの削除

テーブルまたはビューのラベルは、次の方法で削除できます。

  • GCP Console または従来の BigQuery ウェブ UI
  • コマンドライン ツールの bq update コマンドを使用する
  • tables.patch API メソッドを呼び出す
    • ビューはテーブルのリソースと同様に扱われるため、tables.patch メソッドを使用してビューとテーブルの両方を変更できます。
  • クライアント ライブラリを使用する

必要な権限

テーブルまたはビューを削除するには、少なくとも bigquery.tables.update 権限と bigquery.tables.get 権限が必要です。次の定義済みの Cloud IAM の役割には、bigquery.tables.update 権限と bigquery.tables.get 権限が含まれています。

  • bigquery.dataEditor
  • bigquery.dataOwner
  • bigquery.admin

また、bigquery.datasets.create 権限があるユーザーがデータセットを作成すると、作成したデータセットに対する bigquery.dataOwner アクセス権がそのユーザーに付与されます。 bigquery.dataOwner アクセス権により、データセット内のテーブルやビューからラベルを削除する権限が付与されます。

BigQuery での Cloud IAM 役割と権限については、アクセス制御をご覧ください。

テーブルまたはビューのラベルの削除

テーブルまたはビューのラベルを削除するには:

Console

  1. GCP Console でデータセットを選択します。

  2. [詳細] タブをクリックしてから、[ラベル] の右側にある鉛筆アイコンをクリックします。

    ラベル鉛筆

  3. [ラベルの編集] ダイアログで、次の操作を行います。

    • 削除する各ラベルの削除アイコン(X)をクリックします。

      ラベル削除

    • [更新] をクリックして、変更を保存します。

従来の UI

  1. ウェブ UI でテーブルまたはビューを選択します。

  2. [Details] ページで、[Labels] の右にある [Edit] をクリックします。

  3. [Edit Labels] ダイアログで、次の操作を行います。

    • 削除する各ラベルの削除アイコン(X)をクリックします。
    • [OK] をクリックします。

      ラベルの削除

CLI

テーブルまたはビューのラベルを削除するには、clear_label フラグを指定して bq update コマンドを発行します。複数のラベルを削除するには、このフラグを繰り返します。

テーブルまたはビューがデフォルト プロジェクト以外のプロジェクトにある場合は、project_id:dataset の形式でプロジェクト ID をデータセットに追加します。

bq update \
--clear_label key \
project_id:dataset.table_or_view

ここで

  • key は削除するラベルのキーです。
  • project_id はプロジェクト ID です。
  • dataset は更新するデータセットです。
  • table_or_view は、更新するテーブルまたはビューの名前です。

例:

department:shipping ラベルを mydataset.mytable から削除するには、bq update コマンドで --clear_label フラグを使用します。mydataset はデフォルト プロジェクトにあります。

    bq update --clear_label department mydataset.mytable

department:shipping ラベルを myotherproject 内の mydataset.myview から削除するには、bq update コマンドで --clear_label フラグを使用します。

    bq update --clear_label department myotherproject:mydataset.myview

複数のラベルをテーブルまたはビューから削除するには、clear_label フラグを繰り返して各ラベルのキーを指定します。たとえば、department:shipping ラベルと cost_center:logistics ラベルをデフォルト プロジェクト内の mydataset.mytable から削除するには、次のように入力します。

    bq update \
    --clear_label department \
    --clear_label cost_center \
    mydataset.mytable

それぞれの例で、出力は次のようになります。

Table 'myproject:mydataset.mytable' successfully updated.

API

既存のテーブルやビューの特定のラベルを削除するには、tables.patch メソッドを呼び出し、ラベルのキー値を null に設定してテーブル リソースlabels プロパティを更新します。

特定のテーブルやビューのラベルをすべて削除するには、tables.patch メソッドを呼び出して labels プロパティを削除します。

ビューはテーブルのリソースと同様に扱われるため、tables.patch メソッドを使用してビューとテーブルの両方を変更できます。tables.update メソッドはデータセット リソース全体を置き換えるため、tables.patch メソッドの方が適切です。

Go

このサンプルを試す前に、BigQuery クイックスタート: クライアント ライブラリの使用にある Go 向けの手順に沿って設定を行ってください。詳細については、BigQuery Go API のリファレンス ドキュメントをご覧ください。

// To run this sample, you will need to create (or reuse) a context and
// an instance of the bigquery client.  For example:
// import "cloud.google.com/go/bigquery"
// ctx := context.Background()
// client, err := bigquery.NewClient(ctx, "your-project-id")
tbl := client.Dataset(datasetID).Table(tableID)
meta, err := tbl.Metadata(ctx)
if err != nil {
	return err
}
update := bigquery.TableMetadataToUpdate{}
update.DeleteLabel("color")
if _, err := tbl.Update(ctx, update, meta.ETag); err != nil {
	return err
}

Python

このサンプルを試す前に、BigQuery クイックスタート: クライアント ライブラリの使用にある Python の設定手順に沿って設定を行ってください。詳細については、BigQuery Python API のリファレンス ドキュメントをご覧ください。

# from google.cloud import bigquery
# client = bigquery.Client()
# table_ref = client.dataset('my_dataset').table('my_table')
# table = client.get_table(table_ref)  # API request

# This example table starts with one label
assert table.labels == {"color": "green"}
# To delete a label from a table, set its value to None
table.labels["color"] = None

table = client.update_table(table, ["labels"])  # API request

assert table.labels == {}

ジョブラベルの削除

現在、既存のジョブのラベルを削除することはサポートされていません。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。