View Categories

Cara Mengekspos Dataset BigQuery sebagai API REST yang Aman

Waktu baca 13 menit

Logo BigQuery BIGQUERY API REST

Ubah kueri BigQuery menjadi kueri yang aman. API REST — tidak ada API pekerjaan, tidak ada kunci akun layanan untuk dibagikan.

Simpan kueri SQL terhadap dataset BigQuery Anda, buat kunci API per penerima, dan berikan endpoint JSON langsung kepada mitra Anda. Tidak API pekerjaan BigQuery Untuk melakukan polling, tidak ada JSON akun layanan yang perlu dibagikan, tidak ada peran IAM GCP yang perlu diberikan — hanya akses baca-saja yang diatur. API REST BigQuery dalam hitungan menit.

Tidak ada IAM yang diberikan Kunci per penerima Diberlakukan mode baca saja. Tidak ada yang perlu dikerahkan

Query Streams adalah platform integrasi basis data real-time yang aman yang mengubah setiap kueri BigQuery yang tersimpan menjadi titik akhir API REST yang siap digunakan mitra — dengan kunci per penerima, penegakan akses baca saja, dan jejak audit lengkap. Anda mendapatkan siaran langsung API REST BigQuery tanpa menghubungkan API pekerjaan BigQuery, berbagi kunci akun layanan, atau memberikan izin IAM kepada GCP. Pelajari selengkapnya di QueryStreams.com dan Daftar gratis untuk mempublikasikan endpoint BigQuery pertama Anda dalam hitungan menit.

Mengapa mengekspos dataset BigQuery sebagai API REST?

Gudang analitik Anda berada di BigQuery, dan pada akhirnya seseorang di luar tim Anda membutuhkan sebagian darinya — klien menginginkan metrik mereka dalam dasbor, vendor menginginkan umpan langsung alih-alih ekspor terjadwal, aplikasi mitra perlu membaca satu set hasil yang terstruktur dengan baik. Semua opsi bawaan membutuhkan biaya. API REST BigQuery sendiri berfungsi, tetapi itu berarti akun layanan OAuth2, mengirimkan pekerjaan dan melakukan polling untuk hasil, menangani paginasi, dan mengelola GCP IAM. Memberikan akses proyek kepada mitra (atau berbagi file JSON akun layanan) memberi mereka jangkauan yang jauh lebih luas daripada satu laporan. API REST BigQuery Versi yang dirancang untuk berbagi adalah versi yang bersih: mitra mendapatkan URL dan token, bukan proyek Google Cloud Anda. Query Streams menjadikannya kueri tersimpan ditambah kunci.

Tidak ada JSON IAM atau akun layanan yang dapat dibagikan.

Penerima tidak pernah mendapatkan peran GCP, undangan proyek, atau file kunci akun layanan. Agen Jaringan menjalankan kueri menggunakan kredensial baca-saja Anda sendiri; mitra hanya memegang kunci API.

Kunci API per penerima

Setiap penerima mendapatkan bagiannya masing-masing qsapi_* kunci. Cabut salah satunya tanpa menyentuh yang lain, dan tanpa mengubah kredensial Google Cloud apa pun.

Dirancang hanya untuk dibaca.

Validator hanya baca menolak pernyataan non-SELECT apa pun sebelum mencapai BigQuery. Tidak ada kesalahan yang tidak disengaja. MEMPERBARUI, MENGGABUNGKAN, atau MENJATUHKAN jalur melalui API.

SQL Anda tetap bersifat pribadi.

Penerima melihat URL endpoint, respons JSON, dan filter apa pun yang Anda tampilkan — bukan SQL Anda, dataset Anda, ID proyek Anda, atau struktur tabel Anda.

Tidak ada yang perlu dihosting atau ditambal

Tidak ada klien API pekerjaan, tidak ada gateway Cloud Function, tidak ada kode pembaruan token OAuth. Endpoint berjalan sebagai fitur terkelola, sehingga tidak ada pipeline deployment yang perlu dikelola.

Permanen, kedaluwarsa, atau hancur sendiri

Jadikan endpoint permanen, atur agar kedaluwarsa pada tanggal tertentu, atau berikan anggaran panggilan tetap yang akan menghancurkan dirinya sendiri setelah sejumlah permintaan tertentu.

Data BigQuery melalui REST — cara-cara umum, dan mengapa cara tersebut merugikan.

Ada cara-cara nyata untuk menambahkan antarmuka HTTP pada BigQuery, dan cara-cara tersebut cukup baik dalam fungsinya. Kelemahannya adalah setiap cara tersebut mengharuskan Anda untuk mengelola otentikasi, infrastruktur, atau salinan data kedua. Berikut perbandingan pendekatan umum dengan endpoint bersama Query Streams ketika tujuannya hanya "membiarkan mitra tertentu membaca kumpulan hasil tertentu."

Kekhawatiran API REST pekerjaan BigQuery (native) Fungsi Cloud / Gerbang DIY Aliran Kueri
Apa yang dipegang oleh penerima Kunci klien atau akun layanan OAuth URL ke dalam fungsi Anda Kunci tunggal untuk satu kueri
Permukaan yang terpapar Semua perintah SQL yang dapat dijalankan dengan kredensial tersebut. Apa pun yang Anda tulis secara manual Satu kueri tersimpan, tidak ada yang lain.
Otentikasi yang Anda siapkan Polling peran dan pekerjaan OAuth2 + IAM Fungsi otentikasi + akun layanan Agen khusus panggilan keluar, peran hanya baca.
Kunci per penerima + pencabutan Bangun sendiri Bangun sendiri Terpasang di
Catatan audit setiap panggilan Melalui Cloud Logging, rakit sendiri Tambahkan sendiri Terpasang di
Anda mengoperasikan / menambal / memutar otorisasi Ya, selamanya Ya, selamanya Dikelola untuk Anda
Waktu menuju titik akhir pertama Jam hingga hari Hari-hari Menit

Sedang mencari alternatif untuk API BigQuery untuk berbagi dengan mitra?

API REST BigQuery adalah alat yang tepat ketika Anda mengontrol kedua ujung dan menginginkan akses terprogram penuh ke proyek Anda. Namun, jika Anda ingin memberikan kepada mitra tertentu satu set hasil yang diatur dan hanya dapat dibaca — dengan kunci sendiri, jejak audit, dan tanpa perlu memberikan izin IAM — itulah celah yang diisi oleh Query Streams. Keduanya dapat hidup berdampingan: API pekerjaan untuk pipeline Anda sendiri, Query Streams untuk berbagi keluar.

Bagaimana Query Streams mengubah kueri BigQuery menjadi API REST

Setelah Network Agent terpasang dan konektor BigQuery Anda dikonfigurasi, mempromosikan kueri yang tersimpan ke titik akhir REST bersama membutuhkan sekitar tiga langkah. Jika Anda sudah menggunakan Query Streams untuk Excel, Google Sheets, atau MCP Server, Agent dan konektor Anda sudah tersedia — Anda mulai dari langkah kedua.

1

Hubungkan BigQuery melalui Agen.

Instal Agen Jaringan dan tambahkan konektor BigQuery dengan peran hanya baca (seperti Penampil Data BigQuery plus Pengguna PekerjaanAgen tersebut membuat koneksi TLS keluar ke Query Streams — tidak ada kredensial Google Cloud yang pernah sampai ke penerima.

2

Simpan kueri SQL

Tulis PILIH Di Query Builder, buat koneksi BigQuery Anda — GoogleSQL JOIN, CTE, fungsi jendela, dan parameter semuanya diterima. Beri nama dan simpan. Apa pun yang dapat Anda SELECT dapat menjadi endpoint.

3

Promosikan dan bagikan kuncinya

Buka tab Instal, pilih jenis endpoint (permanen, kedaluwarsa, atau anggaran panggilan) dan format output, lalu undang penerima melalui email. Mereka akan mendapatkan klaim tautan ajaib dan milik mereka sendiri. qsapi_* kunci.

Jaga agar pemindaian byte tetap dapat diprediksi.

Karena setiap endpoint menjalankan satu kueri tersimpan, Anda dapat mengontrol dengan tepat berapa banyak data yang dipindai BigQuery per panggilan. Pilih hanya kolom yang dibutuhkan mitra, filter berdasarkan kolom yang dipartisi atau dikelompokkan, dan biaya byte yang dipindai tetap kecil dan dapat diprediksi. Batasan laju dan kuota byte Query Streams menambahkan batasan kedua tentang seberapa sering sebuah endpoint dapat dijalankan.

Tidak ada proyek bersama, tidak ada kunci akun layanan yang beredar luas.

Model keamanan inilah yang menjadi alasan tim memilih ini daripada izin IAM atau JSON akun layanan. Kredensial BigQuery Anda hanya tersimpan di dalam penyimpanan kredensial terenkripsi Agen di jaringan Anda; kredensial tersebut tidak pernah dikirimkan ke cloud kami dan tidak pernah terlihat oleh penerima. Selain itu, setiap endpoint memberi Anda kontrol per penerima yang dapat Anda perketat sebelum Anda membagikannya.

Agen Khusus Panggilan Keluar

Agen tersebut membuat satu koneksi HTTPS keluar ke agent.querystreams.com pada port 443 — tidak ada port masuk, tidak ada VPN, tidak ada terowongan. Cara kerja koneksi khusus keluar →

Penegakan hukum hanya baca

Validator berjalan di Agent, di jaringan Anda, sebelum pernyataan apa pun mencapai BigQuery. Pernyataan non-SELECT ditolak dengan PELANGGARAN HANYA BACA.

Daftar IP + CORS yang diizinkan

Tetapkan kunci penerima ke IP atau rentang CIDR tertentu, dan batasi asal browser mana yang dapat menghubungi setiap titik akhir. Panggilan di luar daftar akan ditolak sebelum SQL dijalankan.

Batasan laju + kuota byte

Pembatasan laju dua tingkat (per kunci dan per titik akhir) ditambah batasan byte bulanan opsional menjaga penerima yang bising tetap berada dalam radius ledakan yang aman — dan tagihan pemindaian byte Anda tetap dapat diprediksi.

Panggil API REST BigQuery Anda

Penerima memanggil endpoint seperti API REST lainnya: token bearer dan URL. Parameter kueri tersimpan apa pun yang Anda ekspos dapat diatur per panggilan — pada querystring untuk MENDAPATKAN atau dalam badan JSON untuk POSAgen tersebut mengikat nilai-nilai tersebut sebagai parameter kueri yang tepat, bukan penggabungan string, sehingga penerima tidak dapat keluar dari filter untuk menyuntikkan SQL.

Permintaan GET dengan parameter filter.
# Panggilan penerima terhadap endpoint yang didukung BigQuery Anda keriting -H “Otorisasi: Pembawa qsapi_K7…ZmQ” \ “https://api.querystreams.com/v1/endpoints/events-by-day?country=US&since=2026-01-01”

Pilih format output per panggilan dengan Menerima judul (atau sebuah ?format= parameter kueri): JSON untuk satu array tunggal, CSV untuk spreadsheet dan pandas, atau, pada endpoint streaming, NDJSON (satu baris JSON per baris) untuk pipeline parse-as-you-go — sangat cocok untuk kumpulan hasil besar yang dihasilkan BigQuery. Bagi konsumen yang sensitif terhadap bandwidth, pilih opsi ini. LZ4 kompresi muatan dengan Pengkodean yang Diterima: lz4; respons yang tidak terkompresi juga mendapatkan standar gzip secara otomatis melalui kabel. Untuk rincian lengkap tentang mode statis vs streaming, empat kombinasi kabel, dan generasi OpenAPI 3.1, lihat API REST instan untuk basis data SQL memandu.

Bagaimana penggunaan ditagih

Platform API termasuk dalam setiap paket dan menggunakan kuota byte bulanan yang sama dengan Query Streams lainnya. (Biaya pemindaian byte BigQuery sendiri berlaku untuk kueri seperti biasa, itulah mengapa kueri tersimpan dengan cakupan yang ketat sangat penting.) bagaimana batasan byte diukur →

Hubungkan ke Power BI, Tableau, dan apa pun yang dapat membaca JSON.

Karena setiap endpoint mengembalikan nilai standar. JSON — dengan CSV dan streaming NDJSON yang siap digunakan — alat apa pun yang dapat membaca feed REST dapat langsung menggunakan data BigQuery Anda, tanpa perlu menginstal apa pun di pihak mereka dan tanpa memerlukan Google Cloud SDK. Power Query adalah jembatan termudah untuk masuk ke dalam ekosistem Microsoft BI: di Power BI memilih Dapatkan Data → Dari Web, tempel URL endpoint, tambahkan milik Anda Otorisasi header, dan Power Query mengurai JSON ke dalam tabel yang dapat diperbarui yang memberi makan model data Anda. (Untuk data langsung di dalam spreadsheet, fitur bawaan Add-on Excel untuk Query Streams (Ini adalah jalur yang lebih sederhana — Power Query tersedia jika Anda menginginkan data dalam model Power BI itu sendiri.)

Logo Microsoft Power Query Power Query Dapatkan Data → Dari Web, tempel URL dan token bearer, perluas JSON menjadi tabel yang dapat diperbarui.
Logo Microsoft Power BI Power BI Mesin Power Query yang sama — muat endpoint langsung ke dalam model Anda dan jadwalkan penyegaran.
Logo Tableau Tablo Arahkan Web Data Connector atau sumber JSON ke endpoint untuk dasbor langsung.
Logo tukang pos Tukang pos Impor spesifikasi OpenAPI 3.1, lalu kirim, periksa, dan bagikan permintaan hanya dengan satu klik.

Ini juga memberi makan n8n, Qlik, keriting, Python (permintaan atau pandas.read_json), Insomnia, Hoppscotch — atau skrip atau alur kerja apa pun yang dapat mengirim permintaan HTTP dan membaca JSON.

Berfungsi di semua wilayah BigQuery

Tidak masalah di wilayah atau multi-wilayah mana dataset BigQuery Anda berada. Agen terhubung dengan cara yang sama terlepas dari apakah data Anda berada di AS, UE, atau lokasi regional mana pun. Untuk latensi terendah, sebarkan Agen di wilayah Google Cloud yang dekat dengan dataset Anda; satu akun Query Streams dapat menjalankan beberapa Agen di berbagai wilayah dan cloud, dan satu endpoint berperilaku identik terlepas dari Agen mana yang melayaninya.

Lebih dari sekadar BigQuery

Alur kerja yang sama mempromosikan kueri tersimpan dari basis data mana pun yang terhubung — PostgreSQL, SQL Server, MySQL, Snowflake, Oracle, DuckDB, dan lainnya — ke titik akhir REST. setiap basis data yang diekspos oleh Platform API →

Pertanyaan yang Sering Diajukan

Apakah saya perlu memberikan izin IAM atau membagikan kunci akun layanan? +
Tidak. Anda tidak pernah memberikan peran GCP IAM, undangan proyek, atau file JSON akun layanan kepada penerima. Agen Jaringan menjalankan kueri terhadap BigQuery menggunakan kredensial baca-saja Anda sendiri, dan penerima hanya memegang kunci API Query Streams yang dicakup ke satu kueri yang tersimpan. bagaimana Agen khusus keluar terhubung →
Apakah penerima dapat melihat kredensial SQL atau Google Cloud saya? +
Tidak pernah. Penerima melihat URL endpoint, isi respons, dan parameter apa pun yang Anda tampilkan sebagai filter. SQL tetap berada di dalam Query Streams, dan kredensial BigQuery Anda hanya tersimpan di dalam penyimpanan kredensial terenkripsi Agen di jaringan Anda — kredensial tersebut tidak pernah dikirimkan ke cloud kami.
Apa perbedaannya dengan API REST milik BigQuery sendiri? +
API REST jobs BigQuery memberikan akses terprogram penuh ke proyek Anda untuk kode yang Anda kendalikan, diamankan dengan OAuth2 dan IAM. Query Streams mengambil sudut pandang yang berlawanan dan lebih sempit untuk berbagi keluar: Anda mengekspos satu kueri yang tersimpan sebagai satu endpoint, setiap penerima mendapatkan kunci yang dapat dicabut sendiri, setiap panggilan diaudit, dan tidak ada yang perlu Anda integrasikan atau pelihara. Banyak tim menggunakan keduanya — API jobs untuk pipeline internal, Query Streams untuk berbagi hasil dengan mitra.
Format output apa saja yang dapat dikembalikan oleh API? +
JSON, CSV, dan — pada endpoint streaming — NDJSON, yang sesuai dengan kumpulan hasil analitik besar yang dihasilkan BigQuery; penerima memilih per panggilan dengan Menerima judul atau ?format= parameter. Format data dan opsi kompresi →
Apakah ini akan meningkatkan tagihan pemindaian byte BigQuery saya? +
Setiap panggilan menjalankan kueri yang telah Anda simpan, sehingga memindai data dan menagih seperti kueri BigQuery lainnya. Agar tetap hemat biaya, pilihlah hanya kolom yang dibutuhkan dan filter berdasarkan kolom yang dipartisi atau dikelompokkan, sehingga kueri dengan cakupan terbatas hanya memindai sedikit byte. Batasan laju dan kuota byte Query Streams menambahkan batasan kedua tentang seberapa sering endpoint dapat dijalankan, sehingga biaya tetap dapat diprediksi.
Apakah sebuah endpoint dapat kedaluwarsa atau menghancurkan diri sendiri? +
Ya — sebuah endpoint dapat bersifat permanen, kedaluwarsa pada tanggal tertentu, atau memiliki anggaran panggilan tetap, dan Anda dapat mencabut kunci penerima mana pun secara instan tanpa perlu mengganti kredensial Google Cloud Anda. Masa berlaku endpoint dan kontrol kunci per penerima →
Apakah penerima memerlukan akun Query Streams? +
Tidak — berbagi melalui email mengirimkan klaim tautan ajaib yang secara otomatis membuat organisasi tingkat gratis untuk mereka, atau Anda dapat menerbitkan kunci layanan untuk akses mesin ke mesin tanpa pengawasan. Berbagi melalui email versus menerbitkan kunci layanan →

Memulai

Publikasikan API REST BigQuery pertama Anda secara gratis.

Daftar, instal Agen Jaringan, hubungkan BigQuery dengan peran hanya baca, simpan kueri SQL, dan kirim klaim tautan ajaib ke penerima melalui email. Kunci per penerima, penegakan hanya baca, dan jejak audit lengkap aktif sejak panggilan pertama.

Panduan terkait: API REST instan untuk basis data SQL | Platform REST API basis data | Mengekspos Snowflake sebagai API REST | Panduan Penyiapan Konektor

Kategori: Platform API

Tag: 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

Deskripsi Meta: Ubah kueri BigQuery menjadi API REST baca-saja yang aman dengan kunci per penerima — tanpa API pekerjaan, tanpa IAM, tanpa kunci akun layanan.

Updated on 16 Juni 2026

Powered by BetterDocs