Visualizza le categorie

Come esporre un database Snowflake come API REST sicura

13 minuti di lettura

Logo del fiocco di neve FIOCCO DI NEVE API REST

Trasforma una query Snowflake in una query sicura API REST — nessuna API SQL da configurare, nessuna postazione di account da condividere.

Salva una query SQL sul tuo data warehouse Snowflake, crea una chiave API per ogni destinatario e fornisci a un partner un endpoint JSON attivo. No API SQL di Snowflake integrazione da costruire, nessuna coppia di chiavi OAuth, nessun posto in magazzino da cedere: solo un accesso governato e di sola lettura API REST di Snowflake in minuti.

Nessun account disponibile da condividere chiavi per destinatario Modalità di sola lettura obbligatoria Niente da implementare

Query Streams è una piattaforma di integrazione di database sicura e in tempo reale che trasforma qualsiasi query Snowflake salvata in un endpoint API REST pronto per i partner, con chiavi per destinatario, vincolo di sola lettura e tracciabilità completa delle modifiche. Ottieni una vita API REST di Snowflake senza dover utilizzare l'API SQL di Snowflake, distribuire credenziali di accesso o ospitare un gateway. Per saperne di più, visita QueryStreams.com e iscriviti gratuitamente Pubblica il tuo primo endpoint Snowflake in pochi minuti.

Perché esporre un database Snowflake come API REST?

I tuoi dati curati risiedono in Snowflake e prima o poi qualcuno al di fuori del tuo team ne avrà bisogno: un cliente vuole i suoi dati in una dashboard, un fornitore vuole un feed in tempo reale invece di un'esportazione notturna, l'app di un partner deve leggere un set di risultati ben strutturato. Le opzioni native hanno tutte un costo che preferiresti evitare. L'API SQL di Snowflake è potente, ma implica la configurazione dell'autenticazione tramite coppie di chiavi o OAuth, un data warehouse funzionante e la gestione della paginazione lato client. Fornire a un partner un login Snowflake (o un account di lettura) gli offre una portata molto maggiore rispetto a un singolo report, e ogni postazione ha un costo. Le pipeline ETL inverse spostano i dati altrove. API REST di Snowflake Questa è la versione pulita: il partner riceve un URL e un token, non il tuo account. Query Streams crea una query salvata più una chiave.

Nessun posto disponibile da regalare.

I destinatari non ottengono mai un login Snowflake, un account lettore o un client OAuth. L'agente di rete esegue la query con il tuo ruolo di sola lettura; il partner detiene solo una chiave API.

Chiavi API per destinatario

Ogni destinatario riceve il proprio qsapi_* Chiave. Revoca una senza toccare le altre e senza ruotare le tue credenziali Snowflake.

Sola lettura per impostazione predefinita

Un validatore di sola lettura rifiuta qualsiasi istruzione non SELECT prima che raggiunga Snowflake. Non c'è alcun errore accidentale AGGIORNAMENTO, UNISCI, o GOCCIOLARE percorso attraverso l'API.

Il tuo codice SQL rimane privato

Il destinatario visualizza l'URL dell'endpoint, la risposta JSON e gli eventuali filtri che hai esposto, ma mai il tuo codice SQL, il tuo data warehouse, il tuo identificativo di account o il tuo schema.

Niente da ospitare o patchare

Nessuna integrazione con API SQL, nessun server OAuth, nessuna pipeline ETL inversa. L'endpoint viene eseguito come funzionalità gestita, quindi non è necessario gestire alcuna pipeline di distribuzione o codice per l'aggiornamento dei token.

Permanente, in scadenza o autodistruttivo

Rendi un endpoint permanente, impostane la scadenza in una data specifica oppure assegnagli un budget di chiamate fisso che lo autodistrugge dopo un determinato numero di richieste.

Snowflake SQL tramite API REST: i metodi usuali e perché sono problematici

Esistono metodi concreti per implementare un'interfaccia HTTP su Snowflake, e sono efficaci nel loro scopo. Il problema è che ognuno di essi ti lascia responsabile dell'autenticazione, dell'infrastruttura o di una seconda copia dei dati. Ecco un confronto tra gli approcci più comuni e un endpoint condiviso di Query Streams, quando l'obiettivo è semplicemente "consentire a un partner specifico di leggere un set di risultati specifico".

Preoccupazione API SQL di Snowflake (nativa) Servizio di ETL inverso / fai-da-te Flussi di query
Ciò che il destinatario tiene Coppia di chiavi a livello di account o client OAuth Una copia dei tuoi dati in un altro strumento Una chiave monouso per una singola query
Superficie esposta Qualsiasi query SQL che il ruolo può eseguire Qualunque cosa si sincronizzi la pipeline Una sola query salvata, nient'altro.
Autenticazione che hai impostato Coppia di chiavi JWT / OAuth + data warehouse Credenziali di pipeline a entrambe le estremità Agente solo in uscita, ruolo di sola lettura
Chiavi per destinatario + revoca Costruiscilo tu stesso Costruiscilo tu stesso Costruito
Registro di controllo di ogni chiamata Tramite ACCOUNT_USAGE, autoassemblare Aggiungilo tu stesso Costruito
Tu esegui / patch / ruoti l'autorizzazione Sì, per sempre Sì, per sempre Gestito per te
Tempo al primo punto finale Dalle ore ai giorni Giorni Minuti

Cerchi un'alternativa all'API SQL di Snowflake per la condivisione con i partner?

L'API SQL di Snowflake è eccellente quando si ha il controllo di entrambe le estremità e si desidera un accesso programmatico completo al proprio account. Se invece si desidera fornire a un partner specifico un set di risultati governato e di sola lettura, con una propria chiave, una traccia di controllo e senza dover implementare alcuna integrazione di autenticazione, Query Streams colma esattamente questa lacuna. I due possono coesistere: l'API SQL per le proprie applicazioni e Query Streams per la condivisione esterna.

Come Query Streams trasforma una query Snowflake in un'API REST

Una volta installato l'agente di rete e configurato il connettore Snowflake, la promozione di una query salvata a un endpoint REST condiviso richiede circa tre passaggi. Se utilizzi già Query Streams per Excel, Fogli Google o il server MCP, l'agente e il connettore sono già presenti: puoi iniziare dal secondo passaggio.

1

Connetti Snowflake tramite l'agente

Installa l'agente di rete e aggiungi un connettore Snowflake con un ruolo dedicato di sola lettura e un piccolo data warehouse. L'agente stabilisce una connessione TLS in uscita verso Query Streams: nessuna credenziale di accesso raggiunge mai il destinatario.

2

Salva una query SQL

Scrivi il SELEZIONARE Nel Query Builder, nella tua connessione Snowflake, puoi inserire JOIN, CTE, funzioni finestra e parametri. Assegna un nome e salva. Qualsiasi elemento che puoi selezionare può diventare un endpoint.

3

Promuovilo e condividi una chiave

Apri la scheda Installa, scegli il tipo di endpoint (permanente, in scadenza o con budget di chiamate) e il formato di output, quindi invita un destinatario tramite e-mail. Riceveranno una richiesta di link magico e il proprio qsapi_* chiave.

Mantenere bassi i crediti di magazzino

Ogni chiamata API esegue la query salvata sul data warehouse a cui è stato assegnato il connettore. Puntandolo a un data warehouse di piccole dimensioni e con sospensione automatica, in modo che si arresti tra una chiamata e l'altra, la cache dei risultati di Snowflake gestirà le chiamate identiche ripetute in modo economico. Una query salvata con ambito ristretto mantiene prevedibili sia i byte scansionati che i crediti consumati.

Nessun account condiviso, nessun magazzino esposto

Il modello di sicurezza è il motivo per cui i team preferiscono questa soluzione rispetto a un login Snowflake o a un'integrazione con un'API SQL pubblica. Le credenziali Snowflake risiedono esclusivamente nell'archivio credenziali crittografato dell'agente sulla rete locale; non vengono mai trasmesse al nostro cloud e non sono mai visibili al destinatario. Inoltre, ogni endpoint offre controlli specifici per ciascun destinatario, che è possibile configurarli in modo più rigoroso prima della condivisione.

Agente solo in uscita

L'agente raggiunge agent.querystreams.com sulla porta 443, quindi la tua rete vede solo HTTPS in uscita normale: nessuna porta in entrata, nessuna VPN, nessun tunnel. Come funziona la connessione solo in uscita →

Applicazione della sola lettura

Un validatore viene eseguito nell'agente, sulla tua rete, prima che qualsiasi istruzione raggiunga Snowflake. Le istruzioni non SELECT vengono rifiutate con VIOLAZIONE DI SOLA LETTURA.

Liste IP + CORS consentite

Associa la chiave di un destinatario a specifici indirizzi IP o intervalli CIDR e limita i browser che possono chiamare ciascun endpoint. Le chiamate provenienti da indirizzi esterni alla lista vengono rifiutate prima dell'esecuzione di qualsiasi query SQL.

Limiti di velocità + quote di byte

I limiti di velocità a due livelli (per chiave e per endpoint), più un limite mensile di byte opzionale, mantengono un destinatario rumoroso entro un raggio d'azione sicuro e i crediti del tuo magazzino prevedibili.

Chiama la tua API REST di Snowflake

I destinatari chiamano l'endpoint come qualsiasi altra API REST: un token bearer e un URL. Qualsiasi parametro di query salvata esposto può essere impostato per chiamata — sulla stringa di query per OTTENERE o in un corpo JSON per INVIAREL'agente associa tali valori come parametri correttamente collegati, mai tramite concatenazione di stringhe, in modo che un destinatario non possa eludere un filtro per iniettare codice SQL.

GET con un parametro di filtro
# Chiamata del destinatario verso il tuo endpoint basato su Snowflake arricciare -H “Autorizzazione: Portatore qsapi_K7…ZmQ” \ “https://api.querystreams.com/v1/endpoints/revenue-by-segment?segment=Enterprise&since=2026-01-01”

Seleziona il formato di output per chiamata con il Accettare intestazione (o un ?format= parametro di query): JSON per un singolo array, CSV per fogli di calcolo e pandas, oppure, su un endpoint di streaming, NDJSON (una riga JSON per riga) per pipeline di analisi sintattica: una soluzione ideale per i grandi set di risultati prodotti da Snowflake. Per i consumatori sensibili alla larghezza di banda, optare per LZ4 compressione del carico utile con Accept-Encoding: lz4; anche le risposte non compresse ottengono lo standard gzip sul filo automaticamente. Per la ripartizione completa delle modalità statica vs streaming, delle quattro combinazioni di fili e della generazione OpenAPI 3.1, vedere il API REST istantanea per database SQL guida.

Modalità di fatturazione dell'utilizzo

La piattaforma API è inclusa in ogni piano e utilizza la stessa quota mensile di byte di Excel, Fogli Google e MCP, mentre i crediti di calcolo Snowflake per la query continuano a essere eseguiti sul tuo data warehouse, come di consueto. Come funzionano la tariffazione a byte e la compressione →

Integralo in Power BI, Tableau e in qualsiasi programma che legga file JSON.

Poiché ogni endpoint restituisce standard JSON — grazie alla disponibilità di CSV e NDJSON in streaming — qualsiasi strumento in grado di leggere un feed REST può utilizzare direttamente i dati di Snowflake, senza bisogno di installare nulla e senza richiedere alcun driver per Snowflake. Power Query è il ponte più semplice per entrare nello stack di Business Intelligence di Microsoft: in Power BI scegliere Ottieni dati → Dal Web, incolla l'URL dell'endpoint, aggiungi il tuo Autorizzazione intestazione e Power Query analizza il JSON in una tabella aggiornabile che alimenta il modello di dati. (Per i dati in tempo reale all'interno di un foglio di calcolo, il nativo Componente aggiuntivo Query Streams per Excel è la strada più semplice: Power Query è disponibile quando si desidera accedere ai dati direttamente nel modello di Power BI.

Logo di Microsoft Power Query Power Query Ottieni dati → Dal Web, incolla l'URL e il token bearer, espandi il JSON in una tabella aggiornabile
Logo di Microsoft Power BI Power BI Stesso motore Power Query: carica l'endpoint direttamente nel tuo modello e pianifica l'aggiornamento.
Logo Tableau Tableau Punta un connettore dati Web o un'origine JSON all'endpoint per dashboard in tempo reale
logo del postino Postino Importa le specifiche OpenAPI 3.1, quindi invia, analizza e condividi le richieste con un solo clic.

Si nutre anche n8n, Qlik, arricciare, Python (richieste o pandas.read_json), Insomnia, Hoppscotch — o qualsiasi script o flusso di lavoro in grado di inviare una richiesta HTTP e leggere JSON.

Funziona su AWS, Azure e Google Cloud.

Non importa su quale cloud sia in esecuzione il tuo account Snowflake. L'agente si connette allo stesso modo, indipendentemente dal fatto che il tuo account sia ospitato su AWS, Azure o Google Cloud, e in qualsiasi regione. Per ottenere la latenza più bassa, distribuisci l'agente nella stessa regione cloud del tuo account Snowflake; un singolo account Query Streams può eseguire più agenti in regioni e cloud diversi, e un singolo endpoint si comporta in modo identico a prescindere dall'agente che lo gestisce.

Più di un fiocco di neve

Lo stesso flusso di lavoro promuove una query salvata da PostgreSQL, Microsoft SQL Server, MySQL, MariaDB, SQLite, Microsoft Access, Oracle, BigQuery o DuckDB a un endpoint REST. Snowflake è semplicemente uno dei punti di partenza più popolari. Esplora il Guide all'installazione dei connettori per l'elenco attuale.

Domande frequenti

Devo configurare l'API SQL di Snowflake o concedere l'accesso all'account? +
No. Non devi mai collegare l'API SQL di Snowflake, emettere una coppia di chiavi o creare un account di lettura per il destinatario. L'agente di rete si connette a Snowflake con il tuo ruolo di sola lettura ed effettua una connessione TLS in uscita a agent.querystreams.com sulla porta 443. Il destinatario possiede sempre e solo una chiave API di Query Streams limitata a una singola query salvata.
Il destinatario può visualizzare le mie credenziali SQL o le mie credenziali Snowflake? +
Mai. Il destinatario visualizza l'URL dell'endpoint, il corpo della risposta e gli eventuali parametri esposti come filtri. Il codice SQL rimane all'interno di Query Streams e le credenziali di Snowflake risiedono esclusivamente nell'archivio credenziali crittografato dell'agente sulla rete locale: non vengono mai trasmesse al nostro cloud.
Si tratta della stessa API HTTP o dell'API SQL di Snowflake? +
No. L'API SQL di Snowflake (la sua API HTTP) offre pieno accesso programmatico al tuo account per il codice che controlli, protetto con una coppia di chiavi o OAuth. Query Streams adotta un approccio opposto, più ristretto, per la condivisione in uscita: esponi una query salvata come un endpoint, ogni destinatario riceve la propria chiave revocabile, ogni chiamata viene registrata e non devi integrare o gestire nulla. Molti team utilizzano entrambi: l'API SQL internamente e Query Streams per condividere i risultati con i partner.
Quali formati di output può restituire l'API? +
JSON (il predefinito), CSV o — su un endpoint di streaming — NDJSON, che si adatta ai grandi set di risultati analitici prodotti da Snowflake; i destinatari scelgono per chiamata con il Accettare intestazione o ?format=. Formati di output, compressione e streaming spiegati →
Questo farà aumentare i miei crediti Snowflake? +
Ogni chiamata esegue la query salvata sul data warehouse assegnato al connettore, utilizzando quindi la potenza di calcolo di Snowflake come qualsiasi altra query. Per contenere i costi, è consigliabile configurare il connettore su un data warehouse di piccole dimensioni con sospensione automatica e scrivere una query salvata con ambito ristretto; la cache dei risultati di Snowflake gestisce inoltre le chiamate identiche ripetute senza dover eseguire una nuova scansione. I limiti di frequenza e le quote di byte in Query Streams offrono un ulteriore limite alla frequenza con cui un endpoint può essere attivato.
Un endpoint può scadere o autodistruggersi? +
Sì, un endpoint può essere permanente, scadere in una data specifica o avere un budget di chiamate fisso, e la chiave di qualsiasi destinatario può essere revocata istantaneamente senza dover ruotare le credenziali di Snowflake. Durata di validità degli endpoint e revoca della chiave per singolo destinatario →
Il destinatario necessita di un account Query Streams? +
No, condividi con una persona via e-mail (riceverà un link di accesso e un'organizzazione gratuita creata automaticamente) per la tracciabilità, oppure rilascia una chiave di servizio per l'accesso automatico da macchina a macchina. Come i destinatari richiedono e utilizzano una chiave →

Iniziare

Pubblica gratuitamente la tua prima API REST Snowflake.

Registrati, installa l'agente di rete, connetti Snowflake con un ruolo di sola lettura, salva una query SQL e invia via email a un destinatario una richiesta di collegamento magico. Chiavi per destinatario, applicazione del requisito di sola lettura e una traccia di controllo completa sono attive fin dalla prima chiamata.

Guide correlate: API REST istantanea per database SQL | Piattaforma API REST per database | Esporre BigQuery come API REST | Guide all'installazione dei connettori

Categoria: Piattaforma API

Tag: snowflake-rest-api, snowflake, snowflake-sql-rest-api, rest-api, Exposisci-snowflake-come-api, integrazione-api-snowflake, condividi-dati-snowflake, chiavi-per-destinatario, no-code-api, database-rest-api

Meta Description: Trasforma una query Snowflake in un'API REST sicura e di sola lettura con chiavi per destinatario: nessuna configurazione dell'API SQL, nessun account condiviso, nessun codice.

Updated on 16 giugno 2026

Powered by BetterDocs