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

  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 cópia instantânea da tabela que quer atualizar.

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

  4. No painel de vista geral apresentado, clique no separador Detalhes e, de seguida, em Editar detalhes.

  5. No campo Descrição, adicione ou atualize a descrição da captura de ecrã da tabela.

  6. Clique em Guardar.

bq

Introduza o seguinte comando no Cloud Shell:

Aceda ao 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

  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 cópia instantânea da tabela que quer atualizar.

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

  4. No painel de vista geral apresentado, clique no separador Detalhes e, de seguida, em Editar detalhes.

  5. No campo Hora de validade, introduza a nova hora de validade da imagem instantânea da tabela.

  6. Clique em Guardar.

bq

Introduza o seguinte comando no Cloud Shell:

Aceda ao 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

  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 cópia instantânea da tabela que quer atualizar.

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

  4. No painel de instantâneo apresentado, clique em Partilhar e, de seguida, em Adicionar principal.

  5. No painel Adicionar responsáveis apresentado, introduza o identificador do responsável ao qual quer conceder acesso à captura instantânea da tabela.

  6. No menu pendente Selecionar uma função, escolha BigQuery e, de seguida, Visualizador de dados do BigQuery.

  7. Clique em Guardar.

bq

Introduza o seguinte comando no Cloud Shell:

Aceda ao 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?