SCHEMATA_LINKS ビュー

INFORMATION_SCHEMA.SCHEMATA_LINKS ビューには、リンクされたデータセットごとに 1 行が表示されます。リンクされたデータセットは、現在のユーザーがアクセスできるプロジェクト内の共有データセットにリンクされます。

必要な権限

INFORMATION_SCHEMA.SCHEMATA_LINKS ビューをクエリするには、プロジェクト レベルで bigquery.datasets.get Identity and Access Management(IAM)権限が必要です。

次の各 IAM 事前定義ロールには、INFORMATION_SCHEMA.SCHEMATA_LINKS ビューのクエリに必要な権限が含まれています。

  • roles/bigquery.admin
  • roles/bigquery.dataEditor
  • roles/bigquery.dataOwner
  • roles/bigquery.dataViewer

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

スキーマ

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

列名 データ型
CATALOG_NAME STRING ソースイメージを含むプロジェクトの名前。
SCHEMA_NAME STRING ソース データセットの名前。このデータセット名は datasetId とも呼ばれます。
LINKED_SCHEMA_CATALOG_NUMBER STRING リンクされたデータセットを含むプロジェクトのプロジェクト番号。
LINKED_SCHEMA_CATALOG_NAME STRING リンクされたデータセットを含むプロジェクトのプロジェクト名。
LINKED_SCHEMA_NAME STRING リンクされたデータセットの名前。このデータセット名は datasetId とも呼ばれます。
LINKED_SCHEMA_CREATION_TIME TIMESTAMP リンクされたデータセットが作成された時刻。
LINKED_SCHEMA_ORG_DISPLAY_NAME STRING リンクされたデータセットが作成される組織の表示名。

スコープと構文

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

ビュー名 リソース スコープ リージョン スコープ
[PROJECT_ID.]INFORMATION_SCHEMA.SCHEMATA_LINKS プロジェクト レベル 米国リージョン
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SCHEMATA_LINKS プロジェクト レベル REGION
次のように置き換えます。

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

このセクションでは、INFORMATION_SCHEMA.SCHEMATA_LINKS ビューに対してクエリを実行する例を示します。

例: 別のプロジェクトに対してリンクされたデータセットをすべて一覧表示する

次の例では、eu リージョンにある otherproject という名前の別のプロジェクトに対してリンクされたデータセットをすべて一覧表示します。

SELECT * FROM `otherproject`.`region-eu`.INFORMATION_SCHEMA.SCHEMATA_LINKS;

出力は次のようになります。出力を簡素化するために、一部の列は省略されています。

+----------------+-------------+----------------------------+------------------------------+--------------------+--------------------------------+
|  catalog_name  | schema_name | linked_schema_catalog_name | linked_schema_catalog_number | linked_schema_name | linked_schema_org_display_name |
+----------------+-------------+----------------------------+------------------------------+--------------------+--------------------------------+
| otherproject   | myschema1   | subscriptionproject1       |                 974999999291 | subscriptionld1    | subscriptionorg2               |
| otherproject   | myschema2   | subscriptionproject2       |                 974999999292 | subscriptionld2    | subscriptionorg2               |
| otherproject   | myschema3   | subscriptionproject3       |                 974999999293 | subscriptionld3    | subscriptionorg3               |
+----------------+-------------+----------------------------+------------------------------+--------------------+--------------------------------+

例: 共有データセットごとにすべてのリンクされたデータセットを一覧表示する

次の例では、US マルチリージョンにある sharedataset という名前の共有データセットで、すべてのリンクされているデータセットを一覧表示します。

SELECT * FROM INFORMATION_SCHEMA.SCHEMATA_LINKS WHERE schema_name = 'sharedataset';

出力は次のようになります。出力を簡素化するために、一部の列は省略されています。

+----------------+-------------+----------------------------+------------------------------+--------------------+--------------------------------+
|  catalog_name  | schema_name | linked_schema_catalog_name | linked_schema_catalog_number | linked_schema_name | linked_schema_org_display_name |
+----------------+-------------+----------------------------+------------------------------+--------------------+--------------------------------+
| myproject      | sharedataset| subscriptionproject1       |                 674999999291 | subscriptionld1    | subscriptionorg1               |
| myproject      | sharedataset| subscriptionproject2       |                 774999999292 | subscriptionld2    | subscriptionorg3               |
+----------------+-------------+----------------------------+------------------------------+--------------------+--------------------------------+