Voir les catégories

Comment exposer un jeu de données BigQuery en tant qu'API REST sécurisée

13 min de lecture

Logo BigQuery BIGQUERY API REST

Transformez une requête BigQuery en une requête sécurisée API REST — pas d'API de tâches, pas de clés de compte de service à distribuer.

Enregistrez une requête SQL sur votre ensemble de données BigQuery, générez une clé API par destinataire et fournissez à un partenaire un point de terminaison JSON opérationnel. Non API des tâches BigQuery Pour interroger, aucun JSON de compte de service à partager, aucun rôle IAM GCP à attribuer — juste un fichier en lecture seule et contrôlé API REST BigQuery en quelques minutes.

Aucun IAM à accorder Clés par destinataire Lecture seule appliquée Rien à déployer

Query Streams est une plateforme d'intégration de bases de données sécurisée et en temps réel qui transforme toute requête BigQuery enregistrée en un point de terminaison d'API REST prêt pour les partenaires, avec des clés par destinataire, une application en lecture seule et une piste d'audit complète. Vous obtenez une vie API REST BigQuery sans configurer l'API des tâches BigQuery, partager une clé de compte de service ou accorder l'IAM GCP. Pour en savoir plus, rendez-vous sur QueryStreams.com. et Inscrivez-vous gratuitement pour publier votre premier point de terminaison BigQuery en quelques minutes.

Pourquoi exposer un jeu de données BigQuery sous forme d'API REST ?

Votre entrepôt de données analytiques est hébergé sur BigQuery, et tôt ou tard, une personne extérieure à votre équipe en aura besoin : un client souhaite afficher ses indicateurs sur un tableau de bord, un fournisseur préfère un flux en temps réel à une exportation planifiée, ou l’application d’un partenaire doit lire un ensemble de résultats structuré. Toutes les options natives ont un coût. L’API REST de BigQuery fonctionne, mais elle implique la création d’un compte de service OAuth2, la soumission de tâches et l’interrogation des résultats, la gestion de la pagination et la gestion des identités et des accès (IAM) de GCP. Accorder à un partenaire l’accès à un projet (ou partager un fichier JSON de compte de service) lui offre une portée bien plus large qu’un simple rapport. API REST BigQuery Conçue pour le partage, la version simplifiée fournit au partenaire une URL et un jeton, et non votre projet Google Cloud. Query Streams, quant à elle, fournit une requête enregistrée et une clé.

Aucun JSON IAM ou de compte de service à partager

Les destinataires ne reçoivent jamais de rôle GCP, d'invitation à un projet ni de fichier de clé de compte de service. L'agent réseau exécute la requête avec vos identifiants en lecture seule ; le partenaire ne détient qu'une clé API.

Clés API par destinataire

Chaque bénéficiaire reçoit le sien qsapi_* clé. Révoquez-en une sans toucher aux autres et sans renouveler les identifiants Google Cloud.

Conçu pour la lecture seule

Un validateur en lecture seule rejette toute instruction autre que SELECT avant qu'elle n'atteigne BigQuery. Il n'y a pas d'erreur accidentelle. MISE À JOUR, FUSIONNER, ou BAISSE chemin à travers l'API.

Vos données SQL restent confidentielles

Le destinataire voit l'URL du point de terminaison, la réponse JSON et les filtres que vous avez exposés — jamais votre code SQL, votre ensemble de données, l'identifiant de votre projet ou la structure de votre table.

Rien à héberger ni à patcher

Aucun client API de tâches, aucune passerelle Cloud Functions, aucun code de rafraîchissement de jeton OAuth. Le point de terminaison s'exécute comme une fonctionnalité gérée ; il n'y a donc aucun pipeline de déploiement à prendre en charge.

Permanent, éphémère ou autodestructeur

Rendez un point de terminaison permanent, programmez son expiration à une date précise ou attribuez-lui un budget d'appels fixe qui s'autodétruit après un nombre défini de requêtes.

Données BigQuery via REST : les méthodes habituelles et leurs inconvénients

Il existe des solutions efficaces pour créer une interface HTTP sur BigQuery. Le hic ? Chacune d’elles vous laisse responsable de l’authentification, de l’infrastructure ou d’une copie des données. Voici comment les approches courantes se comparent à un point de terminaison partagé Query Streams lorsque l’objectif est simplement de permettre à un partenaire spécifique de lire un ensemble de résultats spécifique.

Préoccupation API REST native des tâches BigQuery Passerelle Cloud Function / DIY Flux de requêtes
Ce que le destinataire détient Clé client ou de compte de service OAuth Une URL dans votre fonction Une clé à usage unique pour une seule requête
Surface exposée Toute requête SQL que les identifiants peuvent exécuter Quel que soit le code que vous programmez manuellement Une seule requête enregistrée, rien d'autre.
Authentification que vous avez configurée OAuth2 + rôles IAM + interrogation des tâches Authentification de fonction + compte de service Agent sortant uniquement, rôle en lecture seule
Clés par destinataire + révocation Construisez-le vous-même Construisez-le vous-même Intégré dans
Journal d'audit de chaque appel Via la journalisation dans le cloud, auto-assemblage Ajoutez-le vous-même Intégré dans
Vous gérez / corrigez / faites tourner l'authentification Oui, pour toujours Oui, pour toujours Géré pour vous
Temps jusqu'au premier point final Quelques heures à quelques jours Jours Minutes

Vous recherchez une alternative à l'API BigQuery pour le partage avec vos partenaires ?

L'API REST de BigQuery est l'outil idéal si vous contrôlez l'ensemble du processus et souhaitez un accès programmatique complet à votre projet. En revanche, si vous préférez fournir à un partenaire désigné un ensemble de résultats en lecture seule et contrôlé (avec sa propre clé, un journal d'audit et sans autorisation IAM), Query Streams répond précisément à ce besoin. Les deux solutions peuvent coexister : l'API Jobs pour vos pipelines internes et Query Streams pour le partage sortant.

Comment Query Streams transforme une requête BigQuery en une API REST

Une fois l'agent réseau installé et votre connecteur BigQuery configuré, la promotion d'une requête enregistrée vers un point de terminaison REST partagé se fait en trois étapes environ. Si vous utilisez déjà Query Streams pour Excel, Google Sheets ou le serveur MCP, votre agent et votre connecteur sont déjà en place ; vous passez directement à l'étape deux.

1

Connectez BigQuery via l'agent

Installez l'agent réseau et ajoutez un connecteur BigQuery avec un rôle en lecture seule (par exemple, Visionneuse de données BigQuery plus Utilisateur de posteL'agent établit une connexion TLS sortante vers Query Streams ; aucune information d'identification Google Cloud n'atteint jamais le destinataire.

2

Enregistrer une requête SQL

Écrivez le SELECTIONNER Dans le générateur de requêtes de votre connexion BigQuery, les jointures Google SQL, les CTE, les fonctions de fenêtre et les paramètres sont tous acceptés. Nommez votre requête et enregistrez-la. Tout élément pouvant faire l'objet d'une requête SELECT peut devenir un point de terminaison.

3

Faites-en la promotion et partagez une clé

Ouvrez l'onglet Installation, choisissez le type de point de terminaison (permanent, temporaire ou à budget d'appels) et le format de sortie, puis invitez un destinataire par e-mail. Il recevra un lien magique et son propre qsapi_* clé.

Maintenir la prévisibilité des octets analysés

Chaque point de terminaison exécutant une requête enregistrée, vous contrôlez précisément la quantité de données analysées par BigQuery à chaque appel. Sélectionnez uniquement les colonnes nécessaires au partenaire, filtrez sur les colonnes partitionnées ou regroupées, et le coût en octets analysés reste faible et prévisible. Les limites de débit et les quotas d'octets des flux de requêtes imposent une seconde limite à la fréquence d'exécution d'un point de terminaison.

Aucun projet partagé, aucune clé de compte de service en circulation

Le modèle de sécurité est la raison pour laquelle les équipes privilégient cette solution aux autorisations IAM ou à un fichier JSON de compte de service. Vos identifiants BigQuery sont stockés exclusivement dans le coffre-fort d'identifiants chiffré de l'agent sur votre réseau ; ils ne sont jamais transmis à notre cloud et restent invisibles pour le destinataire. De plus, chaque point de terminaison vous offre des contrôles spécifiques à chaque destinataire, que vous pouvez renforcer avant tout partage.

Agent sortant uniquement

L'agent établit une connexion HTTPS sortante vers agent.querystreams.com Sur le port 443 — aucun port entrant, aucun VPN, aucun tunnel. Comment fonctionne une connexion sortante uniquement ?

Application en lecture seule

Un validateur s'exécute dans l'agent, sur votre réseau, avant qu'une requête n'atteigne BigQuery. Les requêtes autres que SELECT sont rejetées. VIOLATION EN LECTURE SEULE.

Listes blanches IP + CORS

Associer la clé d'un destinataire à des adresses IP ou des plages CIDR spécifiques et restreindre les origines de navigateur autorisées à appeler chaque point de terminaison. Les appels hors liste sont bloqués avant toute exécution de requête SQL.

Limites de débit + quotas d'octets

Des limites de débit à deux niveaux (par clé et par point de terminaison) ainsi qu'une limite mensuelle optionnelle de données permettent de maintenir un destinataire bruyant dans un rayon d'explosion sûr et votre facture de données analysées prévisible.

Appelez votre API REST BigQuery

Les destinataires appellent le point de terminaison comme n'importe quelle autre API REST : un jeton d'authentification et une URL. Tout paramètre de requête enregistré que vous avez exposé peut être défini pour chaque appel, dans la chaîne de requête. OBTENIR ou dans un corps JSON pour POSTEL'agent lie ces valeurs en tant que paramètres de requête appropriés, jamais par concaténation de chaînes, de sorte qu'un destinataire ne peut pas contourner un filtre pour injecter du SQL.

GET avec paramètre de filtre
# Appel du destinataire vers votre point de terminaison BigQuery boucle -H « Autorisation : Porteur qsapi_K7…ZmQ » \ « https://api.querystreams.com/v1/endpoints/events-by-day?country=US&since=2026-01-01 »

Choisissez le format de sortie pour chaque appel avec le Accepter en-tête (ou un ?format= paramètre de requête) : JSON pour un seul tableau, CSV pour les tableurs et pandas, ou, sur un point de terminaison de flux, NDJSON (une ligne JSON par ligne) pour les pipelines d'analyse à la demande — une solution adaptée aux grands ensembles de résultats produits par BigQuery. Pour les consommateurs sensibles à la bande passante, optez pour LZ4 Compression de la charge utile avec Accept-Encoding: lz4; les réponses non compressées reçoivent également une compression standard gzip sur le réseau automatiquement. Pour une description complète des modes statique et de flux, des quatre combinaisons de fils et de la génération OpenAPI 3.1, consultez le API REST instantanée pour les bases de données SQL guide.

Modalités de facturation de la consommation

La plateforme API est incluse dans chaque forfait et utilise le même quota mensuel de données que les autres flux de requêtes. (Les frais de traitement des données de BigQuery s'appliquent comme d'habitude, d'où l'importance d'une requête enregistrée avec une portée limitée.) Comment le quota de données est-il calculé ?

Connectez-le à Power BI, Tableau et à tout logiciel capable de lire du JSON.

Parce que chaque point de terminaison renvoie une norme JSON — avec CSV et NDJSON en streaming à disposition — tout outil capable de lire un flux REST consomme directement vos données BigQuery, sans rien à installer de leur côté et sans SDK Google Cloud requis. Power Query est le pont le plus facile vers la suite Microsoft BI : dans Power BI choisir Récupérer des données → Depuis le Web, collez l'URL du point de terminaison, ajoutez votre Autorisation L'en-tête est analysé par Power Query, qui convertit le JSON en un tableau actualisable alimentant votre modèle de données. (Pour les données en direct dans une feuille de calcul, la méthode native est utilisée.) Module complémentaire Excel Query Streams c'est la voie la plus simple — Power Query est là lorsque vous souhaitez intégrer les données directement dans le modèle Power BI.)

Logo Microsoft Power Query Power Query Récupérer les données → Depuis le Web, collez l'URL et le jeton d'authentification, puis développez le JSON en un tableau actualisable.
Logo Microsoft Power BI Power BI Même moteur Power Query — chargez le point de terminaison directement dans votre modèle et planifiez une actualisation
Logo Tableau Tableau Configurez un connecteur de données Web ou une source JSON pour qu'elle pointe vers le point de terminaison des tableaux de bord en direct.
Logo du facteur Facteur Importez la spécification OpenAPI 3.1, puis envoyez, inspectez et partagez des requêtes en un seul clic.

Il nourrit également n8n, Qlik, boucle, Python (demandes ou pandas.read_json), Insomnia, Hoppscotch — ou tout script ou flux de travail capable d'envoyer une requête HTTP et de lire du JSON.

Fonctionne dans toutes les régions BigQuery

Peu importe la région ou la multirégion où se trouvent vos ensembles de données BigQuery. L'agent se connecte de la même manière, que vos données soient aux États-Unis, dans l'UE ou dans toute autre région. Pour une latence minimale, déployez l'agent dans une région Google Cloud proche de votre ensemble de données ; un compte Query Streams peut exécuter plusieurs agents dans différentes régions et clouds, et un point de terminaison unique se comporte de manière identique quel que soit l'agent qui le gère.

Bien plus que BigQuery

Ce même flux de travail permet de transmettre une requête enregistrée depuis n'importe quelle base de données connectée (PostgreSQL, SQL Server, MySQL, Snowflake, Oracle, DuckDB et autres) à un point de terminaison REST. chaque base de données exposée par la plateforme API →

Questions fréquemment posées

Dois-je accorder l'autorisation IAM ou partager une clé de compte de service ? +
Non. Vous n'attribuez jamais au destinataire un rôle IAM GCP, une invitation à un projet ou un fichier JSON de compte de service. L'agent réseau exécute la requête sur BigQuery avec vos identifiants en lecture seule, et le destinataire ne possède qu'une clé API Query Streams limitée à une seule requête enregistrée. Comment l'agent sortant se connecte →
Le destinataire peut-il voir mes identifiants SQL ou Google Cloud ? +
Jamais. Le destinataire voit l'URL du point de terminaison, le corps de la réponse et les paramètres que vous avez exposés en tant que filtres. Le code SQL reste confiné à Query Streams et vos identifiants BigQuery sont stockés uniquement dans le coffre-fort d'identifiants chiffré de l'agent sur votre réseau ; ils ne sont jamais transmis à notre cloud.
En quoi cela diffère-t-il de l'API REST de BigQuery ? +
L'API REST Jobs de BigQuery offre un accès programmatique complet à votre projet pour le code que vous contrôlez, sécurisé par OAuth2 et IAM. Query Streams adopte une approche différente, plus ciblée, pour le partage sortant : vous exposez une requête enregistrée comme point de terminaison unique, chaque destinataire reçoit sa propre clé révocable, chaque appel est audité et vous n'avez aucune intégration ni maintenance à effectuer. De nombreuses équipes utilisent les deux : l'API Jobs pour leurs pipelines internes et Query Streams pour partager les résultats avec leurs partenaires.
Quels formats de sortie l'API peut-elle renvoyer ? +
JSON, CSV et — sur un point de terminaison de flux continu — NDJSON, qui convient aux grands ensembles de résultats analytiques produits par BigQuery ; les destinataires choisissent à chaque appel. Accepter en-tête ou un ?format= paramètre. Formats de transmission et options de compression →
Cela va-t-il faire grimper ma facture de données analysées par BigQuery ? +
Chaque appel exécute votre requête enregistrée, analysant ainsi les données et étant facturé comme toute autre requête BigQuery. Optimisez les coûts en sélectionnant uniquement les colonnes nécessaires et en filtrant sur les colonnes partitionnées ou regroupées : une requête ciblée analysera ainsi un minimum d'octets. Les limites de débit et les quotas d'octets de Query Streams imposent une limite supplémentaire à la fréquence d'exécution d'un point de terminaison, garantissant ainsi des coûts prévisibles.
Un point de terminaison peut-il expirer ou s'autodétruire ? +
Oui, un point de terminaison peut être permanent, expirer à une date précise ou avoir un budget d'appels fixe, et vous pouvez révoquer instantanément la clé de n'importe quel destinataire sans avoir à renouveler vos identifiants Google Cloud. Durée de vie des points de terminaison et contrôles des clés par destinataire →
Le destinataire a-t-il besoin d'un compte Query Streams ? +
Non — le partage par e-mail envoie une demande de lien magique qui crée automatiquement une organisation de niveau gratuit pour eux, ou vous pouvez émettre une clé de service pour un accès machine à machine sans surveillance. Partage par e-mail versus émission d'une clé de service →

Commencer

Publiez gratuitement votre première API REST BigQuery.

Inscrivez-vous, installez l'agent réseau, connectez BigQuery avec un rôle en lecture seule, enregistrez une requête SQL et envoyez par e-mail au destinataire une revendication de lien magique. Les clés par destinataire, l'application du rôle en lecture seule et un journal d'audit complet sont activés dès le premier appel.

Guides associés : API REST instantanée pour les bases de données SQL | Plateforme API REST de base de données | Exposez Snowflake en tant qu'API REST | Guides d'installation des connecteurs

Catégorie : Plateforme API

Mots-clés : API REST BigQuery, BigQuery, Google BigQuery, API REST, exposer BigQuery en tant qu'API, intégration de l'API BigQuery, partage de données BigQuery, clés par destinataire, API sans code, API REST de base de données

Méta-description : Transformez une requête BigQuery en une API REST sécurisée en lecture seule avec des clés par destinataire — sans API de tâches, sans IAM, sans clés de compte de service.

Updated on 16 juin 2026

Powered by BetterDocs