Atualize os metadados do instantâneo da tabela
Este documento descreve como atualizar a descrição, a data de validade ou a política de acesso de uma cópia instantânea de uma tabela através da consola, do comando bq update
ou da API tables.patch
. Google Cloud
Destina-se a utilizadores que conhecem as tabelas e as cópias instantâneas de tabelas no BigQuery.
Autorizações e funções
Esta secção descreve as autorizações de gestão de identidade e de acesso (IAM) de que precisa para atualizar os metadados de uma cópia instantânea de tabela e as funções de IAM predefinidas que concedem essas autorizações.
Autorizações
Para atualizar os metadados de uma captura instantânea de tabela, precisa da seguinte autorização:
Autorização | Recurso |
---|---|
bigquery.tables.update
|
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.dataEditor bigquery.dataOwner biguqery.admin
|
O instantâneo da tabela |
Limitações
Pode atualizar os metadados de uma captura instantânea de tabela, mas não pode atualizar os respetivos dados, porque os dados da captura instantânea de tabela são apenas de leitura. Para atualizar os dados de uma cópia instantânea de uma tabela, tem de restaurar primeiro a cópia instantânea da tabela para uma tabela padrão e, em seguida, atualizar os dados da tabela padrão. Para mais informações, consulte o artigo Restaurar instantâneos de tabelas.
Atualize os metadados de uma captura instantânea de tabela
Pode alterar a descrição, o prazo de validade e as políticas de acesso de uma cópia instantânea de uma tabela da mesma forma que altera os metadados de uma tabela padrão. Alguns exemplos são fornecidos nas secções seguintes.
Atualize a descrição
Pode alterar a descrição de um resumo de tabela através de uma das seguintes opções:
Consola
Na Google Cloud consola, aceda à página BigQuery.
No painel Explorador, expanda os nós do projeto e do conjunto de dados da cópia instantânea da tabela que quer atualizar.
Clique no nome da captura instantânea da tabela.
No painel de vista geral apresentado, clique no separador Detalhes e, de seguida, em Editar detalhes.
No campo Descrição, adicione ou atualize a descrição da captura de ecrã da tabela.
Clique em Guardar.
bq
Introduza o seguinte comando no Cloud Shell:
bq update \ --description="DESCRIPTION" \ PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME
Substitua o seguinte:
DESCRIPTION
: texto que descreve o resumo. Por exemplo,Snapshot after table schema change X.
.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.
API
Chame o método
tables.patch
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. |
Campo description do corpo do pedido |
Texto que descreve a captura de ecrã. Por exemplo, Snapshot after table schema change X . |
Prefira o método tables.patch
ao método tables.update
porque o método tables.update
substitui todo o recurso Table
.
Atualize a validade
Pode alterar a expiração de uma imagem instantânea da tabela através de uma das seguintes opções:
Consola
Na Google Cloud consola, aceda à página BigQuery.
No painel Explorador, expanda os nós do projeto e do conjunto de dados da cópia instantânea da tabela que quer atualizar.
Clique no nome da captura instantânea da tabela.
No painel de vista geral apresentado, clique no separador Detalhes e, de seguida, em Editar detalhes.
No campo Hora de validade, introduza a nova hora de validade da imagem instantânea da tabela.
Clique em Guardar.
bq
Introduza o seguinte comando no Cloud Shell:
bq update \ --expiration=EXPIRATION_TIME \ PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME
Substitua o seguinte:
EXPIRATION_TIME
: o número de segundos desde a hora atual até à hora de validade.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.
API
Chame o método
tables.patch
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. |
Campo expirationTime do corpo do pedido |
A hora em que a captura de ecrã expira, em milissegundos desde a época. |
Prefira o método tables.patch
ao método tables.update
porque o método tables.update
substitui todo o recurso Table
.
Atualize o acesso
Pode conceder a um utilizador acesso à visualização dos dados num resumo da tabela através de uma das seguintes opções:
Consola
Na Google Cloud consola, aceda à página BigQuery.
No painel Explorador, expanda os nós do projeto e do conjunto de dados da cópia instantânea da tabela que quer atualizar.
Clique no nome da captura instantânea da tabela.
No painel de instantâneo apresentado, clique em Partilhar e, de seguida, em Adicionar principal.
No painel Adicionar responsáveis apresentado, introduza o identificador do responsável ao qual quer conceder acesso à captura instantânea da tabela.
No menu pendente Selecionar uma função, escolha BigQuery e, de seguida, Visualizador de dados do BigQuery.
Clique em Guardar.
bq
Introduza 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 o seguinte:
PRINCIPAL
: o principal ao qual quer conceder acesso ao instantâneo da tabela.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.
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 do pedido | { "policy": { "bindings": [ { "members": [ "user:PRINCIPAL" ], "role": "roles/bigquery.dataViewer" } ] } } |
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.PRINCIPAL
: o principal ao qual quer conceder acesso ao instantâneo da tabela.
O que se segue?
- Liste as imagens instantâneas de tabelas num conjunto de dados.
- Veja os metadados de um resumo de uma tabela.
- Elimine um instantâneo de tabela.