ラベルの表示

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

概要

ラベルを表示するには、次の方法があります。

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

ビューはテーブル リソースと同様に扱われるため、tables.get メソッドを使用して、ビューとテーブルの両方のラベル情報を取得できます。

必要な権限

ラベルの表示に必要な権限は、アクセスするリソースの種類によって異なります。

データセットの権限

データセットに関する情報を取得するには、少なくとも bigquery.datasets.get 権限が付与されている必要があります。bigquery.datasets.get 権限は、事前定義された以下の Cloud IAM の役割に含まれています。

  • bigquery.user
  • bigquery.metadataViewer
  • bigquery.dataViewer
  • bigquery.dataOwner
  • bigquery.dataEditor
  • bigquery.admin

また、bigquery.datasets.create 権限を持つユーザーがデータセットを作成すると、そのデータセットに対する bigquery.dataOwner アクセス権がユーザーに付与されます。bigquery.dataOwner アクセス権により、データセットに関する情報の取得が許可されます。

BigQuery での Cloud IAM の役割と権限については、事前定義された役割と権限をご覧ください。

テーブルとビューの権限

少なくとも、テーブルやビューに関する情報を取得するには、bigquery.tables.get 権限が付与されている必要があります。事前定義されたすべての Cloud IAM の役割には、bigquery.tables.get 権限が含まれます(bigquery.userbigquery.jobUserを除く)。

また、bigquery.datasets.create 権限を持つユーザーがデータセットを作成すると、そのデータセットに対する bigquery.dataOwner アクセス権がユーザーに付与されます。bigquery.dataOwner アクセス権により、ユーザーはデータセットに含まれるテーブルとビューに関する情報を取得できます。

BigQuery での Cloud IAM の役割と権限については、事前定義された役割と権限をご覧ください。

ジョブ権限

ジョブデータとメタデータを取得するユーザーには、少なくとも bigquery.jobs.get 権限が付与されている必要があります。bigquery.jobs.get 権限は、次の事前定義された Cloud IAM の役割に含まれています。

  • bigquery.admin

アカウントに bigquery.admin 役割を付与すると、そのユーザーは誰がジョブを送信したかに関係なく、プロジェクト内のすべてのジョブデータを表示できます。

次の役割には、自己作成ジョブに対する bigquery.jobs.get 権限が付与されます。これらのユーザーは、自分が送信したジョブのジョブデータのみを表示できます。

  • bigquery.user
  • bigquery.jobUser

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

データセット、テーブル、ビューのラベルの表示

リソースのラベルを表示するには、次の手順に従います。

Console

  1. GCP Console で、データセット、テーブル、またはビューを選択します。ジョブラベルは GCP Console では表示できません。

  2. データセットの場合は、データセットの詳細ページが自動的に開きます。テーブルとビューの場合は、[詳細] をクリックして詳細ページを開きます。ラベル情報は、そのリソースの情報テーブルに表示されます。

    テーブルの詳細

従来の UI

  1. ウェブ UI で、データセット、テーブル、またはビューを選択します。ジョブラベルは、従来のウェブ UI では表示できません。

  2. データセットの場合は、[Dataset Details] ページが自動的に開きます。テーブルとビューの場合は、[詳細] をクリックして詳細ページを開きます。ラベル情報は、そのリソースの情報テーブルに表示されます。

CLI

bq show コマンドをリソース ID とともに使用します。--format フラグを使用して出力を制御できます。リソースがデフォルト プロジェクト以外のプロジェクトにある場合は、[PROJECT_ID]:[DATASET] の形式でプロジェクト ID を追加します。出力を読みやすい形式にするには、--format フラグを pretty に設定します。

bq show --format=pretty [RESOURCE_ID]

ここで、[RESOURCE_ID] は、有効なデータセット、テーブル、ビュー、またはジョブ ID です。

例:

デフォルト プロジェクト内の mydataset のラベルを表示するには、次のコマンドを入力します。

bq show --format=pretty mydataset

出力は次のようになります。

+-----------------+--------------------------------------------------------+---------------------+
|  Last modified  |                          ACLs                          |       Labels        |
+-----------------+--------------------------------------------------------+---------------------+
| 11 Jul 19:34:34 | Owners:                                                | department:shipping |
|                 |   projectOwners,                                       |                     |
|                 | Writers:                                               |                     |
|                 |   projectWriters                                       |                     |
|                 | Readers:                                               |                     |
|                 |   projectReaders                                       |                     |
+-----------------+--------------------------------------------------------+---------------------+

次のコマンドを入力して、mydataset.mytable のラベルを表示します。mydataset はデフォルト プロジェクトではなく myotherproject にあります。

bq show --format=pretty myotherproject:mydataset.mytable

クラスタ化されたテーブルの出力は、次のようになります。

+-----------------+------------------------------+------------+-------------+-----------------+------------------------------------------------+------------------+---------+
|  Last modified  |            Schema            | Total Rows | Total Bytes |   Expiration    |               Time Partitioning                | Clustered Fields | Labels  |
+-----------------+------------------------------+------------+-------------+-----------------+------------------------------------------------+------------------+---------+
| 25 Jun 19:28:14 | |- timestamp: timestamp      | 0          | 0           | 25 Jul 19:28:14 | DAY (field: timestamp, expirationMs: 86400000) | customer_id      | org:dev |
|                 | |- customer_id: string       |            |             |                 |                                                |                  |         |
|                 | |- transaction_amount: float |            |             |                 |                                                |                  |         |
+-----------------+------------------------------+------------+-------------+-----------------+------------------------------------------------+------------------+---------+

API

datasets.get または tables.get メソッドを呼び出します。レスポンスには、そのリソースに関連付けられたすべてのラベルが含まれます。

または、datasets.list を使用して複数のデータセットのラベルを表示することも、tables.list を使用して複数のテーブルとビューのラベルを表示することもできます。

ビューはテーブル リソースと同様に扱われるため、tables.get および tables.list メソッドを使用してビューとテーブルの両方のラベル情報を表示できます。

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")
meta, err := client.Dataset(datasetID).Metadata(ctx)
if err != nil {
	return err
}
fmt.Fprintf(w, "Dataset %s labels:\n", datasetID)
if len(meta.Labels) == 0 {
	fmt.Fprintln(w, "Dataset has no labels defined.")
	return nil
}
for k, v := range meta.Labels {
	fmt.Fprintf(w, "\t%s:%s\n", k, v)
}

Python

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

# from google.cloud import bigquery
# client = bigquery.Client()
# dataset_id = 'my_dataset'

dataset_ref = client.dataset(dataset_id)
dataset = client.get_dataset(dataset_ref)  # API request

# View dataset labels
print("Dataset ID: {}".format(dataset_id))
print("Labels:")
if dataset.labels:
    for label, value in dataset.labels.items():
        print("\t{}: {}".format(label, value))
else:
    print("\tDataset has no labels defined.")

ジョブラベルの表示

ジョブが送信されると、ジョブラベルが GCP Console や従来の BigQuery ウェブ UI に表示されなくなります。ジョブのラベルを確認するには、bq show -j [JOB_ID] API またはクライアント ライブラリを使用します。

Console

GCP Console を使用してジョブラベルを表示することはできません。

従来の UI

従来の BigQuery ウェブ UI を使用してジョブラベルを表示することはできません。

CLI

クエリジョブのラベルを表示するには、bq コマンドライン ツールで bq show -j コマンドを実行します。--format フラグを使用して出力を制御できます。たとえば、クエリジョブがジョブ ID bqjob_r1234d57f78901_000023746d4q12_1 を持つ場合、次のコマンドを入力します。

bq show -j --format=pretty bqjob_r1234d57f78901_000023746d4q12_1

出力は次のようになります。

+----------+---------+-----------------+----------+-------------------+-----------------+--------------+----------------------+
| Job Type |  State  |   Start Time    | Duration |    User Email     | Bytes Processed | Bytes Billed |        Labels        |
+----------+---------+-----------------+----------+-------------------+-----------------+--------------+----------------------+
| query    | SUCCESS | 03 Dec 15:00:41 | 0:00:00  | email@example.com | 255             | 10485760     | department:shipping  |
|          |         |                 |          |                   |                 |              | costcenter:logistics |
+----------+---------+-----------------+----------+-------------------+-----------------+--------------+----------------------+

API

jobs.get メソッドを呼び出します。レスポンスには、そのリソースに関連付けられたすべてのラベルが含まれます。

次のステップ

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

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

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