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 リンクされたデータセットが作成される組織の表示名。

スコープと構文

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

View Name リソース スコープ リージョン スコープ
[PROJECT_ID.]INFORMATION_SCHEMA.SCHEMATA_LINKS プロジェクト レベル US リージョン
[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               |
    +----------------+-------------+----------------------------+------------------------------+--------------------+--------------------------------+