Veja os metadados do resumo da tabela

Este documento descreve como ver os metadados de uma cópia instantânea de uma tabela do BigQuery na consola, consultando a vista TABLE_SNAPSHOTS da tabela INFORMATION_SCHEMA, usando o comando bq show ou chamando a API tables.get. Google Cloud Destina-se a utilizadores que conhecem as tabelas do BigQuery e as cópias instantâneas de tabelas.

Autorizações e funções

Esta secção descreve a autorização de gestão de identidade e acesso (IAM) de que precisa para ver os metadados de uma cópia instantânea de uma tabela e as funções de IAM predefinidas que concedem essas autorizações.

Autorizações

Para ver os metadados de um resumo de uma tabela, precisa da seguinte autorização:

Autorização Recurso
bigquery.tables.get O instantâneo da tabela

Funções

As funções predefinidas do BigQuery que concedem a autorização necessária são as seguintes:

Role Recurso
Qualquer uma das seguintes opções:

bigquery.metadataViewer
bigquery.dataViewer
bigquery.dataEditor
bigquery.dataOwner
bigquery.admin
O instantâneo da tabela

Obtenha os metadados de uma captura instantânea de uma tabela

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

  • Um campo baseTableReference adicional identifica a tabela base a partir da qual foi tirada a captura de ecrã.
  • O campo type tem o valor SNAPSHOT.

Pode ver os metadados de um resumo da tabela através de uma das seguintes opções:

Consola

  1. Na Google Cloud consola, aceda à página BigQuery.

    Aceda ao BigQuery

  2. No painel Explorador, expanda os nós do projeto e do conjunto de dados da imagem instantânea da tabela que quer analisar.

  3. Clique no nome da captura instantânea da tabela.

  4. No painel de vista geral apresentado, pode fazer o seguinte:

    • Clique no separador Esquema para ver o esquema da captura de ecrã da tabela e as etiquetas de políticas.

    • Clique na tabela Detalhes para ver o tamanho da imagem instantânea da tabela, a data de validade, a tabela base, a hora da imagem instantânea e outras informações.

SQL

Para ver os metadados de uma cópia instantânea de uma tabela, consulte a vista INFORMATION_SCHEMA.TABLE_SNAPSHOTS:

  1. Na Google Cloud consola, aceda à página BigQuery.

    Aceda ao BigQuery

  2. No editor de consultas, introduza a seguinte declaração:

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

    Substitua o seguinte:

    • PROJECT_ID: o ID do projeto do projeto que contém a captura de ecrã.
    • DATASET_NAME: o nome do conjunto de dados que contém a imagem instantânea.
    • SNAPSHOT_NAME: o nome do resumo.

  3. Clique em Executar.

Para mais informações sobre como executar consultas, consulte o artigo Execute uma consulta interativa.

bq

Introduza o seguinte comando no Cloud Shell:

Aceda ao Cloud Shell

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

Substitua o seguinte:

  • PROJECT_ID: o ID do projeto do projeto que contém a captura de ecrã.
  • DATASET_NAME: o nome do conjunto de dados que contém a imagem instantânea.
  • SNAPSHOT_NAME: o nome do resumo.

O resultado é semelhante ao seguinte:

{
  "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 instantâneo.
datasetId O nome do conjunto de dados que contém o instantâneo.
tableId O nome do instantâneo.

O corpo da resposta é semelhante ao seguinte:

{
  "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"
  }
}

O que se segue?