Gérer les connexions
Ce document explique comment afficher, répertorier, partager, modifier, supprimer et dépanner une connexion BigQuery.
En tant qu'administrateur BigQuery, vous pouvez créer et gérer des connexions utilisées pour vous connecter à des services et à des sources de données externes. Les analystes BigQuery utilisent ces connexions pour envoyer des requêtes en fonction de sources de données externes sans déplacer ni copier de données dans BigQuery. Vous pouvez créer les types de connexions suivants :
- Connexions Amazon S3
- Connexions Apache Spark
- Connexions Blob Storage
- Connexions aux ressources cloud pour se connecter aux données Cloud Storage et mettre en œuvre des fonctions distantes
- Connexions Spanner
- Connexions Cloud SQL
- Connexions AlloyDB (preview)
Avant de commencer
Assurez-vous d'avoir une connexion fonctionnelle. Les connexions sont spécifiques à un type et dépendent de la source de données externe connectée.
Activez l'API BigQuery Connection.
Assurez-vous de pouvoir afficher la liste des comptes de service de votre projet. BigQuery crée et utilise un compte de service pour se connecter à votre source de données externe. Lorsque vous créez une connexion, un compte de service Cloud IAM (Cloud Identity and Access Management) géré par Google Cloud est créé en votre nom. Pour afficher le compte de service associé à une connexion particulière, affichez les informations sur la connexion.
Rôles requis
Pour obtenir les autorisations nécessaires pour gérer les connexions, demandez à votre administrateur de vous accorder les rôles IAM suivants :
- Afficher les informations sur la connexion : Utilisateur de connexion BigQuery (
roles/bigquery.connectionUser
) sur votre ensemble de données - Lister toutes les connexions : Utilisateur de connexion BigQuery (
roles/bigquery.connectionUser
) sur votre ensemble de données - Partager une connexion : Administrateur de connexion BigQuery (
roles/bigquery.connectionAdmin
) sur votre connexion - Modifier une connexion : Administrateur de connexion BigQuery (
roles/bigquery.connectionAdmin
) sur votre connexion - Supprimer une connexion : Administrateur de connexion BigQuery (
roles/bigquery.connectionAdmin
) sur votre connexion
Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Ces rôles prédéfinis contiennent les autorisations requises pour effectuer les tâches décrites dans ce document. Pour afficher les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
- Afficher les informations sur la connexion :
bigquery.connections.get
- Répertorier toutes les connexions :
bigquery.connections.list
- Modifier et supprimer une connexion :
bigquery.connections.update
- Partager une connexion :
bigquery.connections.setIamPolicy
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Répertorier toutes les connexions
Sélectionnez l'une des options suivantes :
Console
Accédez à la page BigQuery.
Les connexions sont répertoriées dans votre projet, dans un groupe appelé Connexions externes.
Dans le volet Explorer, cliquez sur votre nom de projet > Explorer pour afficher la liste de toutes les connexions.
bq
Saisissez la commande bq ls
, puis spécifiez l'option --connection
. Vous pouvez également spécifier les options --project_id
et --location
pour identifier le projet et l'emplacement des connexions à répertorier.
bq ls --connection --project_id=PROJECT_ID --location=REGION
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet Google CloudREGION
: région de la connexion
API
Utilisez la méthode projects.locations.connections.list
dans la documentation de référence de l'API REST.
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.
Afficher les informations sur la connexion
Une fois que vous avez créé une connexion, vous pouvez obtenir des informations sur sa configuration. Celle-ci inclut les valeurs que vous avez fournies lors de la création du transfert.
Sélectionnez l'une des options suivantes :
Console
Accédez à la page BigQuery.
Les connexions sont répertoriées dans votre projet, dans un groupe appelé Connexions externes.
Dans le volet Explorer, cliquez sur votre nom de projet > Explorer > connexion.
bq
Saisissez la commande bq show
, puis spécifiez l'option --connection
. Qualifiez éventuellement l'ID de connexion avec l'ID de projet et la région de la connexion.
bq show --connection PROJECT_ID.REGION.CONNECTION_ID
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet Google CloudREGION
: région de la connexionCONNECTION_I
: ID de connexion
API
Utilisez la méthode projects.locations.connections.get
dans la documentation de référence de l'API REST.
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.
Partager une connexion avec les utilisateurs
Vous pouvez attribuer les rôles suivants pour permettre aux utilisateurs d'interroger des données et de gérer les connexions :
roles/bigquery.connectionUser
permet aux utilisateurs de se connecter à des sources de données externes et d'y exécuter des requêtes.roles/bigquery.connectionAdmin
permet aux utilisateurs de gérer les connexions.
Pour en savoir plus sur les rôles et les autorisations IAM dans BigQuery, consultez la page Rôles prédéfinis et autorisations.
Sélectionnez l'une des options suivantes :
Console
Accédez à la page BigQuery.
Les connexions sont répertoriées dans votre projet, dans un groupe appelé Connexions externes.
Dans le volet Explorer, cliquez sur votre nom de projet > Explorer > connexion.
Dans le volet Détails, cliquez sur Partager pour partager une connexion. Ensuite, procédez comme suit :
Dans la boîte de dialogue Autorisations de connexion, partagez la connexion avec d'autres comptes principaux en ajoutant ou en modifiant des comptes principaux.
Cliquez sur Enregistrer.
bq
Vous ne pouvez pas partager de connexion avec l'outil de ligne de commande bq. Pour partager une connexion, utilisez la console Google Cloud ou la méthode de l'API BigQuery Connections permettant le partage de connexion.
API
Utilisez la méthode projects.locations.connections.setIAM
dans la section de référence de l'API REST BigQuery Connections et fournissez une instance de la ressource policy
.
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.
Modifier une connexion
Une connexion emploie les identifiants de l'utilisateur qui l'a créée. Si vous devez modifier l'utilisateur associé à une connexion, vous pouvez mettre à jour ses identifiants. C'est utile si l'utilisateur qui a créé la connexion ne fait plus partie de votre organisation.
Vous ne pouvez pas modifier les éléments suivants d'une connexion :
- Type de connexion
- ID de connexion
- Emplacement
Sélectionnez l'une des options suivantes :
Console
Accédez à la page BigQuery.
Les connexions sont répertoriées dans votre projet, dans un groupe appelé Connexions externes.
Dans le volet Explorer, cliquez sur votre nom de projet > Explorer > connexion.
Dans le panneau Détails, cliquez sur
Modifier les détails pour modifier les détails. Ensuite, procédez comme suit :Dans la boîte de dialogue Modifier la connexion, modifiez les détails de la connexion, y compris les identifiants de l'utilisateur.
Cliquez sur Mettre à jour la connexion.
bq
Saisissez la commande bq update
, puis indiquez l'option de connexion --connection
. L'ID connection_id
complet est requis.
bq update --connection --connection_type='CLOUD_SQL' --properties='{"instanceId" : "INSTANCE", "database" : "DATABASE", "type" : "MYSQL" }' --connection_credential='{"username":"USERNAME", "password":"PASSWORD"}' PROJECT.REGION.CONNECTION_ID
Remplacez les éléments suivants :
INSTANCE
: instance Cloud SQLDATABASE
: nom de la base de donnéesUSERNAME
: nom d'utilisateur de votre base de données Cloud SQLPASSWORD
: mot de passe de votre base de données Cloud SQLPROJECT
: ID de projet Google CloudREGION
: région de la connexionCONNECTION_ID
: ID de connexion
Par exemple, la commande suivante met à jour la connexion d'un projet avec l'ID federation-test
et l'ID de connexion test-mysql
.
bq update --connection --connection_type='CLOUD_SQL' --properties='{"instanceId" : "federation-test:us-central1:new-mysql", "database" : "imdb2", "type" : "MYSQL" }' --connection_credential='{"username":"my_username", "password":"my_password"}' federation-test.us.test-mysql
API
Reportez-vous à la méthode projects.locations.connections.patch
de la section de référence de l'API REST et fournissez une instance de la connection
.
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.
Supprimer une connexion
Sélectionnez l'une des options suivantes :
Console
Accédez à la page BigQuery.
Les connexions sont répertoriées dans votre projet, dans un groupe appelé Connexions externes.
Dans le volet Explorer, cliquez sur votre nom de projet > Explorer > connexion.
Dans le volet Détails, cliquez sur
Supprimer pour supprimer la connexion.Dans la boîte de dialogue Delete connection? (Supprimer la connexion ?), saisissez
delete
pour confirmer la suppression.Cliquez sur Supprimer.
bq
Saisissez la commande bq rm
, puis indiquez l'option de connexion --connection
. L'ID connection_id
complet est requis.
bq rm --connection PROJECT_ID.REGION.CONNECTION_ID
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet Google CloudREGION
: région de la connexionCONNECTION_ID
: ID de connexion
API
Reportez-vous à la méthode projects.locations.connections.delete
dans la documentation de référence de l'API REST.
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.
Étapes suivantes
- Découvrez comment utiliser des fonctions distantes.
- Découvrez comment utiliser des procédures stockées pour Apache Spark.