Visualização do SCHEMATA_LINKS

A visualização INFORMATION_SCHEMA.SCHEMATA_LINKS contém uma linha para cada conjunto de dados vinculado. Um conjunto de dados vinculado é vinculado a um conjunto de dados compartilhado em um projeto que o usuário atual tem acesso.

Permissão necessária

Para consultar a visualização INFORMATION_SCHEMA.SCHEMATA_LINKS, é necessário ter a permissão bigquery.datasets.get do Identity and Access Management (IAM) no nível do projeto.

Cada um dos seguintes papéis predefinidos do IAM inclui as permissões necessárias para consultar a visualização INFORMATION_SCHEMA.SCHEMATA_LINKS:

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

Para mais informações sobre as permissões do BigQuery, consulte Controle de acesso com o IAM.

Esquema

A visualização INFORMATION_SCHEMA.SCHEMATA_LINKS tem o seguinte esquema:

Nome da coluna Tipo de dados Valor
CATALOG_NAME STRING O nome do projeto que contém o conjunto de dados de origem.
SCHEMA_NAME STRING O nome do conjunto de dados de origem. O nome do conjunto de dados também é conhecido como datasetId.
LINKED_SCHEMA_CATALOG_NUMBER STRING O número do projeto que contém o conjunto de dados vinculado.
LINKED_SCHEMA_CATALOG_NAME STRING O nome do projeto que contém o conjunto de dados vinculado.
LINKED_SCHEMA_NAME STRING Nome do conjunto de dados vinculado. O nome do conjunto de dados também é conhecido como datasetId.
LINKED_SCHEMA_CREATION_TIME TIMESTAMP A hora em que o conjunto de dados vinculado foi criado.
LINKED_SCHEMA_ORG_DISPLAY_NAME STRING É o nome de exibição da organização em que o conjunto de dados vinculado é criado.

Escopo e sintaxe

As consultas nessa visualização precisam incluir um qualificador de região. Se você não especificar um qualificador regional, os metadados serão recuperados da região dos EUA. A tabela a seguir explica o escopo da região dessa visualização:

Acessar nome Escopo do recurso Escopo da região
[PROJECT_ID.]INFORMATION_SCHEMA.SCHEMATA_LINKS Nível do projeto Região dos EUA
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SCHEMATA_LINKS Nível do projeto REGION
Substitua:

  • Opcional: PROJECT_ID: o ID do seu projeto do Google Cloud. Se não for especificado, o projeto padrão será usado.
+ REGION: qualquer nome da região do conjunto de dados. Por exemplo, region-us.

Exemplos

Esta seção lista exemplos para consultar a visualização INFORMATION_SCHEMA.SCHEMATA_LINKS.

Exemplo: listar todos os conjuntos de dados vinculados em outro projeto

No exemplo a seguir, listamos todos os conjuntos de dados vinculados em outro projeto chamado otherproject na região eu:

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

A resposta será semelhante a esta: Algumas colunas são omitidas para simplificar a saída.

+----------------+-------------+----------------------------+------------------------------+--------------------+--------------------------------+
|  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               |
+----------------+-------------+----------------------------+------------------------------+--------------------+--------------------------------+

Exemplo: listar todos os conjuntos de dados vinculados por um conjunto de dados compartilhado

No exemplo a seguir, listamos todos os conjuntos de dados vinculados por um conjunto de dados compartilhado chamado sharedataset na multirregião US:

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

A resposta será semelhante a esta: Algumas colunas são omitidas para simplificar a saída.

+----------------+-------------+----------------------------+------------------------------+--------------------+--------------------------------+
|  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               |
+----------------+-------------+----------------------------+------------------------------+--------------------+--------------------------------+