Configurer votre connexion Google BigQuery

Cet article décrit les étapes de création d’une connexion Google BigQuery.

Types d’authentification pris en charge

Le connecteur Google BigQuery prend en charge les types d’authentification suivants pour la copie et Dataflow Gen2 respectivement.

Type d’authentification Copier Dataflow Gen2
Connexion au compte de service
Compte organisationnel n/a

Configurer votre connexion pour Dataflow Gen2

Vous pouvez connecter Dataflow Gen2 dans Microsoft Fabric à Google BigQuery à l’aide de connecteurs Power Query. Procédez comme suit pour créer votre connexion :

  1. Vérifiez les fonctionnalités, les limitations et les considérations pour vous assurer que votre scénario est pris en charge.
  2. Conditions préalables complètes pour Google BigQuery.
  3. Obtenir des données dans Fabric.
  4. Connectez-vous aux données Google BigQuery.

Capacités

  • Importation
  • DirectQuery (modèles sémantiques Power BI)

Prerequisites

Vous avez besoin d’un compte Google ou d’un compte de service Google pour vous connecter à Google BigQuery.

Obtenir des données

Pour obtenir des données dans Data Factory :

  1. Sur le côté gauche de Data Factory, sélectionnez Espaces de travail.

  2. Dans votre espace de travail Data Factory, sélectionnez Nouveau>Dataflow Gen2 pour créer un flux de données.

    Capture d’écran montrant l’espace de travail dans lequel vous choisissez de créer un flux de données.

  3. Dans Power Query, sélectionnez Obtenir des données dans le ruban ou sélectionnez Obtenir des données à partir d’une autre source dans l’affichage actuel.

    Capture d’écran montrant l’espace de travail Power Query avec l’option Obtenir les données mise en évidence.

  4. Dans la page Choisir une source de données , utilisez La recherche pour rechercher le nom du connecteur ou sélectionnez Afficher plus à droite de la liste des connecteurs pour afficher tous les connecteurs disponibles dans Data Factory.

    Capture d’écran de la page de sélection de la source de données de Data Factory avec la zone de recherche et la sélection mise en évidence.

  5. Si vous choisissez d’afficher d’autres connecteurs, vous pouvez toujours utiliser Recherche pour rechercher le nom du connecteur, ou choisir une catégorie pour afficher une liste de connecteurs associés à cette catégorie.

    Capture d’écran de la page Choisir une source de données dans Data Factory affichée après avoir sélectionné voir plus, avec la liste des connecteurs.

Se connecter aux données Google BigQuery

Pour vous connecter à Google BigQuery à partir de Power Query Online, procédez comme suit :

  1. Sélectionnez l’option Google BigQuery dans l’interface de récupération des données. Chaque appli a sa propre façon d’accéder à l’expérience d’obtention de données de Power Query Online. Pour plus d’informations sur la façon d’accéder à l'expérience de collecte de données de Power Query Online depuis votre application, rendez-vous à Où obtenir des données.

    Screenshot of the Get Data dialog with emphasis on the Google BigQuery connector.Capture d'écran de la boîte de dialogue Obtenir des données avec un accent sur le connecteur Google BigQuery.

  2. Dans la boîte de dialogue Google BigQuery Database, vous devrez peut-être soit créer une nouvelle connexion, soit sélectionner une connexion existante. Sélectionnez un compte d’organisation ou de service pour vous connecter. Si vous utilisez des données locales, sélectionnez une passerelle de données locale. Ensuite, sélectionnez Se connecter.

    Capture d’écran de la boîte de dialogue Se connecter à la source de données où vous vous connectez à Google BigQuery.

  3. Une boîte de dialogue Se connecter avec Google s’affiche. Sélectionnez votre compte Google et approuvez la connexion.

    Note

    Bien que la boîte de dialogue de connexion indique que vous passez à Power BI Desktop une fois que vous vous connectez, vous êtes envoyé à votre application en ligne à la place.

    Capture d’écran de la boîte de dialogue de connexion Google où vous vous connectez à votre compte.

  4. Si vous souhaitez utiliser des options avancées, sélectionnez Options avancées. Informations supplémentaires : Se connecter à l’aide d’options avancées

  5. Une fois connecté, sélectionnez Suivant pour continuer.

    Capture d’écran de la boîte de dialogue Connecter à la source de données avec l’utilisateur correctement connecté.

  6. Lorsque vous êtes connecté, une fenêtre Navigateur apparaît et affiche les données disponibles sur le serveur. Sélectionnez vos données dans le navigateur. Ensuite, sélectionnez Suivant pour transformer les données avec Power Query.

    Capture d’écran du navigateur Power Query qui charge les données Google BigQuery dans l’application en ligne.

Limitations et considérations

Cette section décrit les limitations du connecteur Google BigQuery ou les considérations à prendre en compte le concernant.

Connexion à Google BigQuery dans Power BI Desktop

Il y a quelques limites et considérations à garder à l’esprit lors de l’utilisation du connecteur Google BigQuery avec Power BI.

Disponibilité du connecteur

Le connecteur Google BigQuery est disponible dans Power BI Desktop et dans le service Power BI. Dans le service Power BI, le connecteur est accessible à l’aide de la connexion cloud-à-cloud de Power BI à Google BigQuery.

Erreur « Accès refusé »

Lorsque vous essayez de vous connecter à Google BigQuery à partir de Power BI Desktop, vous pouvez recevoir le message d’erreur suivant :

Datasource.Error: ODBC: ERROR [HY000][Microsoft][BigQuery] (100) Error interacting with REST API: Access Denied: Project <project name>: The user <user name> bigquery.jobs.create permissions in project <project name>.

Dans ce cas, vous devrez peut-être entrer un ID de projet de facturation dans l’option avancée Projet de facturation dans les paramètres de connexion Power Query.

En outre, si vous créez également un rapport dans le service Power BI à l’aide d’une passerelle, vous pouvez toujours obtenir cette erreur. Dans ce cas, vous devez inclure manuellement l’ID de projet de facturation dans le code M de la connexion à l’aide de l’éditeur Power Query ou de la barre de formule Power Query. Par exemple:

Source = GoogleBigQuery.Database([BillingProject="Include-Billing-Project-Id-Here"])

Prise en charge de la connexion pour un seul cloud

Google BigQuery ne prend pas en charge plusieurs connexions cloud, car il manque un champ de paramètres pour configurer plusieurs connexions cloud. Par conséquent, une seule connexion cloud peut être utilisée.

Champs imbriqués

Pour optimiser les considérations relatives aux performances, Google BigQuery fonctionne mieux avec des jeux de données volumineux lorsqu’il est dénormalisé, aplati et imbriqué.

Le connecteur Google BigQuery prend en charge les champs imbriqués, qui sont chargés en tant que colonnes de texte au format JSON.

Capture d’écran du navigateur montrant la prise en charge des champs imbriqués Google BigQuery.

Les utilisateurs doivent sélectionner Transform Data puis utiliser les fonctionnalités d’analyse JSON dans l’éditeur de Power Query pour extraire les données.

  1. Sous l’onglet du ruban Transformations, sous la catégorie Colonne de texte, sélectionnez Analyse, puis JSON.
  2. Extrayez les champs d’enregistrement JSON à l’aide de l’option Développer la colonne.

Configuration d’un compte de service Google

Pour plus d’informations sur la configuration ou l’utilisation de comptes de service Google, accédez à Création et gestion des clés de compte de service dans Google Docs.

La fenêtre Navigateur affiche uniquement les projets et jeux de données pour lesquels l’utilisateur authentifié dispose des autorisations Google Cloud Platform (GCP). Si vous pouvez accéder aux données via des requêtes natives, mais que certains projets ou jeux de données n’apparaissent pas dans le navigateur, vérifiez ce qui suit :

  • Connectez-vous à votre projet de facturation, et non au projet de données, lors de l’établissement de la connexion.
  • L’utilisateur a besoin du rôle Navigateur (ou équivalent) au niveau du projet pour afficher les projets répertoriés dans Le navigateur. Sans ce rôle, le pilote ne peut pas énumérer le projet même si l’utilisateur dispose d’un accès au niveau du jeu de données.
  • Après avoir sélectionné le projet de données, seuls les jeux de données auxquels l’utilisateur a accordé l’accès sont affichés.
  • L’octroi du rôle Visionneuse de métadonnées BigQuery au niveau du jeu de données n’est pas suffisant pour que les projets apparaissent dans le navigateur. Le rôle doit être accordé au niveau du projet, ou le rôle Navigateur au niveau du projet doit être attribué à la place.

Authentification via un compte de service Google

Lorsque vous vous authentifiez via un compte de service Google dans Power BI Desktop, il existe un format d'informations d'identification spécifique requis par le connecteur.

  • Adresse e-mail du compte de service : doit être au format e-mail.
  • Contenu du fichier de clé JSON du compte de service : une fois cette clé JSON téléchargée, toutes les nouvelles lignes doivent être supprimées du fichier afin que le contenu soit en une seule ligne. Une fois le fichier JSON dans ce format, le contenu peut être collé dans ce champ.

Lorsque vous vous authentifiez via un compte de service Google dans le service Power BI ou Power Query Online, les utilisateurs doivent utiliser l’authentification « de base ». Le champ Nom d’utilisateur est mappé au champ E-mail du compte de service, et le champ Mot de passe est mappé au champ Contenu du fichier de clé JSON du compte de service. Les exigences de format pour chaque information d’identification restent identiques pour Power BI Desktop, le service Power BI et Power Query Online.

Authentification impossible avec l’API de stockage Google BigQuery

Le connecteur Google BigQuery utilise l'API de stockage Google BigQuery par défaut. Cette fonctionnalité est contrôlée par l’option avancée appelée UseStorageApi. Vous pouvez rencontrer des problèmes avec cette fonctionnalité si vous utilisez des autorisations granulaires. Dans ce scénario, vous pouvez voir le message d’erreur suivant ou ne pas obtenir les données de votre requête :

ERROR [HY000] [Microsoft][BigQuery] (131) Unable to authenticate with Google BigQuery Storage API. Check your account permissions

Vous pouvez résoudre ce problème en ajustant correctement les autorisations utilisateur pour l’API de stockage BigQuery. Ces autorisations d’API de stockage sont requises pour accéder correctement aux données avec l’API de stockage BigQuery :

  • bigquery.readsessions.create : crée une nouvelle session de lecture via l’API de stockage BigQuery.
  • bigquery.readsessions.getData : lit des données à partir d’une session de lecture via l’API de stockage BigQuery.
  • bigquery.readsessions.update : met à jour une session de lecture via l’API de stockage BigQuery.

Ces autorisations sont généralement fournies dans le rôle BigQuery.User. Pour plus d’informations, accédez à Rôles et autorisations prédéfinis de Google BigQuery.

Si les étapes ci-dessus ne résolvent pas le problème, vous pouvez désactiver l’API de stockage BigQuery.

Impossible d’utiliser les données de type DateTime en mode Direct Query

Il existe un problème connu où le type DateTime n’est pas pris en charge par le biais de Direct Query. La sélection d’une colonne avec le type DateTime provoque une erreur Invalid query ou une erreur visuelle.

Limitations relatives à l’interrogation d’une colonne portant le même nom que le nom de la table

Lorsqu’on interroge une colonne qui a le même nom que la table, BigQuery traite cette colonne comme une struct qui inclut toutes les colonnes de la table plutôt que la colonne spécifiée. Par exemple, SELECT debug FROM dataset.debug renvoie un struct avec toutes les colonnes de la table de débogage, au lieu de la colonne de débogage spécifiée. Ce comportement n’est pas intuitif et un correctif est en cours d’examen. Il y a trois solutions de contournement disponibles :

  • Solution de contournement 1 : encapsulez la table dans une vue qui n’entre pas en conflit avec le nom de colonne – CREATE VIEW dataset.new_view AS SELECT * FROM dataset.debug
  • Solution de contournement 2 : renommez la colonne pour éviter les conflits avec le nom de la table – ALTER TABLE dataset.debug RENAME COLUMN debug to new_debug
  • Solution de contournement 3 : modifiez la requête SELECT pour utiliser table.colonne afin de référencer la colonne en conflit – SELECT debug.debug FROM dataset.debug

Les vues matérialisées ne sont pas prises en charge dans le navigateur Power BI Desktop

Un problème connu est que le connecteur Google BigQuery ne prend actuellement pas en charge les vues matérialisées dans le navigateur Power BI Desktop.

  • Solution de contournement : utilisez des instructions SQL de requête native pour récupérer (fetch) des vues matérialisées à partir de Google BigQuery.

Erreur HTTP 403 : quotaExceeded (Quota dépassé : Votre utilisateur a dépassé le quota de requêtes simultanées project.lists)

  • Le quota est dépassé dans le cadre de l'utilisation par le compte client des appels de l'API project.lists à Google. Lorsque plusieurs rapports sont actualisés simultanément, une erreur peut se produire dans différentes requêtes ou différents rapports. Pour éviter cette erreur, planifiez l'actualisation des rapports à intervalles réguliers.
  • Mettre à jour la requête pour inclure un ID de projet de facturation - GoogleBigQuery.Database([BillingProject="Include-Billing-Project-Id-Here"]).
  • Les appels à GoogleBigQuery.Database doivent se trouver dans la même requête que la définition du schéma et de la table pour éviter l'erreur.

Échec ExecuteQueryInternalAsync lors de l’utilisation d’ADBC

Certains utilisateurs peuvent rencontrer des problèmes lors de la connexion à BigQuery à l’aide du Implementation="2.0" chemin d’accès et recevoir l’erreur Cannot execute <ExecuteQueryInternalAsync>b__2 after 5 tries. Ce problème peut être dû à quelques facteurs :

  • Problème d’autorisation décrit dans la section suivante.
  • Si LargeResultDataset est transmis, le pilote tente de créer le jeu de données de sortie avec le nom fourni. Cette création nécessite les autorisations appropriées pour ce faire.
  • Lorsqu’aucune région n’est spécifiée explicitement lors de la création du jeu de données, l’API BigQuery est définie par défaut sur la multirégion américaine. Ce comportement est piloté par l’API elle-même et non par le connecteur ou la configuration du client.

Options de contournement

Création manuelle d’un jeu de données

Pour éviter les valeurs par défaut de région inattendues, créez manuellement le jeu de données dans votre région souhaitée à l’aide de la console BigQuery.

Configuration du connecteur de bureau

Si vous utilisez Power BI Desktop et que vous rencontrez des erreurs lors de la navigation dans les tables :

  1. Accéder aux options de fichier>et aux paramètres>
  2. Sous Fonctionnalités en préversion, décochez l’option Utiliser la nouvelle implémentation du connecteur Google BigQuery.

Si vous recevez ce message avec des détails supplémentaires qui contiennent Last exception: ..., où ... sont des détails supplémentaires de l’échec, créez un cas pour une enquête plus approfondie.

Problèmes d’autorisation lors de la connexion avec ADBC

Certains environnements peuvent nécessiter des autorisations supplémentaires pour se connecter à l’aide de Implementation="2.0"/ADBC. Cela est dû au fait que le chemin ADBC utilise différentes API BigQuery pour interroger et charger des données que ODBC. Les autorisations requises sont décrites dans le référentiel GitHub du pilote.

Impossible d’actualiser les modèles partitionnés avec ADBC

Un problème connu dans le connecteur Google BigQuery est que les modèles sémantiques partitionnés peuvent ne pas s’actualiser correctement. Cela s’affiche souvent avec l’erreur Cannot execute <ReadChunkWithRetries>b__0 after 5 tries . Un correctif récent a été publié pour ce problème et doit être déployé en octobre 2025. Si vous recevez ce message avec des détails supplémentaires qui contiennent Last exception: ..., où ... sont des détails supplémentaires de l’échec, créez un cas pour une enquête plus approfondie.