Gérer les vues
Ce document explique comment gérer les vues dans BigQuery. La gestion des vues BigQuery repose sur les actions suivantes :
Avant de commencer
Attribuez aux utilisateurs des rôles IAM (Identity and Access Management) incluant les autorisations nécessaires pour effectuer l'ensemble des tâches du présent document. Les autorisations requises pour effectuer une tâche (le cas échéant) sont répertoriées dans la section "Autorisations requises" de la tâche.
Copier des vues
Actuellement, vous ne pouvez copier des vues qu'avec la console.
L'outil de ligne de commande bq
, l'API REST et les bibliothèques clientes ne permettent pas de copier une vue. À la place, vous devez recréer la vue dans l'ensemble de données cible. Pour vous aider à recréer la vue, vous pouvez copier la requête SQL correspondante à l'aide de l'outil de ligne de commande bq
.
Autorisations requises
Pour copier une vue dans la console, vous devez disposer d'autorisations IAM sur les ensembles de données source et de destination.
Vous avez besoin des éléments suivants sur l'ensemble de données source :
bigquery.tables.get
bigquery.tables.getData
(obligatoire pour accéder aux tables référencées par la requête SQL de la vue)
Vous avez besoin des éléments suivants sur l'ensemble de données de destination :
bigquery.tables.create
(vous permet de créer une copie de la vue dans l'ensemble de données de destination)
Chacun des rôles IAM prédéfinis suivants inclut les autorisations dont vous avez besoin pour copier une vue :
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.admin
En outre, si vous disposez de l'autorisation bigquery.datasets.create
, vous pouvez copier des vues dans les ensembles de données que vous créez. Vous devez également accéder à l'ensemble de données de destination, sauf si vous l'avez créé.
Pour en savoir plus sur les rôles et les autorisations IAM dans BigQuery, consultez la page Rôles prédéfinis et autorisations.
Copier une vue
Pour copier une vue, procédez comme suit :
Console
Dans le panneau Explorateur, développez votre projet et votre ensemble de données, puis sélectionnez la vue.
Dans le panneau de détails, cliquez sur Copier une vue.
Dans la boîte de dialogue Copy view (Copier la vue) :
- Dans la section Source, vérifiez que les champs Project name (Nom du projet), Dataset name (Nom de l'ensemble de données) et Table name (Nom de la table) sont corrects.
Dans la section Destination :
- Dans Project name (Nom du projet), choisissez le projet dans lequel vous souhaitez copier la vue.
- Dans Dataset name (Nom de l'ensemble de données), choisissez l'ensemble de données qui contiendra la vue copiée.
- Dans Table name (Nom de la table), saisissez le nom de la vue. Vous pouvez renommer la vue en saisissant un nouveau nom dans le champ de saisie. Si vous décidez de saisir un nouveau nom, celui-ci doit respecter les règles de dénomination des vues.
Cliquez sur Copy (Copier).
bq
L'outil de ligne de commande bq
n'est pas compatible avec la copie d'une vue. À la place, vous devez recréer la vue dans l'ensemble de données cible. Pour vous aider à recréer la vue, vous pouvez copier la requête SQL utilisée pour la définir.
Pour copier la requête SQL qui définit une vue, exécutez la commande bq show
. L'indicateur --format
peut être utilisé pour contrôler la sortie. Si vous souhaitez obtenir des informations sur une vue se trouvant dans un projet autre que celui par défaut, ajoutez l'ID du projet au nom de l'ensemble de données, en respectant le format suivant : project_id:dataset
. Pour écrire les propriétés de la vue dans un fichier, ajoutez > path_to_file
à la commande.
bq show \ --format=prettyjson \ project_id:dataset.view > path_to_file
Où :
- project_id est l'ID de votre projet.
- dataset est le nom de l'ensemble de données.
- view est le nom de la vue.
- path_to_file est le chemin d'accès au fichier de sortie sur votre ordinateur local.
Exemples :
Saisissez la commande suivante pour afficher des informations sur myview
dans mydataset
. mydataset
se trouve dans votre projet par défaut.
bq show --format=prettyjson mydataset.myview
Saisissez la commande suivante pour afficher des informations sur myview
dans mydataset
. mydataset
se trouve dans myotherproject
, et non dans votre projet par défaut.
Les propriétés de la vue sont écrites dans un fichier local : /tmp/myview.json
.
bq show \
--format=prettyjson \
myotherproject:mydataset.myview > /tmp/myview.json
API
L'API REST ne permet pas de copier une vue. À la place, vous devez recréer la vue dans l'ensemble de données cible. Pour en savoir plus sur la création d'une vue à l'aide de l'API REST, consultez la section Créer une vue.
Renommer une vue
Actuellement, vous ne pouvez renommer une vue que si vous la copiez à l'aide de la console. Pour découvrir comment renommer une vue au moment de la copie, reportez-vous à la section Copier une vue.
L'outil de ligne de commande bq
, l'API ou les bibliothèques clientes ne permettent pas de modifier le nom d'une vue existante. À la place, vous devez recréer la vue sous son nouveau nom.
Supprimer des vues
Vous pouvez supprimer une vue à l'aide des méthodes suivantes :
- Utiliser la console
- Exécuter la commande
bq rm
de l'outil de ligne de commandebq
- En appelant la méthode API
tables.delete
Actuellement, quelle que soit la méthode utilisée, vous ne pouvez supprimer qu'une vue à la fois.
Pour supprimer automatiquement des vues après une période donnée, définissez le délai d'expiration par défaut au niveau de l'ensemble de données ou spécifiez le délai d'expiration au moment où vous créez les vues.
Lorsque vous supprimez une vue autorisée, un délai de 24 heures peut être nécessaire pour que la vue supprimée soit supprimée de la liste des vues autorisées de l'ensemble de données source.
Autorisations requises
Pour supprimer une vue, vous avez besoin des autorisations IAM suivantes :
bigquery.tables.delete
bigquery.tables.get
Chacun des rôles IAM prédéfinis suivants inclut les autorisations dont vous avez besoin pour supprimer une vue :
roles/bigquery.dataOwner
roles/bigquery.dataEditor
roles/bigquery.admin
En outre, si vous disposez de l'autorisation bigquery.datasets.create
, vous pouvez supprimer des vues dans les ensembles de données que vous créez.
Pour en savoir plus sur les rôles et les autorisations IAM dans BigQuery, consultez la page Rôles prédéfinis et autorisations.
Supprimer une vue
Pour supprimer une vue :
Console
Dans la console, accédez à la page "BigQuery".
Dans le panneau Explorateur, développez votre projet et votre ensemble de données, puis sélectionnez la vue.
Dans le panneau de détails, cliquez sur Supprimer la vue.
Saisissez
"delete"
dans la boîte de dialogue et cliquez sur Supprimer pour confirmer.
SQL
Utilisez l'instruction DROP VIEW
:
Dans la console, accédez à la page BigQuery.
Dans l'éditeur de requête, saisissez l'instruction suivante :
DROP VIEW mydataset.myview;
Cliquez sur
Exécuter.
Pour en savoir plus sur l'exécution des requêtes, consultez la page Exécuter des requêtes interactives.
bq
Exécutez la commande bq rm
avec l'option --table
(ou le raccourci -t
) pour supprimer une table. Lorsque vous supprimez une vue à l'aide de l'outil de ligne de commande bq
, vous devez confirmer l'action.
Vous pouvez utiliser l'option --force
(ou le raccourci -f
) pour ignorer la confirmation.
Si la vue se trouve dans un ensemble de données d'un projet autre que celui par défaut, ajoutez l'ID du projet au nom de l'ensemble de données, en respectant le format suivant : project_id:dataset
.
bq rm \ -f \ -t \ project_id:dataset.view
Où :
- project_id est l'ID de votre projet.
- dataset est le nom de l'ensemble de données contenant la table.
- view est le nom de la vue que vous supprimez.
Par exemple :
Vous pouvez utiliser l'outil de ligne de commande bq
pour exécuter les commandes bq
.
Dans la console, activez Cloud Shell.
Saisissez la commande suivante pour supprimer myview
de mydataset
. mydataset
se trouve dans votre projet par défaut.
bq rm -t mydataset.myview
Saisissez la commande suivante pour supprimer myview
de mydataset
. mydataset
se trouve dans myotherproject
, et non dans votre projet par défaut.
bq rm -t myotherproject:mydataset.myview
Saisissez la commande suivante pour supprimer myview
de mydataset
. mydataset
se trouve dans votre projet par défaut. La commande utilise le raccourci -f
pour contourner la confirmation.
bq rm -f -t mydataset.myview
API
Appelez la méthode API tables.delete
et spécifiez la vue à supprimer à l'aide du paramètre tableId
.
C#
Avant d'essayer l'exemple ci-dessous, suivez la procédure de configuration pour C# décrite dans le guide de démarrage rapide de BigQuery : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API BigQuery C#.
Go
Avant d'essayer l'exemple ci-dessous, suivez la procédure de configuration pour Go décrite dans le guide de démarrage rapide de BigQuery : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API BigQuery en langage Go.
Java
Avant d'essayer l'exemple ci-dessous, suivez la procédure de configuration pour Java décrite dans le guide de démarrage rapide de BigQuery : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API BigQuery Java.
Node.js
Avant d'essayer l'exemple ci-dessous, suivez la procédure de configuration pour Node.js décrite dans le guide de démarrage rapide de BigQuery : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API BigQuery Node.js.
PHP
Avant d'essayer l'exemple ci-dessous, suivez la procédure de configuration pour PHP dans le guide de démarrage rapide de BigQuery : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API BigQuery PHP.
Python
Avant d'essayer l'exemple ci-dessous, suivez la procédure de configuration pour Python décrite dans le guide de démarrage rapide de BigQuery : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API BigQuery Python.
Ruby
Avant d'essayer l'exemple ci-dessous, suivez la procédure de configuration pour Ruby décrite dans le guide de démarrage rapide de BigQuery : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API BigQuery en langage Ruby.
Afficher la sécurité
Pour savoir comment contrôler l'accès aux vues dans BigQuery, consultez la page Contrôler l'accès aux vues.
Étape suivante
- Pour en savoir plus sur la création de vues, consultez la page Créer des vues.
- Pour en savoir plus sur la création de vues autorisées, consultez la page Créer des vues autorisées.
- Pour savoir comment répertorier les vues, consultez la page Répertorier des vues.
- Pour en savoir plus sur l'obtention de métadonnées de vue, consultez la page Obtenir des informations sur les vues.
- Pour en savoir plus sur la mise à jour de vues, consultez la page Mettre à jour des vues.