Atualizar metadados de snapshot da tabela
Veja neste documento como atualizar a descrição, a data de validade ou
a política de acesso de um snapshot
de tabela usando o Console do Google Cloud, o comando
bq update
ou a API
tables.patch
.
Ele se destina a usuários que já conhecem
tabelas e
snapshots de tabelas no BigQuery.
Permissões e papéis
Esta seção descreve os Permissões de gerenciamento de identidade e acesso (IAM) você precisa atualizar os metadados de um snapshot da tabela e papéis predefinidos do IAM que concedem essas permissões.
Permissões
Para atualizar os metadados de um snapshot de tabela, você precisa da seguinte permissão:
Permissão | Recurso |
---|---|
bigquery.tables.update
|
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.dataEditor bigquery.dataOwner biguqery.admin
|
O snapshot da tabela |
Limitações
É possível atualizar os metadados de um snapshot de tabela, mas não os dados porque os dados de snapshot da tabela são somente leitura. Para atualizar os dados de um snapshot da tabela, restaure o snapshot da tabela para uma tabela padrão e, em seguida, atualize os dados da tabela padrão. Para mais informações, consulte Como restaurar snapshots de tabelas.
Atualizar metadados do snapshot de uma tabela
É possível alterar a descrição, a validade e as políticas de acesso de um snapshot de tabela da mesma forma que os metadados de uma tabela padrão. Veja alguns exemplos nas seções a seguir.
Atualizar a descrição
É possível alterar a descrição de um snapshot 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 do snapshot da tabela que você quer atualizar.
Clique no nome do snapshot da tabela.
No painel de snapshot que aparece, clique na guia Detalhes e em Editar detalhes.
No campo Descrição, adicione ou atualize a descrição do snapshot da tabela.
Clique em Salvar.
bq
Digite o seguinte comando no Cloud Shell:
bq update \ --description="DESCRIPTION" \ PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME
Substitua:
DESCRIPTION
: texto que descreve o snapshot. Por exemplo,Snapshot after table schema change X.
.PROJECT_ID
: o ID do projeto que contém o snapshotDATASET_NAME
: o nome do conjunto de dados que contém o snapshot.SNAPSHOT_NAME
: o nome do snapshot.
API
Chame o método tables.patch
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. |
Campo description do corpo da solicitação |
Texto que descreve o snapshot. Por exemplo, Snapshot after table schema change X . |
Prefira o método tables.patch
ao tables.update
, porque o
método tables.update
substitui todo o recurso Table
.
Atualizar a validade
É possível alterar a expiração de um snapshot 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 do snapshot da tabela que você quer atualizar.
Clique no nome do snapshot da tabela.
No painel de snapshot que aparece, clique na guia Detalhes e em Editar detalhes.
No campo Prazo de validade, insira o novo prazo de validade do snapshot da tabela.
Clique em Salvar.
bq
Digite o seguinte comando no Cloud Shell:
bq update \ --expiration=EXPIRATION_TIME \ PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME
Substitua:
EXPIRATION_TIME
: o número de segundos entre o horário atual e o prazo de validade.PROJECT_ID
: o ID do projeto que contém o snapshotDATASET_NAME
: o nome do conjunto de dados que contém o snapshot.SNAPSHOT_NAME
: o nome do snapshot.
API
Chame o método tables.patch
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. |
Campo expirationTime do corpo da solicitação |
O tempo em que o snapshot expira, em milissegundos desde o período. |
Prefira o método tables.patch
ao tables.update
, porque o
método tables.update
substitui todo o recurso Table
.
Atualizar o acesso
É possível dar a um usuário acesso para visualizar dados em um snapshot 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 do snapshot da tabela que você quer atualizar.
Clique no nome do snapshot da tabela.
No painel de snapshot que aparece, clique em Compartilhar e, em seguida, clique em Adicionar participante.
No painel Adicionar principais exibido, insira o identificador do principal que você quer conceder acesso ao snapshot da tabela.
No menu suspenso Selecionar um papel, escolha BigQuery e depois Leitor de dados do BigQuery.
Clique em Salvar.
bq
Digite o seguinte comando no Cloud Shell:
bq add-iam-policy-binding \ --member="user:PRINCIPAL" \ --role="roles/bigquery.dataViewer" \ PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME
Substitua:
PRINCIPAL
: a principal a que você quer conceder acesso ao snapshot da tabela.PROJECT_ID
: o ID do projeto que contém o snapshotDATASET_NAME
: o nome do conjunto de dados que contém o snapshot.SNAPSHOT_NAME
: o nome do snapshot.
API
Chame o método tables.setIamPolicy
com os seguintes parâmetros:
Parâmetro | Valor |
---|---|
Resource |
projects/PROJECT_ID/datasets/DATASET_NAME/tables/SNAPSHOT_NAME |
Corpo da solicitação | { "policy": { "bindings": [ { "members": [ "user:PRINCIPAL" ], "role": "roles/bigquery.dataViewer" } ] } } |
Substitua:
PROJECT_ID
: o ID do projeto que contém o snapshotDATASET_NAME
: o nome do conjunto de dados que contém o snapshot.SNAPSHOT_NAME
: o nome do snapshot.PRINCIPAL
: a principal a que você quer conceder acesso ao snapshot da tabela.
A seguir
- listar os snapshots da tabela em um conjunto de dados;
- visualizar os metadados de um snapshot da tabela;
- excluir um snapshot da tabela.