Ver metadados do snapshot da tabela

Veja neste documento como visualizar os metadados de um snapshot de tabela do BigQuery no Console do Google Cloud consultando a visualização TABLE_SNAPSHOTS da tabela INFORMATION_SCHEMA, usando o comando bq show ou chamando a API tables.get. Ele se destina a usuários que já conhecem tabelas e snapshots de tabelas do BigQuery.

Permissões e papéis

Nesta seção, descrevemos a permissão de gerenciamento de identidade e acesso (IAM, na sigla em inglês) necessária para visualizar os metadados de um snapshot da tabela e os papéis predefinidos do IAM que concedem essas permissões.

Permissões

Para visualizar os metadados de um snapshot da tabela, você precisa da seguinte permissão:

Permissão Recurso
bigquery.tables.get O snapshot da tabela

Papéis

Os papéis predefinidos do BigQuery que fornecem a permissão necessária são os seguintes:

Papel Recurso
Qualquer um dos seguintes:

bigquery.metadataViewer
bigquery.dataViewer
bigquery.dataEditor
bigquery.dataOwner
bigquery.admin
O snapshot da tabela

Receber os metadados de um snapshot de tabela

Os metadados de um snapshot de tabela são semelhantes aos de uma tabela padrão, com as seguintes diferenças:

  • Um outro campo baseTableReference identifica a tabela base de origem do snapshot.
  • O campo type tem o valor SNAPSHOT.

É possível visualizar os metadados de um snapshot da tabela usando uma das seguintes opções:

Console

  1. No Console do Google Cloud, acesse a página BigQuery.

    Ir para o BigQuery

  2. No painel Explorer, expanda os nós do projeto e do conjunto de dados do snapshot da tabela que você quer ver.

  3. Clique no nome do snapshot da tabela.

  4. No painel de snapshot exibido, faça o seguinte:

    • Clique na guia Esquema para visualizar as tags de esquema e de políticas do snapshot da tabela.

    • Clique na tabela Detalhes para ver o tamanho, a validade, a tabela base, o horário do snapshot e outras informações do snapshot da tabela.

SQL

Para ver os metadados de um snapshot da tabela, consulte a visualização INFORMATION_SCHEMA.TABLE_SNAPSHOTS:

  1. No Console do Google Cloud, acesse a página BigQuery.

    Ir para o BigQuery

  2. No editor de consultas, digite a seguinte instrução:

    SELECT
      *
    FROM
      PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS
    WHERE
      table_name = 'SNAPSHOT_NAME';
    

    Substitua:

    • PROJECT_ID: o ID do projeto que contém o snapshot
    • DATASET_NAME: o nome do conjunto de dados que contém o snapshot.
    • SNAPSHOT_NAME: o nome do snapshot.

  3. Clique em Executar.

Para mais informações sobre como executar consultas, acesse Executar uma consulta interativa.

bq

Digite o seguinte comando no Cloud Shell:

Acesse o Cloud Shell

bq show \
--format=prettyjson \
PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME

Substitua:

  • PROJECT_ID: o ID do projeto que contém o snapshot
  • DATASET_NAME: o nome do conjunto de dados que contém o snapshot.
  • SNAPSHOT_NAME: o nome do snapshot.

O resultado será assim:

{
  "creationTime": "1593194331936",
   ...
  "snapshotDefinition": {
    "baseTableReference": {
      "datasetId": "myDataset",
      "projectId": "myProject",
      "tableId": "mytable"
    },
    "snapshotTime": "2020-06-26T17:58:50.815Z"
  },
  "tableReference": {
    "datasetId": "otherDataset",
    "projectId": "myProject",
    "tableId": "mySnapshot"
  },
  "type": "SNAPSHOT"
}

API

Chame o método tables.get com os seguintes parâmetros:

Parâmetro Valor
projectId O ID do projeto que contém o snapshot.
datasetId O nome do conjunto de dados que contém o snapshot.
tableId O nome do snapshot.

O corpo da resposta é semelhante a:

{
  "kind": "bigquery#table",
  "etag": "...",
  "id": "myProject:myDataset.mySnapshot",
  "selfLink": "https://content-bigquery.googleapis.com/bigquery/v2/projects/myProject/datasets/myDataset/tables/mySnapshot",
  "tableReference": {
    "projectId": "myProject",
    "datasetId": "myDataset",
    "tableId": "mySnapshot"
  },
  "description": "...",
  "schema": {
    "fields": [
      ...
    ]
  },
  "numBytes": "637931",
  "numLongTermBytes": "0",
  "numRows": "33266",
  "creationTime": "1593194331936",
  "lastModifiedTime": "1593194331936",
  "type": "SNAPSHOT",
  "location": "US",
  "snapshotDefinition": {
    "baseTableReference": {
      "projectId": "myProject",
      "datasetId": "otherDataset",
      "tableId": "myTable"
    },
    "snapshotTime": "2020-06-26T17:58:50.815Z"
  }
}

A seguir