ASSIGNMENTS ビュー

INFORMATION_SCHEMA.ASSIGNMENTS ビューには、管理プロジェクト内の現在のすべての割り当てリストが含まれます。各行は、現在の 1 つの割り当てを表します。現在の割り当ては、保留中またはアクティブであり、削除されていません。予約の詳細については、予約の概要をご覧ください。

必要な権限

INFORMATION_SCHEMA.ASSIGNMENTS ビューをクエリするには、プロジェクトの bigquery.reservationAssignments.list Identity and Access Management(IAM)権限が必要です。次に示す事前定義された各 IAM ロールには、必要な権限が含まれています。

  • roles/bigquery.resourceAdmin
  • roles/bigquery.resourceEditor
  • roles/bigquery.resourceViewer
  • roles/bigquery.user
  • roles/bigquery.admin

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

スキーマ

INFORMATION_SCHEMA.ASSIGNMENTS ビューのスキーマは次のとおりです。

列名 データ型
ddl STRING この割り当ての作成に使用される DDL ステートメント。
project_id STRING 管理プロジェクトの ID。
project_number INTEGER 管理プロジェクトの番号。
assignment_id STRING 割り当てを一意に識別する ID。
reservation_name STRING 割り当てが使用する予約の名前。
job_type STRING 予約に使用できるジョブの種類。PIPELINE または QUERY のいずれかです。
assignee_id STRING 割り当て先リソースを一意に識別する ID。
assignee_number INTEGER 割り当て先リソースを一意に識別する番号。
assignee_type STRING 割り当て先リソースの種類。organizationfolderproject のいずれかです。

スコープと構文

このビューに対するクエリでは、リージョン修飾子を指定する必要があります。リージョン修飾子を指定しない場合、メタデータはすべてのリージョンで取得されます。次の表で、このビューのリージョン スコープを説明します。

ビュー名 リソース スコープ リージョン スコープ
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.ASSIGNMENTS[_BY_PROJECT]
プロジェクト レベル REGION
以下を置き換えます。

  • 省略可: PROJECT_ID: Cloud プロジェクトの ID。指定しない場合は、デフォルトのプロジェクトが使用されます。
  • REGION: 任意のデータセット リージョン名。 例: region-us

デフォルト プロジェクト以外のプロジェクトに対してクエリを実行するには、次の形式でプロジェクト ID を追加します。

`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.ASSIGNMENTS
.

次のように置き換えます。

  • PROJECT_ID: 予約を割り当てたプロジェクトの ID。
  • REGION_NAME: リージョンの名前。

例: `myproject`.`region-us`.INFORMATION_SCHEMA.ASSIGNMENTS

次の例では、プロジェクトに現在割り当てられている予約とそのスロット容量を取得します。この情報は、プロジェクトのスロットの使用状況をそのプロジェクトに割り当てられている予約の容量と比較して、ジョブのパフォーマンスをデバッグする場合に役立ちます。

SELECT
  reservation.reservation_name,
  reservation.slot_capacity
FROM
  `RESERVATION_ADMIN_PROJECT.region-REGION_NAME`.
  INFORMATION_SCHEMA.ASSIGNMENTS_BY_PROJECT assignment
INNER JOIN
  `RESERVATION_ADMIN_PROJECT.region-REGION_NAME`.
  INFORMATION_SCHEMA.RESERVATIONS_BY_PROJECT AS reservation
ON
  (assignment.reservation_name = reservation.reservation_name)
WHERE
   assignment.assignee_id = "PROJECT_ID"
  AND job_type = "QUERY";