Listar snapshots da tabela
Veja neste documento como conseguir uma lista de snapshots de tabelas em um
conjunto de dados do BigQuery no Console do Google Cloud, consultando a tabela
INFORMATION_SCHEMA.TABLE_SNAPSHOTS
,
usando o comando bq ls
ou chamando a API
tables.list
. Ele também explica como listar todos os snapshots de uma
tabela base específica consultando a tabela INFORMATION_SCHEMA.TABLE_SNAPSHOTS
.
Este documento se destina a usuários que já conhecem
tabelas e
snapshots de tabelas do
BigQuery.
Permissões e papéis
Nesta seção, descrevemos as permissões do Identity and Access Management (IAM) necessárias para listar os snapshots da tabela em um conjunto de dados e os papéis predefinidos do IAM que concedem essas permissões. As permissões e os papéis para listar snapshots da tabela são os mesmos que as permissões e os papéis necessários para listar outros tipos de tabelas.
Permissões
Para listar os snapshots da tabela em um conjunto de dados, você precisa da seguinte permissão:
Permissão | Recurso |
---|---|
bigquery.tables.list
|
O conjunto de dados que contém os snapshots 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.dataUser bigquery.dataViewer bigquery.dataEditor bigquery.dataOwner bigquery.admin
|
O conjunto de dados que contém os snapshots da tabela. |
Listar os snapshots da tabela em um conjunto de dados
O recebimento de uma lista de snapshots da tabela em um conjunto de dados é semelhante à listagem de outros
tipos de tabelas. Os snapshots da tabela têm o tipo SNAPSHOT
.
É possível listar os snapshots da tabela usando uma das seguintes opções:
Console
No Console do Google Cloud, acesse a página BigQuery.
No painel Explorer, expanda os nós do projeto e do conjunto de dados com os snapshots de tabela que você quer listar.
É possível identificar os snapshots de tabela no conjunto de dados pelo ícone.
SQL
Consulte a visualização INFORMATION_SCHEMA.TABLE_SNAPSHOTS
.
No Console do Google Cloud, acesse a página BigQuery.
No editor de consultas, digite a seguinte instrução:
SELECT * FROM PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS;
Substitua:
PROJECT_ID
: o ID do projeto que contém os snapshots que você quer listar.DATASET_NAME
: o nome do conjunto de dados que contém os snapshots que você quer listar.
Clique em
Executar.
Para mais informações sobre como executar consultas, acesse Executar uma consulta interativa.
O resultado será semelhante a este:
+---------------+----------------+------------------+--------------------+-------------------+-----------------+-----------------------------+ | table_catalog | table_schema | table_name | base_table_catalog | base_table_schema | base_table_name | snapshot_time | +---------------+----------------+------------------+--------------------+-------------------+-----------------+-----------------------------+ | myproject | mydataset | mysnapshot | basetableproject | basetabledataset | basetable | 2021-04-16 14:05:27.519 UTC | +---------------+----------------+------------------+--------------------+-------------------+-----------------+-----------------------------+
bq
Digite o seguinte comando no Cloud Shell:
bq ls \ PROJECT_ID:DATASET_NAME
Substitua:
PROJECT_ID
: o ID do projeto que contém os snapshots que você quer listar.DATASET_NAME
: o nome do conjunto de dados que contém os snapshots que você quer listar.
A resposta será semelhante a:
+-------------------------+--------+---------------------+-------------------+ | tableId | Type | Labels | Time Partitioning | +-------------------------+--------+---------------------+-------------------+ | mysnapshot |SNAPSHOT| | | +-------------------------+--------+---------------------+-------------------+
API
Chame o método tables.list
com os seguintes parâmetros:
Parâmetro | Valor |
---|---|
projectId |
O ID do projeto que contém os snapshots que você quer listar. |
datasetId |
O nome do conjunto de dados que contém os snapshots que você quer listar. |
Listar os snapshots de uma tabela base especificada
É possível listar os snapshots de uma tabela base especificada consultando a visualização INFORMATION_SCHEMA.TABLE_SNAPSHOTS
:
SELECT * FROM PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS WHERE base_table_name = 'books';
Substitua:
PROJECT_ID
: o ID do projeto que contém os snapshots que você quer listar.DATASET_NAME
: o nome do conjunto de dados que contém os snapshots que você quer listar.
A seguir
- receber informações sobre um snapshot da tabela;
- atualizar a descrição, a data de validade ou a política de acesso de um snapshot da tabela;
- Excluir um snapshot da tabela.