Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
L'API Fabric per GraphQL fornisce un ambiente di sviluppo GraphQL grafico all'interno del browser, che offre un playground interattivo per comporre, testare e visualizzare in tempo reale i risultati delle query e delle mutazioni GraphQL.
Utenti che usano l'editor GraphQL
L'editor GraphQL è essenziale per:
- Creazione di prototipi di applicazioni e test di query sui dati di Fabric prima di implementarle nelle applicazioni
- Ingegneri dei dati che esplorano le strutture dei dati lakehouse e warehouse e convalidano i progetti di schema GraphQL.
- I collaboratori dell'area di lavoro Fabric testano le autorizzazioni di accesso ai dati e svolgono attività di risoluzione dei problemi di query
- Sviluppatori di business intelligence che apprendeno la struttura dell'API e creano modelli di accesso ai dati per applicazioni personalizzate
- Team di sviluppo che collaborano allo sviluppo di query e alla risoluzione dei problemi di accesso ai dati all'interno delle aree di lavoro di Fabric
Usare l'editor ogni volta che è necessario sviluppare, testare o risolvere problemi di query GraphQL in modo interattivo contro le origini dati di Fabric.
Introduzione all'editor GraphQL
Per iniziare a usare l'editor GraphQL, seguire questa procedura:
Aprire l'elemento API GraphQL : passare all'area di lavoro in Infrastruttura e aprire l'API per l'elemento GraphQL.
Accedere all'editor : selezionare Query nell'angolo in basso a sinistra della schermata del portale.
Scrivere la query : digitare le query GraphQL direttamente nella scheda Query . Usare IntelliSense con i tasti di scelta rapida:
- Windows: CTRL+ SPAZIO
- macOS: comando + spazio
Eseguire la query : selezionare Esegui per eseguire la query e recuperare i dati dall'origine dati.
Genera codice
L'editor API genera automaticamente codice boilerplate in Python o Node.js che rispecchia la query o mutazione GraphQL che stai attualmente testando nell'editor. Durante il prototipo e l'affinamento delle query, il codice generato viene aggiornato di conseguenza. Dopo aver soddisfatto i risultati, è possibile visualizzare e copiare il codice generato per l'esecuzione in locale a scopo di test o riutilizzarlo nel processo di sviluppo dell'applicazione.
Important
Il codice generato usa credenziali interattive del browser e deve essere usato solo a scopo di test. Nell'ambiente di produzione, bisogna registrare sempre un'applicazione in Microsoft Entra e usare gli ambiti appropriati e client_id. È possibile trovare un esempio end-to-end con codice di esempio in Connect Applications (Connetti applicazioni).
Per iniziare:
Scrivere una query : immettere la query di esempio seguente (o personalizzata) nell'editor di query:
query { addresses(first: 5) { items { AddressID City StateProvince CountryRegion } } }Eseguire la query : selezionare Esegui per eseguire la query e verificare che funzioni correttamente nell'editor prima di procedere.
Genera codice : selezionare il pulsante Genera codice e quindi selezionare il linguaggio di programmazione preferito (Python o JavaScript/Node.JS):
È quindi possibile copiare il codice generato e salvarlo come file in una cartella locale. A seconda della lingua scelta, seguire questa procedura rapida per testare localmente:
Python
Creare un file denominato
editor.pye incollare il codice generato dalla query di esempio precedente.Creare un ambiente virtuale eseguendo il comando
python -m venv .venv.Attivare
venveseguendo.venv\Scripts\activateosource .venv/bin/activate.Installare la dipendenza richiesta eseguendo
pip install azure-identity.Eseguire il codice con
python editor.py.Viene richiesto di accedere tramite una finestra del browser per autenticare la richiesta.
La risposta dell'API viene stampata nella console.
{ "data": { "addresses": { "items": [ { "AddressID": 9, "City": "Bothell", "StateProvince": "Washington", "CountryRegion": "United States" }, { "AddressID": 11, "City": "Bothell", "StateProvince": "Washington", "CountryRegion": "United States" }, { "AddressID": 25, "City": "Dallas", "StateProvince": "Texas", "CountryRegion": "United States" }, { "AddressID": 28, "City": "Phoenix", "StateProvince": "Arizona", "CountryRegion": "United States" }, { "AddressID": 32, "City": "Montreal", "StateProvince": "Quebec", "CountryRegion": "Canada" } ] } } }
Node.JS
Creare un file denominato
editor.jse incollare il codice generato dalla query di esempio precedente.Nella stessa cartella di
editor.jscreare unpackage.jsonfile con il contenuto seguente:{ "type": "module", "dependencies": {} }Installare Node.js nel computer di sviluppo (include npm)
Eseguire
npm install @azure/identityo un comando simile nella gestione pacchetti scelto per installare la versione più recente della libreria di identità.Eseguire
node editor.jsper eseguire il codice.Viene richiesto di accedere tramite una finestra del browser per autenticare la richiesta.
La risposta dell'API viene stampata nella console.
{ "data": { "addresses": { "items": [ { "AddressID": 9, "City": "Bothell", "StateProvince": "Washington", "CountryRegion": "United States" }, { "AddressID": 11, "City": "Bothell", "StateProvince": "Washington", "CountryRegion": "United States" }, { "AddressID": 25, "City": "Dallas", "StateProvince": "Texas", "CountryRegion": "United States" }, { "AddressID": 28, "City": "Phoenix", "StateProvince": "Arizona", "CountryRegion": "United States" }, { "AddressID": 32, "City": "Montreal", "StateProvince": "Quebec", "CountryRegion": "Canada" } ] } } }
Sviluppo di query e mutazioni
Gli esempi seguenti illustrano la sintassi delle query e delle mutazioni di GraphQL utilizzando i dati di esempio AdventureWorks. Questi esempi presuppongono che si stia lavorando con un data warehouse di Fabric che supporta operazioni di scrittura (mutazioni). Le origini dati a cui si accede tramite endpoint di analisi SQL (ad esempio lakehouse e database con mirroring) sono di sola lettura e supportano solo query, non mutazioni.
Esaminare questo breve estratto dello schema GraphQL da AdventureWorks. Definisce un Product tipo con query per leggere un singolo prodotto o elencare tutti i prodotti e le mutazioni per creare, aggiornare o eliminare prodotti, supportando tutti i casi d'uso CRUDL (creazione, lettura, aggiornamento, eliminazione, elenco).
{
type Product {
ProductID: Int!
Name: String!
ProductNumber: String!
Color: String
ListPrice: Float!
SellStartDate: DateTime!
}
type Query {
products(first: Int, filter: ProductFilterInput): ProductConnection
products_by_pk(ProductID: Int!): Product
}
type Mutation {
createProduct(Name: String!, ProductNumber: String!, ListPrice: Float!, SellStartDate: DateTime!): Product
updateProduct(ProductID: Int!, Name: String, Color: String, ListPrice: Float): Product
deleteProduct(ProductID: Int!): Boolean
}
}
Leggere i dati esposti tramite GraphQL usando qualsiasi query definita nello schema. La products_by_pk query recupera un singolo prodotto in base alla chiave primaria:
query MyQuery {
products_by_pk(ProductID: 680) {
ProductID
Name
ProductNumber
Color
ListPrice
}
}
Response:
{
"data": {
"products_by_pk": {
"ProductID": 680,
"Name": "HL Road Frame - Black, 58",
"ProductNumber": "FR-R92B-58",
"Color": "Black",
"ListPrice": 1431.50
}
}
}
Usare mutazioni come createProduct per scrivere dati e creare un nuovo prodotto con i parametri richiesti.
mutation MyMutation {
createProduct(
Name: "Mountain Bike Helmet - Blue",
ProductNumber: "HE-M897-B",
ListPrice: 89.99,
SellStartDate: "2025-01-01T00:00:00Z"
) {
ProductID
Name
ProductNumber
ListPrice
}
}
Response:
{
"data": {
"createProduct": {
"ProductID": 1001,
"Name": "Mountain Bike Helmet - Blue",
"ProductNumber": "HE-M897-B",
"ListPrice": 89.99
}
}
}
Variabili di query
Usare il riquadro Variabili di query sul lato destro della scheda Query per passare parametri come variabili alle query o alle mutazioni. Le variabili funzionano come variabili in altri linguaggi di programmazione. Ogni variabile viene dichiarata con un nome usato per accedere al valore archiviato. Usando l'esempio precedente di mutazione, è possibile modificarlo leggermente per usare le variabili di query.
mutation MyMutation ($name: String!, $productNumber: String!, $listPrice: Float!, $sellStartDate: DateTime!){
createProduct(
Name: $name,
ProductNumber: $productNumber,
ListPrice: $listPrice,
SellStartDate: $sellStartDate
) {
ProductID
Name
ProductNumber
ListPrice
}
}
Definire le variabili nel riquadro Variabili di query usando l'esempio seguente.
{
"name": "Mountain Bike Helmet - Blue",
"productNumber": "HE-M897-B",
"listPrice": 89.99,
"sellStartDate": "2025-01-01T00:00:00Z"
}
Le variabili rendono il codice di mutazione più pulito, più facile da leggere, testare e modificare. Semplificano anche il riutilizzo della stessa mutazione con valori diversi modificando semplicemente le variabili.