このページでは、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.user
と bigquery.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
GCP Console で、データセット、テーブル、またはビューを選択します。ジョブラベルは GCP Console では表示できません。
データセットの場合は、データセットの詳細ページが自動的に開きます。テーブルとビューの場合は、[詳細] をクリックして詳細ページを開きます。ラベル情報は、そのリソースの情報テーブルに表示されます。
従来の UI
ウェブ UI で、データセット、テーブル、またはビューを選択します。ジョブラベルは、従来のウェブ UI では表示できません。
データセットの場合は、[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 のリファレンス ドキュメントをご覧ください。
Python
このサンプルを試す前に、BigQuery クイックスタート: クライアント ライブラリの使用の Python の設定手順を実施してください。 詳細については、BigQuery Python API のリファレンス ドキュメントをご覧ください。
ジョブラベルの表示
ジョブが送信されると、ジョブラベルが 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
メソッドを呼び出します。レスポンスには、そのリソースに関連付けられたすべてのラベルが含まれます。
次のステップ
- BigQuery リソースにラベルを追加する方法を学習する。
- BigQuery リソースでラベルを更新する方法を学習する。
- ラベルを使用してリソースをフィルタする方法を学習する。
- BigQuery リソースでラベルを削除する方法を学習する。
- Resource Manager ドキュメントでラベルの使用について読む。