Filtrer des ressources à l'aide de libellés
Pour filtrer des ressources à l'aide de libellés, vous pouvez effectuer l'une des opérations suivantes :
- Utilisez la barre de recherche de la console Google Cloud.
- créer une spécification de filtre à utiliser avec l'API, l'outil de ligne de commande bq ou les bibliothèques clientes.
Limites
- L'API, l'outil de ligne de commande bq et les bibliothèques clientes ne permettent de filtrer que des ensembles de données.
- Le filtrage des tâches par libellé n'est disponible dans aucun des outils BigQuery.
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.
Autorisations requises
Pour filtrer des ressources à l'aide de libellés, vous devez pouvoir récupérer les métadonnées de ressource. Pour filtrer des ressources à l'aide de libellés, vous devez disposer des autorisations IAM suivantes��:
bigquery.datasets.get
(vous permet de filtrer les ensembles de données)bigquery.tables.get
(vous permet de filtrer des tables et des vues)
Chacun des rôles IAM prédéfinis suivants inclut les autorisations dont vous avez besoin pour filtrer les ensembles de données :
roles/bigquery.user
roles/bigquery.metadataViewer
roles/bigquery.dataViewer
roles/bigquery.dataOwner
roles/bigquery.dataEditor
roles/bigquery.admin
Chacun des rôles IAM prédéfinis suivants inclut les autorisations dont vous avez besoin pour filtrer les tables et les vues :
roles/bigquery.metadataViewer
roles/bigquery.dataViewer
roles/bigquery.dataOwner
roles/bigquery.dataEditor
roles/bigquery.admin
En outre, si vous disposez de l'autorisation bigquery.datasets.create
, vous pouvez filtrer les ressources 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.
Filtrer des ressources dans la console Google Cloud
Pour générer une liste filtrée de ressources, utilisez la console Google Cloud :
Dans la console Google Cloud, accédez au volet Explorateur.
Dans la barre de recherche, saisissez
key
oukey:value
. Les résultats incluent les correspondances partielles.Par exemple, si vous souhaitez n'afficher que les ensembles de données qui possèdent le libellé
department:shipping
, vous pouvez saisirdepartment
oudepartment:shipping
.
Filtrer des ensembles de données dans l'API ou l'outil de ligne de commande bq
Actuellement, l'API, l'outil de ligne de commande bq et les bibliothèques clientes ne permettent de filtrer que des ensembles de données.
Pour filtrer des ensembles de données à l'aide de l'API, de l'outil bq ou des bibliothèques clientes, créez une spécification de filtre et utilisez-la :
- en tant que paramètre de l'option
--filter
dans l'outil bq ; - en tant que valeur de la propriété
filter
dans la méthodedatasets.list
de l'API.
Limites applicables aux spécifications de filtre
Les spécifications de filtre sont soumises aux limites suivantes :
- Le seul opérateur logique compatible est l'opérateur
AND
. Les comparaisons séparées par des espaces sont considérées comme possédant des opérateursAND
implicites. - Le seul champ actuellement disponible pour le filtrage est
labels.key
, oùkey
correspond à un nom de libellé. - Le filtre peut comprendre jusqu'à dix expressions.
- Le filtrage est sensible à la casse.
- Actuellement, l'API, l'outil de ligne de commande bq et les bibliothèques clientes ne permettent de filtrer que des ensembles de données.
Exemples de spécifications de filtre
Une spécification de filtre utilise la syntaxe suivante :
"field[:value][ field[:value]]..."
Remplacez l'élément suivant :
field
est exprimé au formatlabels.key
, où keycorrespond à une clé de libellé.value
est une valeur de libellé facultative.
Les exemples suivants expliquent comment générer des expressions de filtre.
Pour répertorier les ressources qui possèdent le libellé department:shipping
, utilisez la spécification de filtre suivante :
labels.department:shipping
Pour répertorier les ensembles de données qui possèdent plusieurs libellés, séparez les paires key:value
par un espace. L'espace est traité comme un opérateur logique AND
. Par exemple, si vous souhaitez répertorier les ensembles de données qui possèdent les libellés department:shipping
et location:usa
, utilisez la spécification de filtre suivante :
labels.department:shipping labels.location:usa
Plutôt que d'utiliser une paire clé/valeur, vous pouvez créer un filtre ne contenant qu'une clé. La spécification de filtre suivante répertorie tous les ensembles de données possédant le libellé department
, quelle que soit la valeur :
labels.department
Une alternative consiste à utiliser un astérisque pour représenter toutes les valeurs possibles associées à la clé department
:
labels.department:*
Vous pouvez également utiliser des tags dans une spécification de filtre. Par exemple, si vous souhaitez répertorier les ressources qui possèdent le libellé department:shipping
et le tag test_data
, utilisez la spécification de filtre suivante :
labels.department:shipping labels.test_data
Filtrer des ensembles de données dans l'outil de ligne de commande bq et dans l'API
Pour filtrer des ensembles de données à l'aide de l'API, de l'outil de ligne de commande bq ou des bibliothèques clientes :
bq
Exécutez la commande bq ls
avec l'option --filter
. Si vous répertoriez des ensembles de données dans un projet autre que votre projet par défaut, spécifiez l'option --project_id
.
bq ls \ --filter "filter_specification" \ --project_id project_id
Remplacez l'élément suivant :
filter_specification
est une spécification de filtre valide.project_id
est l'ID de votre projet.
Exemples :
Saisissez la commande suivante pour répertorier les ensembles de données de votre projet par défaut qui possèdent le libellé department:shipping
:
bq ls --filter "labels.department:shipping"
Saisissez la commande suivante pour répertorier les ensembles de données de votre projet par défaut qui possèdent le libellé department:shipping
et le tag test_data
.
bq ls --filter "labels.department:shipping labels.test_data"
Saisissez la commande suivante pour répertorier les ensembles de données de myotherproject
qui possèdent le libellé department:shipping
:
bq ls --filter "labels.department:shipping" --project_id myotherproject
Le résultat de chacune de ces commandes ressemble à ce qui suit.
+-----------+ | datasetId | +-----------+ | mydataset | | mydataset2| +-----------+
API
Appelez la méthode API datasets.list
et fournissez la spécification de filtre à l'aide de la propriété filter
.
Go
Avant d'essayer cet exemple, suivez les instructions de configuration pour Go du 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 pour Go.
Pour vous authentifier auprès de BigQuery, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.
Java
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java du 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 pour Java.
Pour vous authentifier auprès de BigQuery, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration pour Node.js du 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 pour Node.js.
Pour vous authentifier auprès de BigQuery, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.
Python
Avant d'essayer cet exemple, suivez les instructions de configuration pour Python du 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 pour Python.
Pour vous authentifier auprès de BigQuery, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.
Étapes suivantes
- Apprenez à ajouter des libellés aux ressources BigQuery.
- Apprenez à afficher des libellés sur des ressources BigQuery.
- Apprenez à mettre à jour des étiquettes sur des ressources BigQuery.
- Apprenez à supprimer des étiquettes sur des ressources BigQuery.
- Consultez la documentation Resource Manager pour savoir comment utiliser des libellés.