Mettre à jour les métadonnées d'un instantané de table
Ce document explique comment mettre à jour la description, la date d'expiration ou les règles d'accès d'un instantané de table à l'aide de Google Cloud Console, de la commande bq update
ou de l'API tables.patch
.
Il est destiné aux utilisateurs familiarisés avec les tables et les instantanés de tables dans BigQuery.
Autorisations et rôles
Cette section décrit les autorisations IAM (Identity and Access Management) dont vous avez besoin pour mettre à jour les métadonnées d'un instantané de table, ainsi que les rôles IAM prédéfinis accordant ces autorisations.
Autorisations
Pour mettre à jour les métadonnées d'un instantané de table, vous devez disposer de l'autorisation suivante :
Autorisation | Ressource |
---|---|
bigquery.tables.update
|
Instantané de table |
Rôles
Les rôles BigQuery prédéfinis qui fournissent l'autorisation requise sont les suivants :
Rôle | Ressource |
---|---|
Au choix :bigquery.dataEditor bigquery.dataOwner biguqery.admin
|
Instantané de table |
Limites
Vous pouvez mettre à jour les métadonnées d'un instantané de table, mais vous ne pouvez pas mettre à jour ses données, car celles-ci sont en lecture seule. Pour mettre à jour les données d'un instantané de table, vous devez d'abord restaurer cet instantané vers une table standard, puis mettre à jour les données de la table standard. Pour en savoir plus, consultez la page Restaurer des instantanés de table.
Mettre à jour les métadonnées d'un instantané de table
Vous pouvez modifier la description, l'expiration et les règles d'accès d'un instantané de table de la même manière que vous modifiez les métadonnées d'une table standard. Certains exemples sont fournis dans les sections suivantes.
Mettre à jour la description
Vous pouvez modifier la description d'un instantané de table en utilisant l'une des options suivantes :
Console
Dans la console Google Cloud, accédez à la page BigQuery.
Dans le volet Explorateur, développez les nœuds de projet et d'ensemble de données de l'instantané de table que vous souhaitez mettre à jour.
Cliquez sur le nom de l'instantané de table.
Dans le volet de l'instantané qui s'affiche, cliquez sur l'onglet Détails, puis sur Modifier les détails.
Dans le champ Description, ajoutez ou mettez à jour la description de l'instantané de table.
Cliquez sur Enregistrer.
bq
Saisissez la commande suivante dans Cloud Shell :
bq update \ --description="DESCRIPTION" \ PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME
Remplacez les éléments suivants :
DESCRIPTION
: texte décrivant l'instantané. Par exemple,Snapshot after table schema change X.
.PROJECT_ID
: ID du projet qui contient l'ensemble de l'instantané.DATASET_NAME
: nom de l'ensemble de données contenant l'instantané.SNAPSHOT_NAME
: nom de l'instantané.
API
Appelez la méthode tables.patch
avec les paramètres suivants :
Paramètre | Valeur |
---|---|
projectId |
ID du projet contenant l'instantané. |
datasetId |
Nom de l'ensemble de données contenant l'instantané. |
tableId |
Nom de l'instantané. |
Champ description du corps de la requête. |
Texte décrivant l'instantané. Par exemple, Snapshot after table schema change X . |
Préférez la méthode tables.patch
à la méthode tables.update
, car la méthode tables.update
remplace l'intégralité de la ressource Table
.
Mettre à jour le délai d'expiration
Vous pouvez modifier le délai d'expiration d'un instantané de table en utilisant l'une des options suivantes :
Console
Dans la console Google Cloud, accédez à la page BigQuery.
Dans le volet Explorateur, développez les nœuds de projet et d'ensemble de données de l'instantané de table que vous souhaitez mettre à jour.
Cliquez sur le nom de l'instantané de table.
Dans le volet de l'instantané qui s'affiche, cliquez sur l'onglet Détails, puis sur Modifier les détails.
Dans le champ Délai d'expiration, saisissez le nouveau délai d'expiration de l'instantané de la table.
Cliquez sur Enregistrer.
bq
Saisissez la commande suivante dans Cloud Shell :
bq update \ --expiration=EXPIRATION_TIME \ PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME
Remplacez les éléments suivants :
EXPIRATION_TIME
: nombre de secondes entre l'heure actuelle et l'heure d'expiration.PROJECT_ID
: ID du projet qui contient l'ensemble de l'instantané.DATASET_NAME
: nom de l'ensemble de données contenant l'instantané.SNAPSHOT_NAME
: nom de l'instantané.
API
Appelez la méthode tables.patch
avec les paramètres suivants :
Paramètre | Valeur |
---|---|
projectId |
ID du projet contenant l'instantané. |
datasetId |
Nom de l'ensemble de données contenant l'instantané. |
tableId |
Nom de l'instantané. |
Champ expirationTime du corps de la requête. |
Heure à laquelle l'instantané expire, en millisecondes depuis l'époque. |
Préférez la méthode tables.patch
à la méthode tables.update
, car la méthode tables.update
remplace l'intégralité de la ressource Table
.
Mettre à jour l'accès
Vous pouvez autoriser un utilisateur à consulter les données d'un instantané de table en utilisant l'une des options suivantes :
Console
Dans la console Google Cloud, accédez à la page BigQuery.
Dans le volet Explorateur, développez les nœuds de projet et d'ensemble de données de l'instantané de table que vous souhaitez mettre à jour.
Cliquez sur le nom de l'instantané de table.
Dans le volet de l'instantané qui s'affiche, cliquez sur Partager, puis sur Ajouter un compte principal.
Dans le volet Ajouter des comptes principaux qui s'affiche, saisissez l'identifiant du compte principal auquel vous souhaitez accorder l'accès à l'instantané de la table.
Dans la liste déroulante Sélectionner un rôle, sélectionnez BigQuery, puis Lecteur de données BigQuery.
Cliquez sur Enregistrer.
bq
Saisissez la commande suivante dans Cloud Shell :
bq add-iam-policy-binding \ --member="user:PRINCIPAL" \ --role="roles/bigquery.dataViewer" \ PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME
Remplacez les éléments suivants :
PRINCIPAL
: compte principal auquel vous souhaitez accorder à l'accès à l'instantané de la table.PROJECT_ID
: ID du projet qui contient l'ensemble de l'instantané.DATASET_NAME
: nom de l'ensemble de données contenant l'instantané.SNAPSHOT_NAME
: nom de l'instantané.
API
Appelez la méthode tables.setIamPolicy
avec les paramètres suivants :
Paramètre | Valeur |
---|---|
Resource |
projects/PROJECT_ID/datasets/DATASET_NAME/tables/SNAPSHOT_NAME |
Corps de la requête | { "policy": { "bindings": [ { "members": [ "user:PRINCIPAL" ], "role": "roles/bigquery.dataViewer" } ] } } |
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet qui contient l'ensemble de l'instantané.DATASET_NAME
: nom de l'ensemble de données contenant l'instantané.SNAPSHOT_NAME
: nom de l'instantané.PRINCIPAL
: compte principal auquel vous souhaitez accorder à l'accès à l'instantané de la table.
Étapes suivantes
- Répertorier les instantanés de table dans un ensemble de données
- Afficher les métadonnées d'un instantané de table
- Supprimer un instantané de table