M365Con 2027 – conferenza online gratuita · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Chiamare direttamente le API REST da Azure SQL: guida per sviluppatori

By ·

Scopri come usare sp_invoke_external_rest_endpoint in Azure SQL per chiamare direttamente le API REST, abilitando flussi di lavoro basati sugli eventi ed elaborazione dei dati con l'AI.

Automatically translated with AI from the original post. Read the English original

Cover: When Azure SQL Becomes an Application Platform- APIs, Automation and AI with Dirceu Resende

Chiamare direttamente le API REST da Azure SQL trasforma il database da semplice repository passivo di dati a un partecipante attivo e guidato dagli eventi nelle architetture applicative moderne. Sfruttando le funzionalità native di T-SQL per comunicare con servizi web esterni, gli sviluppatori possono semplificare i flussi di lavoro, attivare avvisi in tempo reale e integrare modelli di AI senza dover ricorrere a un livello middleware separato.

Punti chiave

Il cambiamento nell'architettura dei database

Per decenni, la progettazione tradizionale delle applicazioni ha seguito uno schema a livelli rigido: l'interfaccia utente comunicava con un livello applicativo, che a sua volta eseguiva la logica di business e salvava i record nel database. Il database attendeva in silenzio, leggendo o scrivendo solo quando veniva esplicitamente richiesto. Sebbene questa separazione delle responsabilità resti valida per molti sistemi aziendali, introduce un sovraccarico quando semplici modifiche ai dati devono attivare azioni esterne.

Con le moderne funzionalità del cloud, Azure SQL Database riceve aggiornamenti delle funzionalità molto più rapidamente delle tradizionali release on-premises di SQL Server. Una delle capacità con maggiore impatto è la possibilità di avviare richieste di rete in uscita direttamente dal motore del database. Invece di scrivere servizi worker esterni che interrogano le tabelle alla ricerca di nuove righe, gli architetti possono progettare database che reagiscono agli eventi operativi in tempo reale.

Come funziona sp_invoke_external_rest_endpoint

Il meccanismo centrale che rende possibile questo cambiamento architetturale in Azure SQL è la stored procedure di sistema sp_invoke_external_rest_endpoint. Questa funzione consente al codice T-SQL di formattare un payload JSON, eseguire una richiesta HTTP verso un endpoint API REST autorizzato e acquisire la risposta all'interno della sessione del database.

Consideriamo uno scenario di classificazione del feedback dei clienti. Quando un utente invia una recensione, questa finisce in una tabella di Azure SQL. Invece di creare un container app dedicato solo per leggere la tabella, inviare il testo a un'API di analisi del sentiment basata sull'AI e scrivere il punteggio, è il database stesso a poter orchestrare la chiamata. Un trigger o un processo pianificato invia il testo della recensione tramite sp_invoke_external_rest_endpoint a un servizio di Azure Cognitive Services o a un'API di OpenAI, analizza la risposta JSON e memorizza la classificazione del sentiment accanto al feedback originale.

Scenari di integrazione pratici

Aprire la connettività REST in uscita da Azure SQL rende possibili diversi schemi di integrazione comuni che in precedenza richiedevano codice di collegamento complesso con Azure Functions o Logic Apps:

Modelli di integrazione sincrona e asincrona

Sebbene la capacità tecnica di richiamare API da T-SQL sia molto potente, gli architetti devono valutare con attenzione i modelli di esecuzione per evitare colli di bottiglia nelle prestazioni. Non tutti i processi aziendali devono avvenire nel millisecondo esatto in cui i dati cambiano.

L'integrazione sincrona esegue la chiamata API immediatamente all'interno del ciclo di vita della transazione. Se viene effettuato un ordine, il database chiama un'API del gateway di pagamento e attende una risposta prima di confermare la transazione. Sebbene sia necessaria per i controlli finanziari, un uso eccessivo delle chiamate sincrone può introdurre latenza, bloccare le connessioni e causare guasti a catena se l'API esterna non è disponibile.

I modelli asincroni, invece, si basano su processi pianificati o tabelle di accodamento. Il database registra l'evento localmente e prosegue immediatamente. Una routine in background raggruppa periodicamente i record accumulati, ad esempio inviando un'unica notifica di riepilogo per cinquanta ordini anziché cinquanta richieste individuali, preservando le prestazioni del database e la resilienza del sistema.

Procedure consigliate per sicurezza e governance

Consentire a un database di comunicare con l'esterno introduce considerazioni di sicurezza specifiche. Aprire percorsi di rete in uscita richiede il rigoroso rispetto del principio del privilegio minimo.

Gli amministratori dovrebbero sfruttare le regole del firewall di Azure SQL, gli endpoint privati e le credenziali con ambito di database per garantire che si possa accedere solo agli URL approvati e che i segreti delle API non siano mai esposti in chiaro nelle definizioni delle stored procedure. Combinare questi meccanismi di protezione del database con le identità gestite garantisce che l'architettura cloud rimanga sicura, conforme e performante.

Conclusione e prossimi passi

Estendere Azure SQL oltre la semplice archiviazione, trasformandolo in una piattaforma applicativa attiva, cambia il modo in cui gli sviluppatori affrontano integrazione, automazione e flussi di lavoro basati sull'AI. Comprendendo quando e come richiamare direttamente le API REST da T-SQL, è possibile ridurre la complessità delle applicazioni e costruire architetture dei dati più reattive.

Per approfondire questo argomento e ascoltare il parere di esperti su Azure SQL, ottimizzazione delle prestazioni dei database e modernizzazione cloud, ascolta l'episodio completo e scopri come l'ingegneria dei database si stia evolvendo nell'ecosistema cloud Microsoft.

Domande frequenti

Che cos'è sp_invoke_external_rest_endpoint in Azure SQL?

È una stored procedure di sistema integrata in Azure SQL Database che consente agli sviluppatori di effettuare in modo sicuro richieste HTTP GET, POST, PUT e DELETE verso endpoint REST esterni direttamente da T-SQL.

Servono ancora Azure Functions o Logic Apps se Azure SQL può richiamare API REST?

Non necessariamente per avvisi semplici attivati dal database o per consultazioni rapide di API, ma Azure Functions e Logic Apps restano la scelta migliore per orchestrazioni complesse in più passaggi, trasformazioni pesanti e la gestione di code di messaggi asincrone su larga scala.

Come proteggo le credenziali quando richiamo API REST da Azure SQL?

Dovresti utilizzare le credenziali con ambito di database di Azure e le origini dati esterne per archiviare in modo sicuro chiavi API, token o segreti OAuth sensibili, anziché inserirli direttamente negli script T-SQL.

L'integrazione REST sincrona in Azure SQL è consigliata per transazioni ad alto volume?

In genere no. Le chiamate API sincrone bloccano la transazione SQL fino alla risposta del servizio esterno, il che può ridurre le prestazioni del database e causare timeout di connessione. Per carichi di lavoro intensi sono preferibili l'elaborazione asincrona o i processi in background.

Entities in this article

sp_invoke_external_rest_endpoint HTTP REST API Azure Functions JSON Middleware Azure SQL Database Azure Logic Apps Container Microsoft To Do

Related articles

RSS