Visualizza le categorie

API REST della cartella Parquet: Trasforma una query SQL in un endpoint

API REST · Cartella Parquet verso un endpoint

Girare un Cartella Parquet Query SQL in un API REST endpoint

Salva una query in Query Builder, fai clic Nuovo endpoint, and you have a URL at api.querystreams.com with its own key. The SQL runs read-only on the Agent that already reads your Parquet Folder file; the caller gets JSON or CSV and never sees the SQL, the schema or a password. Nothing to host, no port to open. About 90 seconds from a saved query, and the Free plan covers your first endpoint.

Circa 90 secondi da una query salvata Nessun server da ospitare Il file rimane dov'è Una chiave per ogni chiamante, revocabile in qualsiasi momento.
Hai bisogno di aiuto? Chiedi pure a noi. Apri Supporto Accedi a Query Streams (menu in alto a destra → Supporto) e inviaci un messaggio. Persone reali lo leggono, e "Non so cosa mi stia chiedendo questa schermata" è una domanda assolutamente legittima.

Quello che otterrai alla fine

Logo della cartella ParquetUn URL a api.querystreams.com che restituisce le righe della query della cartella Parquet salvata in formato JSON o CSV a chiunque possieda una chiave, testata dalla console nel portale prima della condivisione. In questo modo:

INVIAREapi.querystreams.com/v1/endpoints/8f2c4d1e-6b3a-4f7e-9c21-5d0a7b3e2f19
ChiaveValoreDescrizione
ultimo_id_riga stringa OpzionaleSeattleFiltro richiamabile dalla query salvata
Chiave X-APIqsapi_AB••••••••••Il tuo token segreto
{
  "last_row_id": "Seattle"
}
IntestazioneValoreDescrizione
Chiave X-APIqsapi_AB••••••••••Il tuo token segreto. Uno per ogni chiamante, revocabile in qualsiasi momento.
Tipo di contenutoapplicazione/jsonI parametri vengono trasmessi come corpo JSON
Accettareapplicazione/jsonRisposta in formato JSON; se si richiede testo/CSV, si ottiene un file CSV.
curl -X POST "https://api.querystreams.com/v1/endpoints/8f2c4d1e-6b3a-4f7e-9c21-5d0a7b3e2f19" \ -H "X-API-Key: qsapi_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"last_row_id": "Seattle"}'
Stato 200 OKTempo 84 msMisurare 412 BTronco NO
{
  "colonne": [ { "nome": "_source_file", "tipo": "intero" }, { "nome": "conteggio_righe", "tipo": "corda" }, { "nome": "last_row_id", "tipo": "corda" } ],
  "file": [
    { "_source_file": 1042, "conteggio_righe": "Commercianti del Vento del Nord", "last_row_id": "Seattle" },
    { "_source_file": 1057, "conteggio_righe": "Alpine Outfitters", "last_row_id": "Denver" },
    { "_source_file": 1063, "conteggio_righe": "Harbour Foods", "last_row_id": "Halifax" }
  ],
  "meta": { "conteggio_righe": 3, "durata_agente_ms": 41, "request_id": "req_7Hq2mKd9" }
}
IntestazioneValoreDescrizione
tipo di contenutoapplicazione/json; charset=utf-8La busta sulla scheda Corpo
lunghezza del contenuto412Byte restituiti; il badge Dimensione sopra
Sola lettura: una sola query salvata, nient'altro SQL non esce mai dal tuo account Ogni chiamata nella scheda Attività

Parquet Folder memorizza i tuoi dati in file su un computer che controlli. Qualcun altro desidera accedervi per la propria app, dashboard o script, e le soluzioni tradizionali comportano il trasferimento di troppe informazioni: un login al database che non è più necessario per il progetto, un'esportazione notturna che risulta obsoleta già a colazione, o un piccolo server API che qualcun altro deve gestire e aggiornare. Query Streams trasforma l'endpoint in una query salvata con una chiave. L'agente, già presente con una cartella di file Parquet, esegue la query, api.querystreams.com verifica la chiave e il limite di richieste, e chi effettua la chiamata riceve le righe. Il codice SQL, lo schema e le credenziali non lasciano mai il tuo account.

DOVE RISIEDE IL FILEcomputer dell'ufficio, un server o quello di casaIl tuo file nella cartella Parquetresta quiAgente Query Streamsesegue la query salvataapi.querystreamscontrolla la chiaveHTTPS · solo righe, mai SQLCHIUNQUE POSSIEDA UNA CHIAVEla tua app, una dashboard, un partner, uno scriptGET o POST con X-API-KeyInvio in formato JSON, CSV o NDJSON
L'agente risiede sui tuoi dati ed esegue la query. api.querystreams.com verifica la chiave e il limite di richieste e inoltra le righe. Il chiamante non raggiunge mai la tua rete.

Cosa ti servirà

Un account Query Streams

Ogni piano include l'API REST. Il piano gratuito offre un endpoint, due chiavi e 250 righe per chiamata, sufficienti per realizzare questa guida. Registrati su my.querystreams.com.

The Agent with your Parquet Folder file added as a connection

Non hai ancora finito? Aggiungilo in Dati → Agenti dati; ci vogliono circa dieci minuti.

Una query salvata in Query Builder

L'endpoint incapsula esattamente una query salvata. Scrivi la SELECT, eseguila una volta, salvala. Aggiungi un filtro dinamico (un @variable nella clausola WHERE) se i chiamanti devono essere in grado di filtrare.

Chi può creare endpoint? Proprietari, amministratori e creatori. Se il API L'elemento manca dalla barra superiore, un amministratore può attivarlo per il tuo utente in Account → AutorizzazioniChiunque condivida un endpoint con te ha bisogno solo di un account Query Streams, indipendentemente dal piano.

Configuralo in quattro passaggi

  1. Salva la query

    In Generatore di query Scegli la connessione alla cartella Parquet, scrivi la query SELECT che desideri pubblicare ed eseguila una volta per visualizzare le righe. Limitati alle colonne richieste dal chiamante; l'endpoint restituisce esattamente ciò che restituisce la query.

    Query salvata · fileset.orders
    SELEZIONARE _file_sorgente, CONTO(*) AS conteggio_righe, MAX(_row_id) AS ultimo_id_riga DA fileset.orders GRUPPO DI _source_file ORDINE DI conteggio_righe DESC LIMITE 100

    Se i chiamanti devono essere in grado di filtrare, aggiungi un filtro dinamico, ad esempio DOVE last_row_id = @last_row_id. Ogni @variable diventa un parametro API nel passaggio 3. Fai clic Risparmiare e assegnare un nome alla query; tale nome diventerà il nome visualizzato dell'endpoint.

  2. Crea l'endpoint

    Apri API nella barra superiore e fai clic Nuovo endpointLa procedura guidata prevede quattro passaggi, Query di selezione, Configurare, Parametri di blocco e Condividi. SU Query di selezione, fai clic sulla query appena salvata; le query il cui agente è offline sono visualizzate in grigio. Fai clic Avanti.

    Scorciatoia. Da Query Builder è possibile esporre direttamente la query aperta; la procedura guidata inizia quindi da Configurare con la query già selezionata.

  3. Configura e blocca i parametri

    SU Configurare Le impostazioni predefinite sono corrette per un primo endpoint: Nome da visualizzare riempito dalla query, Durata Permanente (scegli In scadenza per una quota temporanea), Modalità di risposta Statico (una risposta JSON; scegli Streaming per risultati che superano il limite di righe statico del tuo piano), Formato grafico JSON. La modalità e il formato della risposta sono fissi una volta creati, quindi decidili qui. Fai clic Avanti.

    SU Parametri di blocco Ogni filtro dinamico nella query è elencato. Lascia invariati quelli che i chiamanti possono impostare come Chiamabile e dare a ciascuno un Nome della stringa di query; tic tac Necessario se una chiamata senza di esso dovesse fallire. Fissa un valore che il chiamante non deve modificare con Chiuso, o uno scenario di appuntamento come Inizio del mese. Nascosto mantiene il valore predefinito della query e rifiuta qualsiasi tentativo di impostarlo. Fare clic Avanti.

  4. Condividi e ottieni la tua chiave

    SU Condividi puoi invitare Persone tramite e-mail o aggiungi un Chiave di servizio per un server o uno strumento di automazione, oppure salta entrambi per ora. Fai clic Crea e ottieni la mia chiave. La schermata di successo mostra l'URL dell'endpoint e la tua chiave: una stringa di 49 caratteri che inizia con qsapi_. Copialo. Puoi visualizzarlo di nuovo in seguito dall'endpoint Condivisione scheda, in modo che non vada persa se chiudi lo schermo.

    Cliccare Inviare nella console per effettuare la prima chiamata dal portale stesso. Il riquadro di risposta mostra Stato, Tempo e Misurare, IL Corpo la scheda mostra il JSON e la chiamata appare su Attività premere il tasto pochi secondi dopo.

Questo è tutto. Una cartella di file Parquet ora risponde, tramite un URL, in sola lettura, alle chiavi che distribuisci. Non è stato installato nulla, non è stata aperta alcuna porta e il database SQL è rimasto nel tuo account.

Chiamalo da qualsiasi luogo

Sostituisci l'ID dell'endpoint con il tuo dalla barra degli URL della console e qsapi_LA_TUA_CHIAVE con la tua chiave. I parametri richiamabili vanno nella stringa di query su GET; qui la query salvata espone ultimo_id_riga:

GET · parametri nella stringa di query
curl "https://api.querystreams.com/v1/endpoints/8f2c4d1e-6b3a-4f7e-9c21-5d0a7b3e2f19?last_row_id=Seattle" \ -H "X-API-Key: qsapi_YOUR_KEY"
Risposta · 200 OK · application/json
{
  "colonne": [ { "nome": "_source_file", "tipo": "intero" }, { "nome": "conteggio_righe", "tipo": "corda" }, { "nome": "last_row_id", "tipo": "corda" } ],
  "file": [
    { "_source_file": 1042, "conteggio_righe": "Commercianti del Vento del Nord", "last_row_id": "Seattle" },
    { "_source_file": 1057, "conteggio_righe": "Alpine Outfitters", "last_row_id": "Denver" },
    { "_source_file": 1063, "conteggio_righe": "Harbour Foods", "last_row_id": "Halifax" }
  ],
  "meta": { "conteggio_righe": 3, "durata_agente_ms": 41, "request_id": "req_7Hq2mKd9" }
}

Le righe vengono restituite come oggetti indicizzati dal nome della colonna, con l'elenco delle colonne e un meta blocco che indica il numero di righe, se il risultato è stato troncato e l'ID della richiesta che puoi citare all'assistenza. La stessa chiamata come POST inserisce i parametri in un corpo JSON, che è la scelta giusta per lunghi elenchi di valori:

POST · parametri in un corpo JSON
curl -X POST "https://api.querystreams.com/v1/endpoints/8f2c4d1e-6b3a-4f7e-9c21-5d0a7b3e2f19" \ -H "X-API-Key: qsapi_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"params": {"last_row_id": "Seattle"}}'
?format=csv
File CSV anziché JSON, con riga di intestazione inclusa. Accetta: testo/csv fa lo stesso. Gli endpoint di streaming restituiscono NDJSON (un oggetto JSON per riga) con un finale {"_summary": true, "row_count": N} riga; controlla quell'ultima riga.
?sample=true
Massimo cinque file, non fatturate. Utile per cablare un cliente.
?compression=lz4
Un corpo con telaio LZ4 per chiamanti ad alto volume con decoder; il Codice la scheda contiene il frammento del decodificatore per lingua. La semplice compressione gzip avviene automaticamente quando il client invia Accept-Encoding: gzip.
Autorizzazione: Portatore qsapi_…
Accettato come alias per Chiave X-API. Utilizzalo dal codice del browser.

Dove si collega

Excel e Power BI

Esporta → Power Query M (pq) ti fornisce una query già pronta. Incollala nell'Editor avanzato (Excel: Dati → Ottieni dati → Da altre origini → Query vuota; Power BI: Home → Trasforma dati → Nuova origine → Query vuota) e sostituisci il segnaposto con la tua query. qsapi_ chiave.

Postino, Insonnia, Campana

Lo stesso Esportare Il menu consente di scaricare una raccolta Postman v2.1, un'esportazione Insomnia v5 o una raccolta Hoppscotch con i parametri già compilati e un segnaposto per la chiave.

Il tuo codice personale

IL Codice La scheda contiene esempi funzionanti per cURL, Python, JavaScript, TypeScript, Java, C#, Go, PHP, PowerShell e Ruby. Esporta → Specifiche OpenAPI 3.1 alimenta qualsiasi generatore client o interfaccia utente Swagger.

n8n, Zapier, Make, cron

Crea un Chiave di servizio Per lo strumento, incolla l'URL e la chiave nel relativo nodo HTTP e pianificalo. Ogni strumento ha la sua chiave, quindi puoi revocarne uno senza modificare gli altri.

Cosa consentono i piani

PianoPunti terminaliChiavi per endpointPersone per endpointRighe per chiamata (statico)Righe per chiamata (streaming)Chiamate al minuto, per tasto
Gratuito1212502503
Nucleo personale2325,000250,00015
Plus personale55510,000500,00030
Nucleo aziendale5101050,0001,000,000300
Business Plus102025100,0005,000,000600
Gestione massima253050250,00010,000,000600
Nucleo aziendale5050100500,00025,000,0001,000
Enterprise Plus1001002501,000,00050,000,0001,000
Enterprise Max2502005002,500,000100,000,0001,500

Ogni chiamata ha anche un timeout fisso di 60 secondi e un limite di risposta di 8 MiB, e i byte restituiti vengono conteggiati nel limite dati mensile del tuo piano, lo stesso limite utilizzato dai componenti aggiuntivi di Excel e Fogli Google. La versione gratuita ha un endpoint e 5 MB al mese, che sono più che sufficienti per una piccola tabella richiamata più volte al giorno. Consulta la pagina dei prezzi per le indennità previste dal piano.

Gratis è un piano che mantieni. Non è una prova che scade. Scopri esattamente cosa include su pagina dei prezzi.

Tenerlo al sicuro

Il codice SQL rimane tuo

Chi effettua la chiamata riceve solo le righe. Non vede mai la query, i nomi delle tabelle o i dettagli della connessione e non può modificare ciò che viene eseguito dall'endpoint.

Una chiave, un punto di accesso, un chiamante

Una chiave funziona per un solo endpoint. Assegna una chiave a ogni persona o strumento, e ogni chiamata verrà registrata a quel valore. Revocandone una, le altre continueranno a funzionare; la revoca ha effetto entro circa cinque minuti.

Sola lettura, dalla tua parte del muro

L'agente esegue l'unica query SELECT salvata e nient'altro, dall'interno della rete locale, tramite la propria connessione in uscita. Non è necessario aprire alcuna porta né richiedere credenziali su Internet.

Ogni chiamata nel registro

IL Attività La scheda mostra ogni chiamata con ora, destinatario, stato, righe, byte e durata, comprese quelle rifiutate. Imposta un In scadenza durata di vita per una condivisione temporanea e l'endpoint si disattiva automaticamente alla data.

Quando qualcosa non funziona

StatoCodiceCosa fare
401CHIAVE API RICHIESTA / CHIAVE API NON VALIDAL'intestazione è mancante o la chiave è errata. Invia Chiave X-API: qsapi_…, tutti i 49 caratteri. Le chiavi possono essere copiate nuovamente dalla scheda Condivisione dell'endpoint.
403API_KEY_ENDPOINT_MISMATCHUna chiave valida utilizzata su un endpoint diverso. Ogni chiave appartiene a un singolo endpoint.
403CHIAVE API REVOCATA / ENDPOINT API SCADUTOLa chiave è stata revocata o l'endpoint ha raggiunto la data di scadenza. Genera una nuova chiave o ripristina l'endpoint.
400API_PARAM_NOT_OVERRIDABLEHai inviato un parametro che il proprietario non ha contrassegnato come richiamabile. Il corpo della richiesta elenca i nomi consentiti.
414API_QUERY_TOO_LARGELa stringa di query GET ha trasmesso 8 KB o 200 valori di elenco. Invia gli stessi parametri come corpo JSON POST.
413API_OUTPUT_TOO_LARGEIl risultato ha superato il limite di 8 MiB. Restringi la query o passa all'endpoint Streaming.
429API_RATE_LIMITEDTroppe chiamate in questo minuto per la chiave o l'endpoint. Attendi il Riprova dopo secondi o aumentare Limite di velocità Nella sezione Impostazioni API → Impostazioni predefinite del tuo piano.
429API_DATA_REALM_ESAURITOIl traffico dati mensile del proprietario è esaurito. Si azzera con il mese di fatturazione successivo; effettua l'upgrade per averne di più.
503API_AGENT_NON_CONNESSOL'agente associato al file della cartella Parquet è offline. Verificalo in Dati → Agenti dati; le chiamate riprenderanno a funzionare non appena verrà ristabilita la connessione.
504API_QUERY_TIMEOUTL'esecuzione della query ha richiesto più di 60 secondi. Aggiungi un filtro o un indice, oppure salva una query più specifica.

Ogni corpo di errore ha la forma {"errore": {"codice": "…", "messaggio": "…"}} e ogni risposta porta con sé un X-QS-Request-Id Intestazione. Citare l'ID quando si scrive all'assistenza.

Domande che le persone si pongono

I miei dati vengono copiati in Query Streams?

No. L'agente esegue la query nella posizione in cui si trovano i dati e invia solo le righe richieste dalla chiamata. Nulla viene sincronizzato o memorizzato nella cache; ogni chiamata esegue la query.

I chiamanti possono modificare la query SQL o richiedere altre tabelle?

No. Un endpoint esegue una query salvata. I chiamanti possono impostare solo i parametri che hai contrassegnato. Chiamabilee i valori sono associati in modo sicuro: il testo è racchiuso tra virgolette e preceduto da un carattere di escape, i numeri sono controllati per intervallo e gli elenchi sono espansi.

Come faccio a consegnarlo a un collega?

Sul punto finale Condivisione scheda scegli Persone e inserire la loro email. Ricevono un link magico, accedono con quell'indirizzo (un account gratuito va bene) e creano la propria chiave; vedrai le loro chiamate per nome nella scheda Attività. Per un server o uno strumento di automazione, crea un Chiave API con un'etichetta invece.

Cosa succede quando modifico la query salvata?

L'endpoint esegue il nuovo SQL alla chiamata successiva e la sua specifica OpenAPI viene rigenerata. L'URL e le chiavi non cambiano. Se aggiungi o rimuovi un filtro, rivisita Parametri di blocco in modo che chi chiama veda i parametri corretti.

Il piano gratuito copre davvero tutto questo?

Sì. Il piano gratuito è un piano che mantieni, non una prova che scade. Include un endpoint, due chiavi e 250 righe per chiamata. Scopri esattamente cosa include su pagina dei prezzi.

L'endpoint supporta il dialetto SQL di Parquet Folder?

Sì, perché la query SQL è tua. L'hai scritta ed eseguita su una cartella di file Parquet in Query Builder; l'endpoint esegue esattamente la stessa istruzione tramite la stessa connessione, con i valori dei parametri configurati nel modo previsto da Parquet Folder.

Una cartella contenente file Parquet deve essere accessibile da Internet?

No. Solo l'agente deve accedervi, dall'interno della tua rete. L'agente effettua una sola connessione in uscita verso Query Streams; chi effettua la chiamata comunica con api.querystreams.com e mai con il tuo computer.

Ancora bloccato? Apri Supporto Accedi a Query Streams e comunicaci a quale passaggio ti trovi e cosa visualizzi. Ti aiuteremo a connetterti.

Ogni guida per Parquet Folder

Non è proprio la tua configurazione?

  • I tuoi dati sono già presenti in un file di database DuckDB? Il connettore DuckDB lo apre direttamente → DuckDB
  • Hai bisogno solo di un elenco di file con dimensioni, date e modifiche? File System lo fa senza leggere i file → File System

Setup trouble?

  • Agent says the file or folder does not exist, or access is denied? Mapped drives, network shares, OneDrive and Linux home folders each need one fix → Where the Agent can read files from
  • Agent shows Offline, or Test connection and Browse are greyed out? Check that the Agent is online → Is the Agent online?
Updated on 27 settembre 2026

Powered by BetterDocs