Ver categorias

Como expor um conjunto de dados do BigQuery como uma API REST segura

13 minutos de leitura

Logotipo do BigQuery BIGQUERY API REST

Transforme uma consulta do BigQuery em uma consulta segura. API REST — Sem API de tarefas, sem chaves de conta de serviço para distribuir.

Salve uma consulta SQL em seu conjunto de dados do BigQuery, gere uma chave de API por destinatário e forneça a um parceiro um endpoint JSON ativo. Não. API de tarefas do BigQuery Para consultar, não há JSON de conta de serviço para compartilhar, nem funções IAM do GCP para conceder — apenas um ambiente governado e somente leitura. API REST do BigQuery Em minutos.

Não há IAM para conceder. Chaves por destinatário Somente leitura obrigatória Nada para implantar

O Query Streams é uma plataforma segura de integração de banco de dados em tempo real que transforma qualquer consulta salva do BigQuery em um endpoint de API REST pronto para uso por parceiros — com chaves por destinatário, imposição de somente leitura e um registro de auditoria completo. Você recebe um ao vivo API REST do BigQuery Sem configurar a API de tarefas do BigQuery, compartilhar uma chave de conta de serviço ou conceder permissões do GCP IAM. Saiba mais em QueryStreams.com e inscreva-se gratuitamente Publique seu primeiro endpoint do BigQuery em minutos.

Por que expor um conjunto de dados do BigQuery como uma API REST?

Seu data warehouse de análises reside no BigQuery e, eventualmente, alguém fora da sua equipe precisará de uma parte dele — um cliente quer suas métricas em um painel, um fornecedor quer um feed ao vivo em vez de uma exportação agendada, o aplicativo de um parceiro precisa ler um conjunto de resultados bem estruturado. Todas as opções nativas têm um custo. A API REST do BigQuery funciona, mas exige uma conta de serviço OAuth2, envio de tarefas e consulta de resultados, gerenciamento de paginação e administração do IAM do GCP. Conceder acesso a um projeto parceiro (ou compartilhar um arquivo JSON de conta de serviço) oferece a ele muito mais recursos do que apenas um relatório. API REST do BigQuery A versão simplificada, criada para compartilhamento, é aquela em que o parceiro recebe um URL e um token, e não o seu projeto do Google Cloud. Já o Query Streams transforma isso em uma consulta salva e uma chave.

Não há JSON de IAM ou conta de serviço para compartilhar.

Os destinatários nunca recebem uma função no GCP, um convite para um projeto ou um arquivo de chave de conta de serviço. O Agente de Rede executa a consulta usando suas próprias credenciais de somente leitura; o parceiro detém apenas uma chave de API.

Chaves de API por destinatário

Cada destinatário recebe o seu próprio. qsapi_* Chave. Revogar uma sem afetar as outras e sem rotacionar nenhuma credencial do Google Cloud.

Somente leitura por design

Um validador somente leitura rejeita qualquer instrução que não seja SELECT antes que ela chegue ao BigQuery. Não há nada acidental. ATUALIZAR, FUSÃO, ou DERRUBAR caminho através da API.

Seu SQL permanece privado.

O destinatário vê o URL do endpoint, a resposta JSON e quaisquer filtros que você tenha exposto — nunca seu SQL, seu conjunto de dados, seu ID de projeto ou a estrutura da sua tabela.

Nada para hospedar ou corrigir.

Sem cliente de API de tarefas, sem gateway de Cloud Functions, sem código de atualização de token OAuth. O endpoint é executado como um recurso gerenciado, portanto, não há pipeline de implantação para gerenciar.

Permanente, com prazo de validade ou autodestrutivo

Torne um endpoint permanente, defina uma data de expiração ou atribua a ele um orçamento de chamadas fixo que se autodestruirá após um número definido de solicitações.

Dados do BigQuery via REST — os métodos usuais e por que eles causam problemas.

Existem maneiras reais de adicionar uma interface HTTP ao BigQuery, e elas são eficientes. A desvantagem é que todas elas deixam você responsável pela autenticação, infraestrutura ou por uma segunda cópia dos dados. Veja como as abordagens comuns se comparam a um endpoint compartilhado do Query Streams quando o objetivo é simplesmente "permitir que um parceiro específico leia um conjunto de resultados específico".

Preocupação API REST de tarefas do BigQuery (nativa) Função na nuvem / Gateway faça você mesmo Fluxos de consulta
O que o destinatário detém Chave do cliente OAuth ou da conta de serviço Um URL para sua função Uma chave de propósito único para uma consulta
Superfície exposta Qualquer SQL que as credenciais possam executar. Independentemente do que você codificar manualmente. Uma consulta salva, nada mais.
Autenticação que você configurou OAuth2 + funções IAM + pesquisa de trabalhos Autenticação de função + conta de serviço Agente somente para chamadas de saída, função somente leitura.
Chaves por destinatário + revogação Construa você mesmo Construa você mesmo Construído em
Registro de auditoria de todas as chamadas Via Cloud Logging, auto-montagem Adicione você mesmo Construído em
Você opera/corrige/rotaciona a autenticação Sim, para sempre. Sim, para sempre. Gerenciado para você
Tempo até o primeiro ponto final Horas a dias Dias Minutos

Procurando uma alternativa à API do BigQuery para compartilhamento entre parceiros?

A API REST do BigQuery é a ferramenta ideal quando você controla ambas as pontas e deseja acesso programático completo ao seu projeto. Se, por outro lado, você quiser entregar a um parceiro específico um conjunto de resultados controlado e somente leitura — com sua própria chave, um registro de auditoria e sem necessidade de conceder permissões IAM —, é exatamente essa lacuna que o Query Streams preenche. Os dois podem coexistir: a API de jobs para seus próprios pipelines e o Query Streams para compartilhamento externo.

Como o Query Streams transforma uma consulta do BigQuery em uma API REST

Após a instalação do Agente de Rede e a configuração do seu conector BigQuery, promover uma consulta salva para um endpoint REST compartilhado requer cerca de três etapas. Se você já utiliza o Query Streams para Excel, Planilhas Google ou o Servidor MCP, seu Agente e conector já estão instalados — você começa na etapa dois.

1

Conecte o BigQuery por meio do Agente.

Instale o Agente de Rede e adicione um conector do BigQuery com uma função somente leitura (como, por exemplo, Visualizador de dados do BigQuery mais Usuário de trabalhoO agente estabelece uma conexão TLS de saída com o Query Streams — nenhuma credencial do Google Cloud chega ao destinatário.

2

Salvar uma consulta SQL

Escreva o SELECIONAR No Construtor de Consultas, em relação à sua conexão com o BigQuery — junções do Google SQL, CTEs, funções de janela e parâmetros são todos bem-vindos. Dê um nome e salve. Tudo o que você pode selecionar com um SELECT pode se tornar um endpoint.

3

Divulgue e compartilhe uma chave.

Abra a aba Instalar, escolha o tipo de endpoint (permanente, com prazo de validade ou orçamento de chamadas) e o formato de saída e, em seguida, convide um destinatário por e-mail. Ele receberá um link mágico e sua própria conta. qsapi_* chave.

Mantenha os bytes escaneados previsíveis.

Como cada endpoint executa uma consulta salva, você controla exatamente a quantidade de dados que o BigQuery examina por chamada. Selecione apenas as colunas de que o parceiro precisa, filtre por colunas particionadas ou em cluster, e o custo em bytes examinados permanecerá baixo e previsível. Os limites de taxa e as cotas de bytes do Query Streams adicionam um segundo limite à frequência com que um endpoint pode ser acionado.

Sem projeto compartilhado, sem chaves de conta de serviço em uso.

O modelo de segurança é o motivo pelo qual as equipes optam por essa solução em vez de concessões do IAM ou um JSON de conta de serviço. Suas credenciais do BigQuery ficam armazenadas apenas no repositório de credenciais criptografado do Agente em sua rede; elas nunca são transmitidas para nossa nuvem e nunca ficam visíveis para o destinatário. Além disso, cada endpoint oferece controles específicos para cada destinatário, que você pode restringir antes de compartilhar.

Agente somente para ligações externas

O agente estabelece uma conexão HTTPS de saída para agente.querystreams.com Na porta 443 — sem portas de entrada, sem VPN, sem túnel. Como funciona a conexão somente de saída →

Aplicação de somente leitura

Um validador é executado no Agente, em sua rede, antes que qualquer instrução chegue ao BigQuery. Instruções que não sejam SELECT são rejeitadas. VIOLAÇÃO_SOMENTE_LEITURA.

Listas de permissão IP + CORS

Vincule a chave de um destinatário a IPs ou intervalos CIDR específicos e restrinja quais origens de navegador podem chamar cada endpoint. Chamadas fora da lista são recusadas antes de qualquer execução de SQL.

Limites de taxa + cotas de bytes

Limites de taxa de dois níveis (por chave e por ponto de extremidade), além de um limite mensal opcional de bytes, mantêm um destinatário ruidoso dentro de um raio de segurança — e sua fatura de bytes escaneados previsível.

Chame sua API REST do BigQuery.

Os destinatários chamam o endpoint como qualquer outra API REST: um token de portador e uma URL. Qualquer parâmetro de consulta salvo que você tenha exposto pode ser definido por chamada — na string de consulta para PEGAR ou em um corpo JSON para PUBLICARO agente vincula esses valores como parâmetros de consulta adequados, nunca por concatenação de strings, de modo que um destinatário não possa escapar de um filtro para injetar SQL.

GET com um parâmetro de filtro
# Chamada do destinatário para o seu endpoint com suporte do BigQuery cachos -H “Autorização: Portador qsapi_K7…ZmQ” \ “https://api.querystreams.com/v1/endpoints/events-by-day?country=US&since=2026-01-01”

Selecione o formato de saída por chamada com o Aceitar cabeçalho (ou um ?formato= parâmetro de consulta): JSON para um único array, CSV para planilhas e pandas ou, em um endpoint de streaming, NDJSON (uma linha JSON por linha) para pipelines de análise contínua — uma boa opção para os grandes conjuntos de resultados gerados pelo BigQuery. Para consumidores com restrições de largura de banda, opte por LZ4 compressão de carga útil com Codificação de aceitação: lz4Respostas não comprimidas também recebem o padrão gzip na rede automaticamente. Para obter uma descrição completa dos modos estático e de streaming, das quatro combinações de fios e da geração OpenAPI 3.1, consulte o API REST instantânea para bancos de dados SQL guia.

Como o uso é cobrado

A Plataforma de API está incluída em todos os planos e utiliza a mesma franquia mensal de bytes que o restante dos Fluxos de Consulta. (As próprias cobranças de bytes analisados do BigQuery se aplicam à consulta normalmente, e é por isso que uma consulta salva com escopo restrito é importante.) Como a franquia de bytes é medida →

Integre-o ao Power BI, Tableau e qualquer outra ferramenta que leia JSON.

Porque cada ponto de extremidade retorna o padrão. JSON — com CSV e streaming NDJSON disponíveis — qualquer ferramenta que consiga ler um feed REST consome seus dados do BigQuery diretamente, sem precisar instalar nada do lado dela e sem exigir o SDK do Google Cloud. Power Query é a ponte mais fácil para o conjunto de ferramentas de BI da Microsoft: em Power BI escolher Obter dados → Da WebCole o URL do endpoint e adicione o seu Autorização O Power Query cria um cabeçalho e analisa o JSON, transformando-o em uma tabela atualizável que alimenta seu modelo de dados. (Para dados em tempo real dentro de uma planilha, use o recurso nativo.) Suplemento Query Streams para Excel é o caminho mais simples — o Power Query está disponível quando você deseja os dados no próprio modelo do Power BI.

Logotipo do Microsoft Power Query Power Query Obter dados → Da Web, cole o URL e o token de portador, expanda o JSON para uma tabela atualizável.
Logotipo do Microsoft Power BI Power BI O mesmo mecanismo do Power Query — carregue o endpoint diretamente no seu modelo e agende a atualização.
Logotipo do Tableau Quadro Aponte um conector de dados da Web ou uma fonte JSON para o endpoint para painéis de controle em tempo real.
Logotipo do carteiro Carteiro Importe a especificação OpenAPI 3.1 e, em seguida, envie, inspecione e compartilhe solicitações com um único clique.

Também alimenta n8n, Qlik, cachos, Python (solicitações ou pandas.read_json), Insomnia, Hoppscotch — ou qualquer script ou fluxo de trabalho que possa enviar uma solicitação HTTP e ler JSON.

Funciona em todas as regiões do BigQuery.

Não importa em qual região ou multirregião seus conjuntos de dados do BigQuery estejam localizados. O Agente se conecta da mesma forma, independentemente de seus dados estarem nos EUA, na UE ou em qualquer outra região. Para obter a menor latência possível, implante o Agente em uma região do Google Cloud próxima ao seu conjunto de dados; uma conta do Query Streams pode executar vários Agentes em diferentes regiões e nuvens, e um único endpoint se comporta de maneira idêntica, independentemente do Agente que o atende.

Mais do que o BigQuery

O mesmo fluxo de trabalho promove uma consulta salva de qualquer banco de dados conectado — PostgreSQL, SQL Server, MySQL, Snowflake, Oracle, DuckDB e outros — para um endpoint REST. todos os bancos de dados que a Plataforma de API expõe →

Perguntas frequentes

Preciso conceder permissões de IAM ou compartilhar uma chave de conta de serviço? +
Não. Você nunca concede ao destinatário uma função do IAM do GCP, um convite para um projeto ou um arquivo JSON de conta de serviço. O Agente de Rede executa a consulta no BigQuery usando suas próprias credenciais de somente leitura, e o destinatário possui apenas uma chave da API Query Streams com escopo para uma consulta salva. Como o agente somente de saída se conecta →
O destinatário pode ver minhas credenciais do SQL Server ou do Google Cloud? +
Nunca. O destinatário vê o URL do endpoint, o corpo da resposta e quaisquer parâmetros que você tenha exposto como filtros. O SQL permanece dentro do Query Streams e suas credenciais do BigQuery ficam armazenadas apenas no repositório de credenciais criptografado do Agente em sua rede — elas nunca são transmitidas para nossa nuvem.
Em que isso difere da API REST do próprio BigQuery? +
A API REST de jobs do BigQuery oferece acesso programático completo ao seu projeto para o código que você controla, protegido com OAuth2 e IAM. O Query Streams adota uma abordagem oposta, mais restrita, para compartilhamento externo: você expõe uma consulta salva como um endpoint, cada destinatário recebe sua própria chave revogável, todas as chamadas são auditadas e você não precisa integrar ou manter nada. Muitas equipes usam ambas — a API de jobs para pipelines internos e o Query Streams para compartilhar resultados com parceiros.
Quais formatos de saída a API pode retornar? +
JSON, CSV e — em um endpoint de streaming — NDJSON, que é adequado para os grandes conjuntos de resultados analíticos produzidos pelo BigQuery; os destinatários escolhem por chamada com o Aceitar cabeçalho ou um ?formato= parâmetro. Formatos de transmissão e opções de compressão →
Isso vai aumentar minha fatura de bytes analisados no BigQuery? +
Cada chamada executa sua consulta salva, portanto, ela examina os dados e cobra como qualquer outra consulta do BigQuery. Mantenha os custos baixos selecionando apenas as colunas necessárias e filtrando por colunas particionadas ou agrupadas, para que uma consulta com escopo restrito examine poucos bytes. Os limites de taxa e as cotas de bytes do Query Streams adicionam um segundo limite à frequência com que um endpoint pode ser acionado, mantendo o custo previsível.
Um endpoint pode expirar ou se autodestruir? +
Sim — um endpoint pode ser permanente, expirar em uma data específica ou ter um orçamento de chamadas fixo, e você pode revogar a chave de qualquer destinatário instantaneamente, sem precisar rotacionar suas credenciais do Google Cloud. Tempo de vida dos endpoints e controles de chave por destinatário →
O destinatário precisa de uma conta do Query Streams? +
Não — o compartilhamento por e-mail envia uma solicitação de link mágico que cria automaticamente uma organização de nível gratuito para eles, ou você pode emitir uma chave de serviço para acesso não supervisionado de máquina para máquina. Compartilhamento por e-mail versus emissão de uma chave de serviço →

Começar a usar

Publique sua primeira API REST do BigQuery gratuitamente.

Cadastre-se, instale o Agente de Rede, conecte o BigQuery com uma função somente leitura, salve uma consulta SQL e envie um link mágico por e-mail ao destinatário. Chaves por destinatário, aplicação de somente leitura e um registro de auditoria completo são ativados desde a primeira chamada.

Guias relacionados: API REST instantânea para bancos de dados SQL | Plataforma de API REST de banco de dados | Exponha o Snowflake como uma API REST. | Guias de configuração de conectores

Categoria: Plataforma de API

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

Metadescrição: Transforme uma consulta do BigQuery em uma API REST segura e somente leitura com chaves por destinatário — sem API de tarefas, sem IAM, sem chaves de conta de serviço.

Atualizado em 16 de junho de 2026

Desenvolvido por BetterDocs