Categorieën bekijken

Hoe een BigQuery-dataset als een beveiligde REST-API beschikbaar te stellen

Leestijd: 13 minuten

BigQuery-logo GROTE QUERY REST API

Zet een BigQuery-query om in een beveiligde query REST API — geen API voor vacatures, geen serviceaccount-sleutels om uit te delen.

Sla een SQL-query op voor je BigQuery-dataset, genereer een API-sleutel per ontvanger en geef een partner een live JSON-eindpunt. Nee BigQuery jobs API Om te peilen, geen service-account JSON om te delen, geen GCP IAM-rollen om toe te kennen — gewoon een beheerde, alleen-lezen omgeving. BigQuery REST API binnen enkele minuten.

Geen IAM om toe te kennen Sleutels per ontvanger Alleen-lezen afgedwongen Niets om te implementeren

Query Streams is een veilig, realtime platform voor database-integratie dat elke opgeslagen BigQuery-query omzet in een partnerklare REST API-endpoint, met sleutels per ontvanger, alleen-lezen-bescherming en een volledig auditspoor. Je krijgt een live BigQuery REST API zonder de BigQuery jobs API te koppelen, een service-accountsleutel te delen of GCP IAM-toegang te verlenen. Meer informatie vindt u op QueryStreams.com en gratis aanmelden Om binnen enkele minuten uw eerste BigQuery-eindpunt te publiceren.

Waarom zou je een BigQuery-dataset als REST API beschikbaar stellen?

Je datawarehouse voor analyses bevindt zich in BigQuery, en uiteindelijk heeft iemand buiten je team er toegang toe nodig — een klant wil zijn statistieken in een dashboard, een leverancier wil een live feed in plaats van een geplande export, of de app van een partner moet een overzichtelijke resultatenset kunnen lezen. De native opties kosten allemaal geld. De eigen REST API van BigQuery werkt wel, maar vereist een OAuth2-serviceaccount, het indienen van taken en het opvragen van resultaten, het afhandelen van paginering en het beheren van GCP IAM. Door een partner toegang te geven tot een project (of een JSON-bestand van een serviceaccount te delen) krijg je veel meer mogelijkheden dan met één rapport. BigQuery REST API De versie die speciaal is ontworpen voor delen, is de schone versie: de partner krijgt een URL en een token, niet je Google Cloud-project. Query Streams maakt er een opgeslagen query plus een sleutel van.

Geen IAM- of serviceaccount-JSON om te delen

Ontvangers krijgen nooit een GCP-rol, een projectuitnodiging of een serviceaccount-sleutelbestand. De netwerkagent voert de query uit met uw eigen alleen-lezen-referenties; de partner beschikt alleen over een API-sleutel.

API-sleutels per ontvanger

Elke ontvanger krijgt zijn eigen exemplaar. qsapi_* sleutel. Trek er één in zonder de andere aan te raken en zonder Google Cloud-referenties te wijzigen.

Alleen-lezen, dat is de bedoeling

Een alleen-lezen validator verwerpt elke niet-SELECT-instructie voordat deze BigQuery bereikt. Er is geen sprake van onbedoelde UPDATE, SAMENVOEGEN, of DRUPPEL pad via de API.

Uw SQL-gegevens blijven privé.

De ontvanger ziet de endpoint-URL, het JSON-antwoord en eventuele filters die je hebt ingesteld, maar nooit je SQL-query, je dataset, je project-ID of je tabelstructuur.

Niets te hosten of te patchen.

Geen jobs-API-client, geen Cloud Function-gateway, geen OAuth-tokenvernieuwingscode. Het eindpunt draait als een beheerde functie, dus er is geen implementatiepipeline die beheerd hoeft te worden.

Permanent, verlopend of zelfvernietigend

Maak een eindpunt permanent, stel een vervaldatum in of geef het een vast oproepbudget dat zichzelf na een bepaald aantal verzoeken vernietigt.

BigQuery-data via REST: de gebruikelijke methoden en waarom ze problemen opleveren.

Er zijn wel degelijk manieren om een HTTP-interface aan BigQuery toe te voegen, en die werken prima. Het nadeel is echter dat je bij al deze methoden zelf verantwoordelijk bent voor de authenticatie, de infrastructuur of een tweede kopie van de data. Hieronder een vergelijking van de gangbare benaderingen met een gedeeld Query Streams-eindpunt, waarbij het doel simpelweg is om een specifieke partner toegang te geven tot een specifieke resultatenset.

Zorg BigQuery jobs REST API (native) Cloud Function / DIY-gateway Query-stromen
Wat de ontvanger vasthoudt OAuth-client- of serviceaccountsleutel Een URL in je functie Een sleutel met één specifiek doel voor één zoekopdracht.
Blootgesteld oppervlak Elke SQL-query die de inloggegevens kunnen uitvoeren Wat je ook handmatig codeert Eén opgeslagen zoekopdracht, verder niets.
Authenticatie die je hebt ingesteld OAuth2 + IAM-rollen + polling van taken Functie-authenticatie + serviceaccount Agent alleen voor uitgaande berichten, rol alleen-lezen
Sleutels per ontvanger + intrekken Bouw het zelf Bouw het zelf Gebouwd in
Auditlogboek van elk gesprek Zelfassemblage via cloudlogging Voeg het zelf toe Gebouwd in
Je voert beheer/patcht/roteert de authenticatie Ja, voor altijd. Ja, voor altijd. Voor u beheerd.
Tijd tot het eerste eindpunt Uren tot dagen Dagen Notulen

Zoekt u een alternatief voor de BigQuery API voor het delen van gegevens met partners?

De REST API van BigQuery is de juiste tool wanneer u beide kanten beheert en volledige programmatische toegang tot uw project wilt. Als u daarentegen een specifieke partner een beheerde, alleen-lezen resultatenset wilt geven – met een eigen sleutel, een auditlogboek en zonder dat u IAM-rechten hoeft te verlenen – dan vult Query Streams precies die leemte op. De twee kunnen naast elkaar bestaan: de jobs API voor uw eigen pipelines en Query Streams voor het delen van resultaten naar buiten.

Hoe Query Streams een BigQuery-query omzet in een REST API

Nadat de Network Agent is geïnstalleerd en uw BigQuery-connector is geconfigureerd, duurt het ongeveer drie stappen om een opgeslagen query te promoveren naar een gedeeld REST-eindpunt. Als u al gebruikmaakt van Query Streams voor Excel, Google Sheets of de MCP Server, zijn uw Agent en connector al aanwezig — u begint dan bij stap twee.

1

Verbind BigQuery via de agent.

Installeer de netwerkagent en voeg een BigQuery-connector toe met een alleen-lezen rol (zoals BigQuery-gegevensviewer plus WerkgebruikerDe agent maakt een uitgaande TLS-verbinding met Query Streams; er worden geen Google Cloud-referenties naar de ontvanger verzonden.

2

Een SQL-query opslaan

Schrijf de SELECT In de Query Builder, gekoppeld aan uw BigQuery-verbinding, kunt u GoogleSQL JOINs, CTE's, windowfuncties en parameters gebruiken. Geef de query een naam en sla deze op. Alles wat u kunt selecteren, kan een eindpunt worden.

3

Promoot het en deel een sleutel

Open het tabblad Installeren, kies het eindpunttype (permanent, verlopend of belbudget) en het uitvoerformaat, en nodig vervolgens een ontvanger uit via e-mail. Diegene ontvangt een magic-link claim en zijn/haar eigen qsapi_* sleutel.

Zorg ervoor dat de gescande bytes voorspelbaar blijven.

Omdat elk eindpunt één opgeslagen query uitvoert, bepaalt u precies hoeveel gegevens BigQuery per aanroep scant. Selecteer alleen de kolommen die de partner nodig heeft, filter op gepartitioneerde of geclusterde kolommen, en de kosten in bytes blijven laag en voorspelbaar. De snelheidslimieten en bytequota van Query Streams voegen een tweede limiet toe aan hoe vaak een eindpunt een query kan uitvoeren.

Geen gedeeld project, geen service-accountsleutels in het wild.

Het beveiligingsmodel is de reden waarom teams hiervoor kiezen in plaats van IAM-rechten of een service-account JSON. Uw BigQuery-referenties worden alleen bewaard in de versleutelde referentieopslag van de agent op uw netwerk; ze worden nooit naar onze cloud verzonden en zijn nooit zichtbaar voor een ontvanger. Bovendien biedt elk eindpunt u per ontvanger controleopties die u kunt aanscherpen voordat u gegevens deelt.

Agent die alleen uitgaande gesprekken voert

De agent maakt één uitgaande HTTPS-verbinding met agent.querystreams.com Op poort 443 — geen inkomende poorten, geen VPN, geen tunnel. Hoe werkt een verbinding die alleen uitgaand verkeer toelaat? →

Alleen-lezen handhaving

Voordat een statement BigQuery bereikt, wordt er in de agent, op uw netwerk, een validator uitgevoerd. Statements die geen SELECT-statement zijn, worden afgewezen. ALLEEN-LEZEN_SCHENDING.

IP- en CORS-toegangslijsten

Koppel de sleutel van een ontvanger aan specifieke IP-adressen of CIDR-bereiken en beperk welke browsers elk eindpunt mogen aanroepen. Aanroepen van niet-vermelde bronnen worden geweigerd voordat er SQL-query's worden uitgevoerd.

Snelheidslimieten + bytequota

Tweeledige snelheidslimieten (per sleutel en per eindpunt) plus een optionele maandelijkse byte-limiet zorgen ervoor dat een luidruchtige ontvanger binnen een veilige straal blijft en uw factuur voor gescande bytes voorspelbaar is.

Roep uw BigQuery REST API aan

Ontvangers roepen het eindpunt aan zoals elke andere REST API: met een bearer-token en een URL. Elke opgeslagen queryparameter die u beschikbaar hebt gesteld, kan per aanroep worden ingesteld — in de querystring voor KRIJGEN of in een JSON-body voor NADe agent bindt deze waarden als correcte queryparameters, nooit als stringconcatenatie, zodat een ontvanger niet uit een filter kan breken om SQL te injecteren.

GET met een filterparameter
# Ontvanger roept uw BigQuery-gebaseerde eindpunt aan krul -H “Autorisatie: Drager qsapi_K7…ZmQ” \ “https://api.querystreams.com/v1/endpoints/events-by-day?country=US&since=2026-01-01”

Selecteer het uitvoerformaat per aanroep met de Accepteren koptekst (of een ?format= queryparameter): JSON voor één enkele array, CSV voor spreadsheets en pandas, of op een streaming-eindpunt, NDJSON (één JSON-rij per regel) voor pipelines die tijdens het parsen werken — een goede oplossing voor de grote resultaten die BigQuery produceert. Voor bandbreedtegevoelige gebruikers is er de mogelijkheid om te kiezen voor LZ4 laadvermogencompressie met Accept-Encoding: lz4; niet-gecomprimeerde reacties krijgen ook standaard gzip automatisch via de kabel. Voor een volledige uitleg van statische versus streaming-modi, de vier kabelcombinaties en de OpenAPI 3.1-generatie, zie de Directe REST API voor SQL-databases gids.

Hoe het verbruik wordt gefactureerd

Het API-platform is bij elk abonnement inbegrepen en maakt gebruik van dezelfde maandelijkse byte-limiet als de rest van Query Streams. (De kosten voor gescande bytes van BigQuery zelf zijn zoals gebruikelijk van toepassing op de query, vandaar dat een nauwkeurig afgebakende opgeslagen query belangrijk is.) hoe de bytelimiet wordt gemeten →

Sluit het aan op Power BI, Tableau en elk ander programma dat JSON kan lezen.

Omdat elk eindpunt standaard retourneert JSON — met CSV- en streaming NDJSON-ondersteuning — kan elke tool die een REST-feed kan lezen, uw BigQuery-gegevens rechtstreeks gebruiken, zonder dat er iets aan hun kant geïnstalleerd hoeft te worden en zonder dat de Google Cloud SDK nodig is. Power Query is de eenvoudigste manier om toegang te krijgen tot de Microsoft BI-stack: in Power BI kiezen Gegevens ophalen → Van het web, plak de endpoint-URL, voeg uw toe Autorisatie De header en Power Query parseert de JSON naar een vernieuwbare tabel die uw datamodel voedt. (Voor live data in een spreadsheet is de native methode geschikt.) Query Streams Excel-add-on (Dit is de eenvoudigere weg — Power Query is er wanneer je de gegevens in het Power BI-model zelf wilt hebben.)

Microsoft Power Query-logo Power Query Gegevens ophalen → Van het web, plak de URL en het bearer-token, vouw de JSON uit tot een tabel die kan worden vernieuwd
Microsoft Power BI-logo Power BI Dezelfde Power Query-engine — laad het eindpunt rechtstreeks in uw model en plan de vernieuwing in.
Tableau-logo Tableau Wijs een Web Data Connector of JSON-bron aan op het eindpunt voor live dashboards.
Postman-logo Postbode Importeer de OpenAPI 3.1-specificatie en verstuur, inspecteer en deel verzoeken met één klik.

Het voedt ook n8n, Qlik, krul, Python (verzoeken of pandas.read_json), Insomnia, Hoppscotch — of elk script of workflow dat een HTTP-verzoek kan verzenden en JSON kan lezen.

Werkt in alle BigQuery-regio's.

Het maakt niet uit in welke regio of multiregio uw BigQuery-datasets zich bevinden. De agent maakt op dezelfde manier verbinding, ongeacht of uw gegevens zich in de VS, de EU of een andere regionale locatie bevinden. Voor de laagste latentie kunt u de agent het beste implementeren in een Google Cloud-regio die zich dicht bij uw dataset bevindt; één Query Streams-account kan meerdere agents in verschillende regio's en clouds uitvoeren, en een enkel eindpunt gedraagt zich identiek, ongeacht welke agent het bedient.

Meer dan BigQuery

Dezelfde workflow zorgt ervoor dat een opgeslagen query vanuit elke verbonden database – PostgreSQL, SQL Server, MySQL, Snowflake, Oracle, DuckDB en meer – naar een REST-eindpunt wordt doorgestuurd. elke database die het API-platform beschikbaar stelt →

Veelgestelde vragen

Moet ik IAM-rechten verlenen of een serviceaccountsleutel delen? +
Nee. Je geeft de ontvanger nooit een GCP IAM-rol, een projectuitnodiging of een JSON-bestand voor een serviceaccount. De netwerkagent voert de query uit op BigQuery met jouw eigen alleen-lezen-referenties, en de ontvanger heeft alleen een Query Streams API-sleutel die is gekoppeld aan één opgeslagen query. hoe de agent die alleen uitgaande verbindingen maakt, verbinding maakt →
Kan de ontvanger mijn SQL- of Google Cloud-gegevens zien? +
Nooit. De ontvanger ziet de endpoint-URL, de responsbody en alle parameters die u als filters hebt ingesteld. De SQL blijft binnen Query Streams en uw BigQuery-referenties worden alleen bewaard in de versleutelde referentieopslag van de agent op uw netwerk; ze worden nooit naar onze cloud verzonden.
Waarin verschilt dit van de REST API van BigQuery zelf? +
De jobs REST API van BigQuery biedt volledige programmatische toegang tot uw project voor code die u beheert, beveiligd met OAuth2 en IAM. Query Streams kiest voor een meer specifieke aanpak voor het delen van gegevens naar buiten: u stelt één opgeslagen query beschikbaar als één eindpunt, elke ontvanger krijgt een eigen herroepbare sleutel, elke aanroep wordt gecontroleerd en u hoeft niets te integreren of te onderhouden. Veel teams gebruiken beide API's: de jobs API voor interne pipelines en Query Streams om resultaten te delen met partners.
Welke uitvoerformaten kan de API retourneren? +
JSON, CSV en — op een streaming-endpoint — NDJSON, wat geschikt is voor de grote analytische resultaatsets die BigQuery produceert; ontvangers kiezen per aanroep de gewenste indeling. Accepteren koptekst of een ?format= parameter. de draadformaten en compressieopties →
Zal dit mijn BigQuery-kosten voor gescande bytes verhogen? +
Elke aanroep voert uw opgeslagen query uit, waardoor gegevens worden gescand en kosten in rekening worden gebracht zoals bij elke andere BigQuery-query. Houd de kosten laag door alleen de benodigde kolommen te selecteren en te filteren op gepartitioneerde of geclusterde kolommen, zodat een query met een beperkt bereik weinig bytes scant. De snelheidslimieten en bytequota van Query Streams voegen een tweede bovengrens toe aan hoe vaak een endpoint kan worden uitgevoerd, waardoor de kosten voorspelbaar blijven.
Kan een eindpunt verlopen of zichzelf vernietigen? +
Ja, een eindpunt kan permanent zijn, op een bepaalde datum verlopen of een vast belbudget hebben. U kunt de sleutel van elke ontvanger direct intrekken zonder uw Google Cloud-referenties te hoeven vernieuwen. Levensduur van eindpunten en sleutelbeheer per ontvanger →
Heeft de ontvanger een Query Streams-account nodig? +
Nee, delen via e-mail stuurt een zogenaamde 'magic-link' claim die automatisch een Free-tier organisatie voor hen aanmaakt, of je kunt een servicesleutel uitgeven voor onbeheerde machine-to-machine toegang. Delen via e-mail versus het uitgeven van een servicecode →

Aan de slag

Publiceer gratis uw eerste BigQuery REST API.

Meld je aan, installeer de Network Agent, verbind BigQuery met een alleen-lezen rol, sla een SQL-query op en e-mail een ontvanger een magic-link claim. Sleutels per ontvanger, alleen-lezen handhaving en een volledig auditspoor zijn vanaf het eerste contact ingeschakeld.

Gerelateerde handleidingen: Directe REST API voor SQL-databases | Database REST API-platform | Maak Snowflake beschikbaar als REST API | Handleidingen voor het instellen van connectoren

Categorie: API-platform

Tags: bigquery-rest-api, bigquery, google-bigquery, rest-api, expose-bigquery-as-api, bigquery-api-integration, share-bigquery-data, per-recipient-keys, no-code-api, database-rest-api

Meta-omschrijving: Zet een BigQuery-query om in een beveiligde, alleen-lezen REST API met sleutels per ontvanger — geen jobs API, geen IAM, geen service-accountsleutels.

Geüpdatet op 16 juni 2026

Mogelijk gemaakt door BetterDocs