Visualização do SCHEMATA_OPTIONS

A visualização INFORMATION_SCHEMA.SCHEMATA_OPTIONS contém uma linha para cada opção definida em cada conjunto de dados em um projeto.

Antes de começar

Para consultar a visualização SCHEMATA_OPTIONS de metadados do conjunto de dados, você precisa da permissão bigquery.datasets.get Identity and Access Management (IAM) no nível do projeto.

Cada um dos seguintes papéis de IAM predefinidos inclui as permissões necessárias para acessar a visualização de SCHEMATA_OPTIONS:

  • 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

Os resultados das consultas na visualização INFORMATION_SCHEMA.SCHEMATA_OPTIONS contêm uma linha para cada opção definida em cada conjunto de dados de um projeto.

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

Nome da coluna Tipo de dados Valor
CATALOG_NAME STRING Nome do projeto que contém o conjunto de dados
SCHEMA_NAME STRING O nome do conjunto de dados, também conhecido como datasetId.
OPTION_NAME STRING O nome da opção. Para ver uma lista das opções compatíveis, consulte a lista de opções de esquema.

A opção storage_billing_model só aparece para conjuntos de dados atualizados após 1º de dezembro de 2022. Para conjuntos de dados que foram atualizados pela última vez antes dessa data, o modelo de faturamento do armazenamento é LOGICAL.

OPTION_TYPE STRING O tipo de dados da opção
OPTION_VALUE STRING O valor da opção

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:

Mostrar nome Escopo do recurso Escopo da região
[PROJECT_ID.]INFORMATION_SCHEMA.SCHEMATA_OPTIONS Nível do projeto Região dos EUA
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS 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`.

  • Exemplo

    -- Returns metadata for datasets in a region.
    SELECT * FROM region-us.INFORMATION_SCHEMA.SCHEMATA_OPTIONS;
    

    Exemplos

    Recuperar o prazo de validade padrão da tabela de todos os conjuntos de dados no projeto

    Para executar a consulta em um projeto diferente do projeto padrão, adicione o código do projeto ao conjunto de dados no seguinte formato:

    `PROJECT_ID`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS
    por exemplo, `myproject`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS.

    SELECT
      *
    FROM
      INFORMATION_SCHEMA.SCHEMATA_OPTIONS
    WHERE
      option_name = 'default_table_expiration_days';

    O resultado será semelhante ao seguinte:

      +----------------+---------------+-------------------------------+-------------+---------------------+
      |  catalog_name  |  schema_name  |          option_name          | option_type |    option_value     |
      +----------------+---------------+-------------------------------+-------------+---------------------+
      | myproject      | mydataset3    | default_table_expiration_days | FLOAT64     | 0.08333333333333333 |
      | myproject      | mydataset2    | default_table_expiration_days | FLOAT64     | 90.0                |
      | myproject      | mydataset1    | default_table_expiration_days | FLOAT64     | 30.0                |
      +----------------+---------------+-------------------------------+-------------+---------------------+
      

    Recuperar rótulos para todos os conjuntos de dados no projeto

    Para executar a consulta em um projeto diferente do projeto padrão, adicione o código do projeto ao conjunto de dados no seguinte formato:

    `PROJECT_ID`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS
    ; exemplo, `myproject`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS.

    SELECT
      *
    FROM
      INFORMATION_SCHEMA.SCHEMATA_OPTIONS
    WHERE
      option_name = 'labels';

    O resultado será semelhante ao seguinte:

      +----------------+---------------+-------------+---------------------------------+------------------------+
      |  catalog_name  |  schema_name  | option_name |          option_type            |      option_value      |
      +----------------+---------------+-------------+---------------------------------+------------------------+
      | myproject      | mydataset1    | labels      | ARRAY<STRUCT<STRING, STRING>>   | [STRUCT("org", "dev")] |
      | myproject      | mydataset2    | labels      | ARRAY<STRUCT<STRING, STRING>>   | [STRUCT("org", "dev")] |
      +----------------+---------------+-------------+---------------------------------+------------------------+