Condividi tramite


Cos'è l'API Microsoft Fabric per GraphQL?

GraphQL è un linguaggio di query open source e un runtime per le API gestite da GraphQL Foundation. A differenza delle API REST tradizionali, GraphQL consente ai client di richiedere esattamente i dati necessari in una singola query, riducendo il sovraccarico e il sottolettura dei dati.

L'API di Microsoft Fabric per GraphQL offre questo potente standard all'ecosistema fabric come livello di accesso ai dati che consente di eseguire query su più origini dati in modo rapido ed efficiente. L'API astrae le specifiche delle origini dati back-end in modo da concentrarsi sulla logica dell'applicazione e fornire tutti i dati necessari a un client in una singola chiamata. Grazie al linguaggio di query semplice e alla manipolazione efficiente dei set di risultati, GraphQL riduce al minimo il tempo necessario per accedere ai dati in Fabric.

Perché usare GraphQL per i dati di Fabric

Senza GraphQL, l'esposizione dei dati di Fabric alle applicazioni richiede in genere uno di questi approcci:

Connessioni dirette al database

  • Le applicazioni si connettono direttamente a lakehouse o warehouse tramite driver SQL (ODBC, JDBC).
  • Associa strettamente il codice dell'applicazione agli schemi del database: le modifiche dello schema interrompono le applicazioni
  • Richiede la gestione di stringhe di connessione, credenziali e dipendenze del driver in ogni applicazione
  • Le query SQL incorporate nel codice dell'applicazione sono difficili da testare e gestire

API REST personalizzate

  • Creare e gestire servizi back-end personalizzati con framework come ASP.NET o Node.js
  • Scrivere codice controller, logica di routing e livelli di accesso ai dati per ogni endpoint
  • Creare versioni API separate (v1, v2, v3) quando le strutture dei dati cambiano
  • Over-fetch dei dati (ottenere intere righe quando sono necessarie poche colonne) o sotto-fetch (effettuare più passaggi per i dati correlati)

GraphQL risolve queste sfide:

  • Nessun codice back-end richiesto: Fabric genera automaticamente lo schema GraphQL, i resolver e l'endpoint dalle origini dati
  • Interroga esattamente ciò di cui hai bisogno: richiedi campi specifici in una singola query, eliminando l'eccesso di dati e riducendo le dimensioni del payload.
  • Recuperare i dati correlati in una richiesta: Esegui le relazioni senza viaggi di andata e ritorno multipli (nessun problema di query N+1)
  • Evoluzione dello schema senza modifiche di rilievo: aggiungere nuovi campi senza influire sulle query esistenti. I client richiedono solo ciò che sanno di
  • Sicurezza dei tipi e documentazione: Schema che si autodocumenta con introspezione integrata che gli strumenti di sviluppo comprendono
  • Accesso unificato a più origini: eseguire query tra lakehouse, warehouse e database SQL tramite un singolo endpoint

Per gli sviluppatori di applicazioni, GraphQL significa uno sviluppo più rapido con meno infrastruttura. Per i data engineer, significa esporre i dati senza scrivere e gestire codice API personalizzato.

Chi deve usare l'API per GraphQL

L'API di Fabric per GraphQL è progettata per:

  • Sviluppatori di applicazioni che creano applicazioni Web e per dispositivi mobili basate sui dati, utilizzando i dati di Fabric Lakehouse e warehouse
  • Data engineer che espongono i dati di Fabric alle applicazioni downstream tramite API moderne e flessibili senza scrivere codice back-end personalizzato
  • Sviluppatori di integrazione che connettono i dati di Fabric ad applicazioni personalizzate e flussi di lavoro automatizzati
  • Sviluppatori di business intelligence che creano applicazioni di analisi personalizzate che integrano Power BI con i dati di Fabric
  • Data scientist che espongono dati di Fabric e informazioni dettagliate sull'apprendimento automatico tramite API a livello di codice

Se si lavora all'interno della piattaforma di analisi unificata di Microsoft Fabric ed è necessario rendere accessibili i dati di lakehouse, warehouse o database SQL alle applicazioni, l'API GraphQL offre un modo efficiente e intuitivo per gli sviluppatori per eseguire query esattamente sui dati necessari.

Suggerimento

Si vogliono integrare le API GraphQL di Fabric con gli agenti di intelligenza artificiale? Prova il tutorial Creare un server MCP GraphQL locale per gli agenti di intelligenza artificiale per connettere gli agenti di intelligenza artificiale ai dati di Fabric usando il Model Context Protocol.

Esporre i dati tramite l'API per GraphQL

L'esposizione di origini dati a un elemento GraphQL in Microsoft Fabric è semplice e può essere eseguita in pochi minuti usando l'interfaccia visiva del portale di Fabric. Il processo prevede:

  1. Creare un elemento dell'API GraphQL nello spazio di lavoro Fabric
  2. Connettere le origini dati selezionando tra i lakehouse, i warehouse o i database disponibili
  3. Scegliere gli oggetti da esporre ad esempio tabelle, viste o procedure memorizzate
  4. Definire relazioni (facoltative) tra oggetti per abilitare query annidate avanzate
  5. Configurare le autorizzazioni per controllare chi può accedere all'API

Dopo la configurazione, Fabric genera automaticamente lo schema GraphQL, crea i resolver necessari e fornisce un URL dell'endpoint. L'API è immediatamente pronta per accettare query, ovvero nessuna configurazione di distribuzione o infrastruttura necessaria.

Per istruzioni dettagliate, vedere Creare un'API per GraphQL in Fabric e aggiungere dati.

Origini dati supportate

Attualmente le origini dati supportate seguenti vengono esposte tramite l'API fabric per GraphQL:

  • Data Warehouse di Microsoft Fabric
  • Database SQL di Microsoft Fabric
  • Microsoft Fabric Lakehouse tramite endpoint di Analisi SQL
  • Database con mirroring di Microsoft Fabric tramite endpoint di analisi SQL, tra cui:
    • Database SQL di Microsoft Azure
    • Istanza SQL gestita di Azure
    • Azure Cosmos DB, un servizio di database distribuito globale di Microsoft
    • Microsoft Fabric SQL Database
    • Azure Databricks
    • Snowflake
    • Aprire database specchiati
  • Database SQL di Azure
  • Datamart

Funzionalità

L'API Microsoft Fabric per GraphQL offre funzionalità complete che semplificano l'accesso ai dati per le applicazioni. Dalla generazione automatica del codice al monitoraggio delle prestazioni, queste funzionalità consentono di creare API dati affidabili con una configurazione minima.

Generazione automatica dello schema

  • Individuazione dello schema: individua e esegue automaticamente il mapping degli schemi delle origini dati ai tipi GraphQL
  • Generazione di query e mutazioni: Crea le query e le mutazioni GraphQL in base alla struttura dei dati
  • Generazione dei Resolver: genera automaticamente i resolver necessari per recuperare i dati dalle fonti
  • Codice di test locale: genera codice di esempio per test e sviluppo immediati

Flessibilità dell'origine dati

  • Più origini dati: connettersi ed eseguire query su più origini dati con supporto per eseguire query di tipo fan-out
  • Oggetti di database: supporto completo per tabelle, viste e stored procedure nei database e nei warehouse SQL
  • Esposizione selettiva: scegliere oggetti e colonne specifici da esporre tramite l'API
  • Modellazione delle relazioni: creare relazioni uno-a-uno, uno-a-molti e relazioni molti-a-molti tra entità dati

Operazioni e monitoraggio

  • Monitoraggio delle prestazioni: dashboard predefinito e registrazione delle richieste per tenere traccia del comportamento e dell'utilizzo dell'API

Evoluzione dello schema senza controllo delle versioni

GraphQL adotta un approccio univoco all'evoluzione dell'API evitando il controllo delle versioni tradizionali. Anziché creare endpoint v1, v2 e v3, le API GraphQL si evolvono in modo continuo:

  • Modifiche aggiuntive: è possibile aggiungere nuovi tipi, campi e funzionalità senza interrompere le query esistenti. I client richiedono solo i campi necessari, quindi i nuovi campi non influiscono su di essi.
  • Compatibilità con le versioni precedenti: le query esistenti continuano a funzionare anche man mano che lo schema aumenta, perché GraphQL restituisce solo dati richiesti in modo esplicito.
  • Deprecazione anziché rimozione: i campi possono essere contrassegnati come deprecati anziché rimossi immediatamente, offrendo ai clienti il tempo di adattarsi.
  • Singolo endpoint: le applicazioni si connettono sempre allo stesso endpoint, indipendentemente dalle modifiche dello schema.

Questo approccio semplifica la manutenzione dell'API e gli aggiornamenti client rispetto alle API con controllo delle versioni tradizionali. Quando si modifica lo schema dell'API GraphQL in Fabric, le applicazioni esistenti continuano a funzionare finché si aggiungono nuove funzionalità anziché rimuovere o rinominare i campi esistenti. Per altre informazioni sulla gestione delle modifiche dello schema, vedere Api di infrastruttura per l'introspezione e l'esportazione dello schema graphQL.

Esperienza di modifica interattiva

L'API per GraphQL include un editor che consente di sviluppare e testare facilmente le query e le mutazioni. Le funzionalità dell'editor includono:

  • Riquadro dei risultati per visualizzare l'output delle query e delle mutazioni
  • Supporto per parametri di query e mutazione
  • IntelliSense che supporta la sintassi GraphQL e i nomi degli oggetti dello schema

Per altre informazioni sull'uso dell'editor GraphQL, vedere Editor api per GraphQL.

Limitazioni

Per altre informazioni , vedere l'API per le limitazioni di GraphQL .