ラベルの更新
このページでは、BigQuery リソースのラベルを更新する方法について説明します。
始める前に
このドキュメントの各タスクを実行するために必要な権限をユーザーに与える Identity and Access Management(IAM)のロールを付与します。タスクの実行に必要な権限(存在する場合)は、タスクの「必要な権限」セクションに記載されています。
データセット ラベルの更新
データセット ラベルは、次の方法で更新できます。
- Google Cloud コンソールを使用する
- SQL DDL ステートメントの使用
- bq コマンドライン ツールの
bq update
コマンドの使用 datasets.patch
API メソッドを呼び出す- クライアント ライブラリを使用する
必要な権限
データセット ラベルを更新するには、bigquery.datasets.update
IAM 権限が必要です。
次の IAM 事前定義ロールには、データセット ラベルを更新するために必要な権限が含まれています。
roles/bigquery.dataOwner
roles/bigquery.admin
また、bigquery.datasets.create
権限がある場合は、作成したデータセットのラベルを更新できます。
BigQuery での IAM のロールと権限については、事前定義ロールと権限をご覧ください。
データセット ラベルの更新
データセットのラベルを更新するには、次のいずれかを選択します。
コンソール
Google Cloud コンソールで、データセットを選択します。
データセットの詳細ページで、[ラベル] の右にある鉛筆アイコンをクリックします。
[ラベルの編集] ダイアログで、次の操作を行います。
- 追加のラベルを適用するには、[ラベルを追加] をクリックします。各キーはデータセットごとに 1 度しか使用できませんが、同じキーが同じプロジェクト内の複数のデータセットで使用できます。
- ラベルを更新するには、既存のキーまたは値を変更します。
- [更新] をクリックして、変更を保存します。
SQL
既存のデータセットのラベルを設定するには、ALTER SCHEMA SET OPTIONS
DDL ステートメントを使用します。ラベルを設定すると、データセット内の既存のラベルが上書きされます。次の例では、データセット mydataset
に単一のラベルを設定しています。
Google Cloud コンソールで [BigQuery] ページに移動します。
クエリエディタで次のステートメントを入力します。
ALTER SCHEMA mydataset SET OPTIONS (labels = [('sensitivity', 'high')]);
[
実行] をクリックします。
クエリの実行方法については、インタラクティブ クエリを実行するをご覧ください。
bq
データセット ラベルを追加または更新するには、set_label
フラグを指定して bq update
コマンドを発行します。複数のラベルを追加または更新するには、このフラグを繰り返し指定します。
データセットがデフォルト プロジェクト以外のプロジェクトにある場合は、[PROJECT_ID]:[DATASET]
の形式でプロジェクト ID をデータセットに追加します。
bq update \ --set_label key:value \ project_id:dataset
ここで
- key:value は、追加または更新するラベルの Key-Value ペアに対応します。既存のラベルと同じキーを指定した場合は、その既存ラベルの値が更新されます。キーは一意でなければなりません。
- project_id はプロジェクト ID です。
- dataset は更新するデータセットです。
例:
mydataset
の department
ラベルを更新するには、bq update
コマンドを入力し、ラベルキーとして department
を指定します。たとえば、department:shipping
ラベルを department:logistics
に更新するには、次のコマンドを入力します。mydataset
はデフォルト プロジェクトではなく myotherproject
にあります。
bq update \
--set_label department:logistics \
myotherproject:mydataset
出力は次のようになります。
Dataset 'myotherproject:mydataset' successfully updated.
API
既存のデータセットのラベルを追加または更新するには、datasets.patch
メソッドを呼び出して、データセット リソースの labels
プロパティを追加または更新します。
datasets.update
メソッドはデータセット リソース全体を置き換えるため、datasets.patch
メソッドの方が適切です。
Go
このサンプルを試す前に、クライアント ライブラリを使用した BigQuery クイックスタートにある Go の設定手順を完了してください。詳細については、BigQuery Go API のリファレンス ドキュメントをご覧ください。
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Java
このサンプルは、Java 用の Google HTTP クライアント ライブラリを使用してリクエストを BigQuery API に送信します。
このサンプルを試す前に、クライアント ライブラリを使用した BigQuery クイックスタートにある Java の設定手順を完了してください。詳細については、BigQuery Java API のリファレンス ドキュメントをご覧ください。
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Node.js
このサンプルを試す前に、クライアント ライブラリを使用した BigQuery クイックスタートにある Node.js の設定手順を完了してください。詳細については、BigQuery Node.js API のリファレンス ドキュメントをご覧ください。
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Python
このサンプルを試す前に、クライアント ライブラリを使用した BigQuery クイックスタートにある Python の設定手順を完了してください。詳細については、BigQuery Python API のリファレンス ドキュメントをご覧ください。
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
テーブルとビューのラベルの更新
テーブルやビューを作成した後にラベルを更新するには、次の方法を使用できます。
- Google Cloud コンソールを使用する
- bq コマンドライン ツールの
bq update
コマンドを使用する tables.patch
API メソッドを呼び出す- ビューはテーブル リソースと同様に扱われるため、
tables.patch
メソッドを使用してビューとテーブルの両方を変更できます。
- ビューはテーブル リソースと同様に扱われるため、
- クライアント ライブラリを使用する
必要な権限
テーブルまたはビューのラベルを更新するには、bigquery.tables.update
IAM 権限が必要です。
次の IAM 事前定義ロールには、それぞれテーブルまたはビューのラベルを更新するために必要な権限が含まれています。
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.admin
また、bigquery.datasets.create
権限がある場合は、作成したデータセット内のテーブルとビューのラベルを更新できます。
BigQuery での IAM のロールと権限については、事前定義ロールと権限をご覧ください。
テーブルまたはビューのラベルの更新
テーブルまたはビューのラベルを更新するには:
コンソール
Google Cloud コンソールで、テーブルまたはビューを選択します。
[詳細] タブをクリックしてから、[ラベル] の右側にある鉛筆アイコンをクリックします。
[ラベルの編集] ダイアログで、次の操作を行います。
- 追加のラベルを適用するには、[ラベルを追加] をクリックします。各キーは 1 つのテーブルまたはビューにつき 1 回だけ使用できますが、同じキーを別のデータセットのテーブルやビューでも使用できます。
- ラベルを更新するには、既存のキーまたは値を変更します。
- [更新] をクリックして、変更を保存します。
SQL
既存のテーブルにラベルを設定するには、ALTER TABLE SET OPTIONS
DDL ステートメント、または既存のビューのラベルを設定するには、ALTER VIEW SET OPTIONS
DDL ステートメントを使用します。ラベルを設定すると、テーブルまたはビューの既存のラベルが上書きされます。次の例では、テーブル mytable
に 2 つのラベルを設定しています。
Google Cloud コンソールで [BigQuery] ページに移動します。
クエリエディタで次のステートメントを入力します。
ALTER TABLE mydataset.mytable SET OPTIONS ( labels = [('department', 'shipping'), ('cost_center', 'logistics')]);
[
実行] をクリックします。
クエリの実行方法については、インタラクティブ クエリを実行するをご覧ください。
bq
テーブルまたはビューのラベルを追加または更新するには、set_label
フラグを指定して bq
update
コマンドを発行します。複数のラベルを追加または更新するには、このフラグを繰り返し指定します。
テーブルまたはビューがデフォルト プロジェクト以外のプロジェクトにある場合は、project_id:dataset
の形式でプロジェクト ID をデータセットに追加します。
bq update \ --set_label key:value \ project_id:dataset.table_or_view
ここで
- key:value は、追加または更新するラベルの Key-Value ペアに対応します。既存のラベルと同じキーを指定した場合は、その既存ラベルの値が更新されます。キーは一意でなければなりません。
- project_id はプロジェクト ID です。
- dataset は、更新するテーブルまたはビューが含まれるデータセットです。
- table_or_view は、更新するテーブルまたはビューの名前です。
例:
mytable
の department
ラベルを更新するには、bq update
コマンドを入力し、ラベルキーとして department
を指定します。たとえば、mytable
の department:shipping
ラベルを department:logistics
に更新するには、次のコマンドを入力します。mytable
はデフォルト プロジェクトではなく myotherproject
にあります。
bq update \
--set_label department:logistics \
myotherproject:mydataset.mytable
出力は次のようになります。
Table 'myotherproject:mydataset.mytable' successfully updated.
API
既存のテーブルまたはビューのラベルを追加または更新するには、tables.patch
メソッドを呼び出して、テーブル リソースの labels
プロパティを追加または更新します。
ビューはテーブル リソースと同様に扱われるため、tables.patch
メソッドを使用してビューとテーブルの両方を変更できます。
tables.update
メソッドはデータセット リソース全体を置き換えるため、tables.patch
メソッドの方が適切です。
Go
このサンプルを試す前に、クライアント ライブラリを使用した BigQuery クイックスタートにある Go の設定手順を完了してください。詳細については、BigQuery Go API のリファレンス ドキュメントをご覧ください。
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Java
このサンプルは、Java 用の Google HTTP クライアント ライブラリを使用してリクエストを BigQuery API に送信します。
このサンプルを試す前に、クライアント ライブラリを使用した BigQuery クイックスタートにある Java の設定手順を完了してください。詳細については、BigQuery Java API のリファレンス ドキュメントをご覧ください。
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Node.js
このサンプルを試す前に、クライアント ライブラリを使用した BigQuery クイックスタートにある Node.js の設定手順を完了してください。詳細については、BigQuery Node.js API のリファレンス ドキュメントをご覧ください。
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Python
このサンプルを試す前に、クライアント ライブラリを使用した BigQuery クイックスタートにある Python の設定手順を完了してください。詳細については、BigQuery Python API のリファレンス ドキュメントをご覧ください。
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
ジョブラベルの更新
現在、ジョブラベルの更新はサポートされていません。ジョブのラベルを更新するには、新しいラベルを指定してジョブを再送信してください。
ラベルをタグに変換する
値が空のキーを持つラベルはタグとして使用されます。新しいラベルを値なしで作成したり、既存のラベルをデータセット、表、ビューのタグに変換したりできます。ジョブラベルをタグに変換することはできません。
リソースにラベルを付ける場合で key:value
の形式が必要ない場合に、タグを利用できます。たとえば、あるテーブルに格納されているテストデータを複数のグループ(サポート、開発など)で使用する場合に、test_data
タグをテーブルに追加してそのことを示します。
必要な権限
ラベルをタグに変換するには、次の IAM 権限が必要です。
bigquery.datasets.update
(データセット ラベルを変換)bigquery.tables.update
(テーブルまたはビューラベルを変換)
次の IAM 事前定義ロールには、データセット ラベルを変換するために必要な権限が含まれています。
roles/bigquery.dataOwner
roles/bigquery.admin
次の IAM 事前定義ロールには、それぞれテーブルまたはビューのラベルを変換するために必要な権限が含まれています。
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.admin
また、bigquery.datasets.create
権限がある場合は、作成したデータセットのラベルと、それらのデータセット内のテーブルとビューを更新できます。
BigQuery での IAM のロールと権限については、事前定義ロールと権限をご覧ください。
タグへのラベルの変換
ラベルをタグに変換するには:
コンソール
Google Cloud コンソールで、データセット、テーブル、またはビューを選択します。
データセットの場合は、データセットの詳細ページが自動的に開きます。テーブルとビューの場合は、[詳細] をクリックして詳細ページを開きます。
詳細ページで、[ラベル] の右にある鉛筆アイコンをクリックします。
[ラベルの編集] ダイアログで、次の操作を行います。
- 既存のラベルの値を削除します。
- [更新] をクリックします。
bq
ラベルをタグに変換するには、bq update
コマンドに set_label
フラグを指定します。キーを指定して、後ろにコロンを付けますが、値は指定しません。これにより、既存のラベルがタグに更新されます。
bq update \ --set_label key: \ resource_id
ここで
- key: はタグに更新するラベルキーです。
- resource_id は、有効なデータセット、テーブル、またはビューの名前です。リソースがデフォルト プロジェクト以外のプロジェクトにある場合は、
project_id:dataset
の形式でプロジェクト ID を追加します。
例:
次のコマンドを入力して、mydataset
の既存の test_data:development
ラベルをタグに変更します。mydataset
はデフォルト プロジェクトではなく myotherproject
にあります。
bq update --set_label test_data: myotherproject:mydataset
出力は次のようになります。
Dataset 'myotherproject:mydataset' successfully updated.
API
既存のラベルをタグに変換するには、datasets.patch
メソッドまたは tables.patch
メソッドを呼び出し、データセット リソースまたはテーブル リソース内のラベル値を空の文字列(""
)に置き換えます。
ビューはテーブル リソースと同様に扱われるため、tables.patch
メソッドを使用してビューとテーブルの両方を変更できます。また、tables.update
メソッドはデータセット リソース全体を置き換えるため、tables.patch
メソッドを使用します。
次のステップ
- BigQuery リソースにラベルを追加する方法を学習する。
- BigQuery リソースでラベルを表示する方法を学習する。
- ラベルを使用してリソースをフィルタする方法を学習する。
- BigQuery リソースでラベルを削除する方法を学習する。
- Resource Manager ドキュメントでラベルの使用について読む。