Creare un'applicazione usando DevOps e l'API GraphQL
Si applica a:✅Database SQL in Microsoft Fabric
In questa sezione dell'esercitazione si useranno gli asset creati per creare un'applicazione Web che consenta all'utente di selezionare un'area interessata da un'interruzione del servizio e quindi visualizzare gli altri fornitori in tale area per avvisare l'azienda di eventuali ulteriori interruzioni della catena di fornitura. Si creerà un endpoint GraphQL sui dati e quindi si creerà un'applicazione ASP.NET che è possibile distribuire in locale o in un provider di servizi cloud.
I progetti di sviluppo software implicano attività devOps (Developer Operations), una delle quali è il controllo del codice sorgente. Si inizierà questa sezione inserendo gli elementi creati nel controllo del codice sorgente.
Questo articolo presenta una serie di scenari utili per creare un'applicazione basata sul database SQL in Fabric.
Prerequisiti
- Completare tutti i passaggi precedenti di questa esercitazione.
- Abilitare le impostazioni del tenant di integrazione Git.
- Abilitare l'impostazione amministratore tenant per l'API per GraphQL.
- Creare un'organizzazione e un progetto in Microsoft Azure DevOps.
CI/CD in Fabric con Azure DevOps
In questa parte dell'esercitazione si apprenderà come usare il database SQL in Microsoft Fabric con Azure DevOps.
Un database SQL in Microsoft Fabric include l'integrazione del controllo del codice sorgente che consente agli utenti SQL di tenere traccia delle definizioni degli oggetti di database nel tempo e in un team:
Il team può eseguire il commit del database nel controllo del codice sorgente, che converte automaticamente il database attivo nel codice nel repository di controllo del codice sorgente configurato (Azure DevOps).
Il team può aggiornare gli oggetti di database dal contenuto del controllo del codice sorgente, che convalida il codice in Azure DevOps prima di applicare una modifica differenziale al database.
Se non si ha familiarità con il controllo del codice sorgente in Microsoft Fabric, ecco una risorsa consigliata:
Introduzione al controllo del codice sorgente
Dopo aver completato questi prerequisiti, è possibile mantenere sincronizzata l'area di lavoro con Azure DevOps. In questo modo è possibile eseguire il commit di tutte le modifiche apportate nell'area di lavoro nel ramo Azure DevOps e aggiornare l'area di lavoro ogni volta che chiunque crea nuovi commit nel ramo Azure DevOps.
A questo punto si modificherà uno degli oggetti nel database usando Azure DevOps che aggiornerà sia il repository che gli oggetti di database. È anche possibile modificare gli oggetti direttamente nel repository o "eseguirne il push", ma in questo caso eseguire tutti i passaggi nell'ambiente Azure DevOps.
Nella visualizzazione Area di lavoro dell'esercitazione verificare che l'area di lavoro sia configurata in modo che sia sotto il controllo del codice sorgente e che tutti gli oggetti visualizzino La sincronizzazione.
Nella visualizzazione Area di lavoro verrà visualizzata l'icona Git, il ramo selezionato e un messaggio relativo all'ultima sincronizzazione dell'area di lavoro con il controllo del codice sorgente. Accanto alla data e all'ora, verrà visualizzato un collegamento di identificatore per la posizione specifica nell'ambiente Azure DevOps. Aprire il collegamento per continuare.
Accedere all'ambiente Azure DevOps, se richiesto.
Una volta all'interno dell'ambiente Azure DevOps, selezionare l'elemento File nel riquadro Di esplorazione. Vengono visualizzati gli oggetti sincronizzati con il database SQL in Fabric e il repository.
Espandere il suppy_chain_analytics_database. SQLDatabase, quindi dbo, quindi Tables e quindi Suppliers.sql oggetto .
Si noti la definizione T-SQL della tabella nel contenuto dell'oggetto. In un ambiente di codifica di produzione questo oggetto verrà modificato usando strumenti di sviluppo come Visual Studio o Visual Studio Code. In ogni caso, la definizione dell'oggetto di database viene replicata nel repository, con mirroring dallo stato corrente del database. Si userà ora il controllo del codice sorgente di Azure DevOps per apportare alcune modifiche agli oggetti di database nei passaggi successivi dell'esercitazione.
Individuare la riga di definizione della
[Fax]
colonna e selezionare il pulsante Modifica . Modificare la definizione di colonna in[Fax] NVARCHAR (255) NULL,
.Selezionare il pulsante Commit .
Compilare la finestra di messaggio Commit visualizzata e selezionare il pulsante Commit . Provare a essere descrittivi di ogni modifica nel controllo del codice sorgente, per il vantaggio del team e del team.
Il commit scrive la modifica nel repository.
Tornare al database SQL nel portale di Infrastruttura e quindi selezionare Controllo del codice sorgente.
È disponibile un aggiornamento in sospeso. Nell'ambiente di produzione verranno esaminate queste modifiche. Selezionare il pulsante Aggiorna tutto . L'aggiornamento potrebbe richiedere del tempo.
Selezionare il database SQL in Nome infrastruttura. Aprire una nuova finestra di query nel database SQL.
Copiare e incollare il codice T-SQL seguente per visualizzare le modifiche apportate alla tabella nel database:
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Suppliers';
Immettere il codice T-SQL seguente che esegue una query per aggiungere una colonna denominata
Notes
allaSuppliers
tabella. Evidenziare solo la sezione del codice e selezionare il pulsante Esegui :ALTER TABLE Suppliers ADD Notes NVARCHAR(MAX);
Tornare ora all'area di lavoro dell'esercitazione nel portale di Infrastruttura.
Selezionare il pulsante Controllo del codice sorgente e notare che, invece di un aggiornamento, il sistema visualizza una richiesta di modifica . Selezionare la casella di controllo accanto al nome dell'oggetto e quindi selezionare il pulsante Commit .
Il sistema esegue il commit delle modifiche apportate nell'editor di query ed è possibile tornare al portale di Azure DevOps e passare all'area File e
dbo
allo schema e quindi all'oggetto Tabelle perSuppliers
visualizzare la nuova colonna. Potrebbe essere necessario aggiornare la pagina per visualizzare la modifica.
È stato illustrato come interagire con gli schemi degli oggetti del database SQL dal controllo del codice sorgente in Azure DevOps. Per altre informazioni sul controllo del codice sorgente in Microsoft Fabric, vedere Integrazione del controllo del codice sorgente del database SQL in Microsoft Fabric e Esercitazione: Gestione del ciclo di vita in Fabric.
Configurare e configurare l'API GraphQL
La connessione a un'applicazione di database comporta spesso l'installazione di un set di librerie per l'applicazione che usano il protocollo TDS (Tabular Data Stream) che interagisce direttamente con il database.
Microsoft Fabric include un'interfaccia GraphQL per lavorare non solo con i database, ma con più origini dati. È anche possibile combinare queste origini per una vista dati integrata. GraphQL è un linguaggio di query per le API che consente di richiedere esattamente i dati necessari, semplificando l'evoluzione delle API nel tempo e abilitando potenti strumenti di sviluppo. Fornisce una descrizione completa e comprensibile dei dati nell'API, offrendo ai client la potenza di chiedere esattamente ciò di cui hanno bisogno e niente di più. In questo modo le app che usano GraphQL sono veloci e stabili perché controllano i dati che ottengono, non il server. È possibile considerare l'interfaccia GraphQL come una visualizzazione di un set di dati contenuti in un'origine dati. È possibile eseguire query sui dati e modificare i dati usando le mutazioni. Per altre informazioni su GraphQL, vedere questa guida di riferimento.
È possibile iniziare a creare API GraphQL direttamente dall'editor di query SQL di Fabric. Fabric compila automaticamente lo schema GraphQL in base ai dati e le applicazioni sono pronte per la connessione in pochi minuti.
Creare un'API per GraphQL
Per creare l'API per GraphQL che verrà usata per un'applicazione:
Aprire il portale del database dell'esercitazione.
Selezionare il pulsante Nuovo e selezionare API per GraphQL.
Immettere il testo supplier_impact_gql per Nome per l'elemento e selezionare Crea.
Viene visualizzato un pannello Scegli dati . Scorrere fino a trovare
SupplyChain.vProductsBySuppliers
, la vista creata in precedenza in questa esercitazione. Selezionarlo.Selezionare il pulsante Carica.
Nel pannello Query1 sostituire il testo visualizzato con la stringa di query GraphQL seguente:
query { vProductsbySuppliers(filter: { SupplierLocationID: { eq: 7 } }) { items { CompanyName SupplierLocationID ProductCount } } }
Selezionare il pulsante Esegui nella finestra Query1 . I risultati della query GraphQL vengono restituiti alla finestra Risultati in formato JSON.
Selezionare il pulsante Copia endpoint nella barra multifunzione.
Selezionare il pulsante Copia quando viene visualizzato il pannello Copia collegamento. Archiviare questa stringa in un Blocco note o in un'altra posizione da usare nell'applicazione di esempio per questa esercitazione. Ad esempio, avrà un aspetto simile al seguente:
https://api.fabric.microsoft.com/v1/workspaces/<work space id>/graphqlapis/<graph api id>/graphql
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. Per altre informazioni, vedere Creare l'API GraphQL dal database SQL nel portale di Fabric.
Creare un'applicazione Web per eseguire query sui dati
Finora in questa esercitazione è stato creato un database che archivia le vendite e i prodotti per Contoso e ha aggiunto fornitori e aggiunte entità usando Transact-SQL (T-SQL). Si vuole ora consentire agli sviluppatori di usare i dati senza dover apprendere T-SQL e abilitarli anche per eseguire query su più componenti di Microsoft Fabric in un'unica interfaccia. Eseguire questa applicazione in locale in un'interfaccia REST .NET self-hosted che accede all'endpoint GraphQL creato in questa esercitazione. È anche possibile distribuire questa applicazione direttamente in Microsoft Azure come applicazione Web o in un altro server Web di propria scelta.
Creare un'applicazione Web usando il database SQL nell'API fabric per GraphQL
È stato chiesto di creare un'applicazione che mostra tutti i fornitori interessati se una località ha un'interruzione della catena di fornitura, a causa di calamità naturali o altre interruzioni. Questo codice illustra come creare un'applicazione ASP.NET che usa una query GraphQL per accedere a una query nell'endpoint GraphQL di SQL In Fabric creato nell'ultima sezione dell'esercitazione.
- Installare .NET SDK appropriato per il sistema operativo.
- Aprire la risorsa in questa posizione e seguire tutti i passaggi visualizzati.
Gli screenshot di esempio dell'applicazione di questa esercitazione seguono: