Creare un'API per GraphQL in Fabric e aggiungere dati
Per iniziare a usare l'API Fabric per GraphQL, creare un'API e quindi collegare un'origine dati per esporre i dati scelti tramite l'API. Fabric compila automaticamente lo schema GraphQL in base ai dati e le applicazioni sono pronte per la connessione in pochi minuti.
Prerequisiti
Creazione di un'API per GraphQL
Per creare un'API per GraphQL:
Selezionare Nuovo elemento da qualsiasi area di lavoro. Nel pannello che si apre, in Sviluppo dati, selezionare API per GraphQL.
Immettere un Nome per l’elemento e selezionare Crea.
Ora è disponibile un'API completamente funzionale per accedere ai dati in Fabric.
Connettersi a un'origine dati e compilare lo schema
A questo punto, l'API è pronta ma non espone dati. Le API per GraphQL sono definite in uno schema organizzato in termini di tipi e campi, in un sistema fortemente tipizzato. Fabric genera automaticamente lo schema GraphQL necessario in base ai dati che si sceglie di esporre ai client GraphQL.
Nella nuova API scegliere un'origine dati da esporre scegliendo Seleziona origine dati.
Selezionare quindi l'opzione di connettività per l'API:
Qui è possibile definire il modo in cui i client API possono accedere all'API per eseguire richieste GraphQL in base a due opzioni distinte:
- Single Sign-On (SSO): usare le credenziali client per connettersi alle origini dati, il che significa che l'utente dell'API autenticata deve avere accesso all'origine dati sottostante. Ad esempio, se si espongono i dati di Lakehouse ai client API, l'utente autenticato deve avere accesso sia all'API che a Lakehouse. In particolare, autorizzazioni Esegui per l'API GraphQL (comeEseguire Query e Mutazioni opzione quando si aggiungono le autorizzazioni di accesso diretto) e le autorizzazioni di lettura o scrittura richieste nell'origine dati scelta, rispettivamente. In alternativa, l'utente può essere aggiunto come membro dell'area di lavoro con un ruolo collaboratore in cui si trovano sia l'API che gli elementi dell'origine dati, che consentirà l'accesso necessario a entrambi gli elementi da un'unica posizione. Per altre informazioni, vedere Concedere agli utenti l'accesso alle aree di lavoro.
- Credenziali salvate: usare le credenziali salvate per connettersi alle origini dati, il che significa che l'utente dell'API autenticato non richiede l'accesso diretto all'origine dati. Una credenziale salvata viene condivisa per accedere ai dati tra l'API e le tabelle sottostanti nell'origine dati. Ad esempio, se si espongono i dati di Lakehouse ai client API, l'utente autenticato deve avere accesso diretto all'API (opzione Esegui query e mutazioni quando si aggiungono autorizzazioni di accesso diretto) e non a Lakehouse. Una credenziale salvata viene usata per connettere l'API all'origine dati ed è condivisa da tutti gli utenti dell'API autenticati. Questa opzione è necessaria se si espone un'origine dati di Azure, ad esempio un database SQL di Azure tramite GraphQL. Dopo aver selezionato OK, verrà richiesto di creare una nuova credenziale salvata dopo aver scelto un'origine dati nel passaggio successivo, se non sono già presenti credenziali salvate.
Dopo aver selezionato queste opzioni vengono applicate per tutte le origini dati aggiunte successivamente all'API. Non è possibile combinare l'accesso Single Sign-On e le credenziali salvate nella stessa API. Inoltre, anche se è possibile usare i nomi dell'entità utente (UPN) o i nomi delle entità servizio (SPN) per connettersi all'API, le entità servizio supportano attualmente solo l'accesso Single Sign-On (SSO). Le entità utente possono sfruttare l'accesso SSO o le credenziali salvate, a seconda dei requisiti di sicurezza.
Nota
L'API per GraphQL richiede alle applicazioni client di usare Microsoft Entra ID per l'autenticazione. L'applicazione client deve essere registrata e configurata in modo adeguato per eseguire chiamate API su Fabric. L'app registrata in Microsoft Entra ID richiede autorizzazioni API GraphQL.Execute.All per il servizio Power BI. È possibile trovare un'esercitazione end-to-end con istruzioni e codice di esempio per le entità utente e le entità servizio in Connettere applicazioni.
Appare l'hub dati OneLake; scegliere l'origine dati a cui connettersi. Nell'esempio seguente viene scelto un endpoint di Analisi SQL AdventureWorks collegato a un database con mirroring. Selezionare Filtro per visualizzare solo tipi specifici di origini dati di Fabric o eseguire una ricarca in base a una parola chiave specifica. Al termine, selezionare Connetti.
Viene visualizzata la schermata Recupera dati, in cui è possibile scegliere gli oggetti da esporre nello schema GraphQL.
Selezionare le caselle di controllo accanto alle singole tabelle o stored procedure da esporre nell'API. Per selezionare tutti gli oggetti in una cartella, selezionare la casella di controllo con il nome dell'origine dati nella parte superiore.
Selezionare Carica per avviare il processo di generazione dello schema GraphQL.
Lo schema viene generato ed è possibile avviare la creazione di prototipi di query GraphQL (lettura, elenco) o mutazioni (creazione, aggiornamento, eliminazione) per interagire con i dati.
L'API per GraphQL ora è pronta per accettare connessioni e richieste. È possibile usare l'editor API per testare e creare prototipi di query GraphQL ed Esplora schema per verificare i tipi di dati e i campi esposti nell'API.
Riepilogo delle autorizzazioni
La tabella seguente riepiloga le diverse permutazioni supportate e le autorizzazioni minime necessarie per i client che accedono all'API GraphQL:
Chiamante API | Connettività dell'origine dati | Autorizzazioni api GraphQL necessarie | Autorizzazioni necessarie per l'origine dati | Ambito dell'app Entra |
---|---|---|---|---|
Entità utente (UPN) | Single sign-on (SSO) | Eseguire query e mutazioni a livello di API | Autorizzazioni di lettura/scrittura appropriate concesse all'UPN nell'origine dati | GraphQL.Execute.All |
Entità servizio (SPN) | Single sign-on (SSO) | Eseguire query e mutazioni a livello di API | Autorizzazioni di lettura/scrittura appropriate concesse al nome SPN nell'origine dati | GraphQL.Execute.All |
Entità utente (UPN) | Credenziali salvate | Eseguire query e mutazioni a livello di API | Autorizzazioni di lettura/scrittura appropriate concesse alle credenziali salvate (connessione) nell'origine dati | GraphQL.Execute.All |
Entità servizio (SPN) | Credenziali salvate | Attualmente non supportati | Attualmente non supportati | Attualmente non supportati |