Girare un SkySQL Query SQL in un API REST endpoint
Salva una query in Query Builder, fai clic Nuovo endpointe hai un URL su api.querystreams.com con la sua chiave. La query SQL viene eseguita in sola lettura sull'agente già presente nel tuo database SkySQL; chi effettua la chiamata riceve un file JSON o CSV e non vede mai la query SQL, lo schema o la password. Non c'è bisogno di ospitare nulla, né di aprire porte. Il tempo di risposta è di circa 90 secondi da una query salvata e il piano gratuito copre il primo endpoint.
Quello che otterrai alla fine
Un URL a api.querystreams.com che restituisce le righe della query SkySQL salvata in formato JSON o CSV a chiunque possieda una chiave, testata dalla console del portale prima della condivisione. In questo modo:
| Chiave | Valore | Descrizione |
|---|---|---|
città stringa Opzionale | Seattle | Filtro richiamabile dalla query salvata |
Chiave X-API | qsapi_AB•••••••••• | Il tuo token segreto |
{
"città": "Seattle"
}| Intestazione | Valore | Descrizione |
|---|---|---|
Chiave X-API | qsapi_AB•••••••••• | Il tuo token segreto. Uno per ogni chiamante, revocabile in qualsiasi momento. |
Tipo di contenuto | applicazione/json | I parametri vengono trasmessi come corpo JSON |
Accettare | applicazione/json | Risposta 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 '{"city": "Seattle"}'{
"colonne": [ { "nome": "customer_id", "tipo": "intero" }, { "nome": "nome", "tipo": "corda" }, { "nome": "città", "tipo": "corda" } ],
"file": [
{ "customer_id": 1042, "nome": "Commercianti del Vento del Nord", "città": "Seattle" },
{ "customer_id": 1057, "nome": "Alpine Outfitters", "città": "Denver" },
{ "customer_id": 1063, "nome": "Harbour Foods", "città": "Halifax" }
],
"meta": { "conteggio_righe": 3, "durata_agente_ms": 41, "request_id": "req_7Hq2mKd9" }
}| Intestazione | Valore | Descrizione |
|---|---|---|
tipo di contenuto | applicazione/json; charset=utf-8 | La busta sulla scheda Corpo |
lunghezza del contenuto | 412 | Byte restituiti; il badge Dimensione sopra |
MariaDB SkySQL archivia i tuoi dati nel cloud, gestiti dal suo provider. Qualcuno desidera accedervi per la propria applicazione, dashboard o script, e le soluzioni tradizionali spesso comportano il trasferimento di troppe informazioni: credenziali di accesso al database che non sono più valide, un'esportazione notturna obsoleta già a colazione, o un piccolo server API che qualcuno deve gestire e aggiornare. Query Streams trasforma l'endpoint in una query salvata con una chiave. L'agente già presente nel tuo servizio MariaDB Cloud 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.
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.
L'agente su qualsiasi computer sempre acceso, con la connessione SkySQL aggiunta
È sufficiente una connessione a Internet.
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
-
Salva la query
In Generatore di query Scegli la tua connessione SkySQL, scrivi la query SELECT che desideri pubblicare ed eseguila una volta per visualizzare le righe. Limitati alle colonne necessarie al chiamante; l'endpoint restituisce esattamente ciò che restituisce la query.
Query salvata · clientiSELEZIONARE ID cliente, nome, città DA clienti ORDINE DI nome LIMITE 100;
Se i chiamanti devono essere in grado di filtrare, aggiungi un filtro dinamico, ad esempio
DOVE city = @city. Ogni@variablediventa un parametro API nel passaggio 3. Fai clic Risparmiare e assegnare un nome alla query; tale nome diventerà il nome visualizzato dell'endpoint. -
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.
-
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.
-
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. Il tuo servizio MariaDB Cloud ora risponde, tramite un URL di sola lettura, alle chiavi che hai fornito. 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 città:
curl "https://api.querystreams.com/v1/endpoints/8f2c4d1e-6b3a-4f7e-9c21-5d0a7b3e2f19?city=Seattle" \ -H "X-API-Key: qsapi_YOUR_KEY"
{
"colonne": [ { "nome": "customer_id", "tipo": "intero" }, { "nome": "nome", "tipo": "corda" }, { "nome": "città", "tipo": "corda" } ],
"file": [
{ "customer_id": 1042, "nome": "Commercianti del Vento del Nord", "città": "Seattle" },
{ "customer_id": 1057, "nome": "Alpine Outfitters", "città": "Denver" },
{ "customer_id": 1063, "nome": "Harbour Foods", "città": "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:
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": {"city": "Seattle"}}'?format=csv- File CSV anziché JSON, con riga di intestazione inclusa.
Accetta: testo/csvfa 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
| Piano | Punti terminali | Chiavi per endpoint | Persone per endpoint | Righe per chiamata (statico) | Righe per chiamata (streaming) | Chiamate al minuto, per tasto |
|---|---|---|---|---|---|---|
| Gratuito | 1 | 2 | 1 | 250 | 250 | 3 |
| Nucleo personale | 2 | 3 | 2 | 5,000 | 250,000 | 15 |
| Plus personale | 5 | 5 | 5 | 10,000 | 500,000 | 30 |
| Nucleo aziendale | 5 | 10 | 10 | 50,000 | 1,000,000 | 300 |
| Business Plus | 10 | 20 | 25 | 100,000 | 5,000,000 | 600 |
| Gestione massima | 25 | 30 | 50 | 250,000 | 10,000,000 | 600 |
| Nucleo aziendale | 50 | 50 | 100 | 500,000 | 25,000,000 | 1,000 |
| Enterprise Plus | 100 | 100 | 250 | 1,000,000 | 50,000,000 | 1,000 |
| Enterprise Max | 250 | 200 | 500 | 2,500,000 | 100,000,000 | 1,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
| Stato | Codice | Cosa fare |
|---|---|---|
| 401 | CHIAVE API RICHIESTA / CHIAVE API NON VALIDA | L'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. |
| 403 | API_KEY_ENDPOINT_MISMATCH | Una chiave valida utilizzata su un endpoint diverso. Ogni chiave appartiene a un singolo endpoint. |
| 403 | CHIAVE API REVOCATA / ENDPOINT API SCADUTO | La chiave è stata revocata o l'endpoint ha raggiunto la data di scadenza. Genera una nuova chiave o ripristina l'endpoint. |
| 400 | API_PARAM_NOT_OVERRIDABLE | Hai inviato un parametro che il proprietario non ha contrassegnato come richiamabile. Il corpo della richiesta elenca i nomi consentiti. |
| 414 | API_QUERY_TOO_LARGE | La stringa di query GET ha trasmesso 8 KB o 200 valori di elenco. Invia gli stessi parametri come corpo JSON POST. |
| 413 | API_OUTPUT_TOO_LARGE | Il risultato ha superato il limite di 8 MiB. Restringi la query o passa all'endpoint Streaming. |
| 429 | API_RATE_LIMITED | Troppe 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. |
| 429 | API_DATA_REALM_ESAURITO | Il traffico dati mensile del proprietario è esaurito. Si azzera con il mese di fatturazione successivo; effettua l'upgrade per averne di più. |
| 503 | API_AGENT_NON_CONNESSO | L'agente associato al tuo database SkySQL è offline. Verificalo in Dati → Agenti dati; le chiamate riprenderanno a funzionare non appena verrà ristabilita la connessione. |
| 504 | API_QUERY_TIMEOUT | L'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 SkySQL?
Sì, perché la query SQL è tua. L'hai scritta e eseguita sul tuo servizio MariaDB Cloud in Query Builder; l'endpoint esegue esattamente la stessa istruzione tramite la stessa connessione, con i valori dei parametri configurati nel modo previsto da SkySQL.
Il mio servizio MariaDB Cloud deve essere raggiungibile da Internet?
No. Solo l'agente deve accedervi, da qualsiasi computer sempre acceso con accesso a Internet. L'agente effettua una sola connessione in uscita verso Query Streams; chi chiama comunica con api.querystreams.com e mai con il tuo server.
Guide correlate
Ogni guida per SkySQL
Setup trouble?
- Want the Agent to sign in with a login that can only read? Create a read-only database user, with copy-paste SQL for each database → Create a read-only database user
- Agent shows Offline, or Test connection and Browse are greyed out? Check that the Agent is online → Is the Agent online?

