Aller au contenu principal

Connecter BigQuery

Axiome se connecte à BigQuery avec un compte de service Google Cloud.

Ce dont vous avez besoin

  • L'ID du projet GCP qui héberge vos données.
  • L'ID du dataset à analyser.
  • Une clé JSON de compte de service avec accès en lecture à ce dataset.

Créer un compte de service (dans Google Cloud)

  1. Dans la console Google Cloud, créez un compte de service dédié à Axiome (par exemple axiome-reader).
  2. Donnez-lui un accès BigQuery en lecture seule — typiquement le rôle BigQuery Data Viewer sur le dataset (ou le projet) et BigQuery Job User sur le projet pour pouvoir exécuter des requêtes.
  3. Créez une clé JSON pour ce compte de service et téléchargez-la.
Moindre privilège

Limitez le rôle Data Viewer au dataset concerné plutôt qu'au projet entier quand c'est possible. Axiome n'écrit jamais dans BigQuery.

Ajouter la connexion dans Axiome

  1. Allez dans Paramètres → Administration → Connexions → Ajouter une connexion et choisissez BigQuery.
  2. Renseignez l'ID du projet et l'ID du dataset.
  3. Fournissez la clé du compte de service : Téléverser un fichier JSON, ou collez le JSON directement.
  4. Cliquez sur Tester la connexion, puis Enregistrer.

La clé est stockée dans Google Cloud Secret Manager et utilisée uniquement côté serveur.

La fenêtre Ajouter une connexion réglée sur BigQuery, avec l'ID du projet, l'ID du dataset et le téléversement du JSON de compte de service.

Colonnes imbriquées et répétées

Les datasets BigQuery contiennent souvent des colonnes STRUCT imbriquées et des ARRAY répétés. Axiome les comprend :

  • Les champs de struct imbriqués apparaissent comme des champs normaux dans les éditeurs.
  • Les tableaux de structs peuvent être aplatis en modèles virtuels : chaque élément du tableau devient une ligne que vous pouvez grouper, filtrer et joindre à son parent. Voir Modèles virtuels.

Dépannage

SymptômeCause probable
Le test échoue avec une erreur de permissionIl manque Data Viewer sur le dataset ou Job User sur le projet
Le test échoue avec « JSON invalide »Le fichier collé/téléversé n'est pas une clé de compte de service valide
Des tables manquent dans les modèles sémantiquesElles sont dans un autre dataset que celui configuré