Freigeben über


Erstellen einer Anwendung mittels DevOps und der GraphQL-API

Gilt für:SQL-Datenbank in Microsoft Fabric

In diesem Abschnitt des Tutorials werden Sie die von Ihnen erstellten Ressourcen verwenden, um eine Webanwendung zu erstellen, die es dem Benutzer ermöglicht, eine Region auszuwählen, die von einem Ausfall betroffen ist, und dann die anderen Lieferanten in dieser Region anzeigen, um das Unternehmen vor weiteren Unterbrechungen der Lieferkette zu warnen. Sie werden einen GraphQL-Endpunkt über Ihre Daten und dann eine ASP.NET Anwendung erstellen, die Sie lokal oder bei einem Cloudanbieter bereitstellen können.

Softwareentwicklungsprojekte umfassen DevOps (Developer Operations)-Aufgaben, von denen eine die Quellcodeverwaltung ist. Sie werden diesen Abschnitt beginnen, indem Sie die von Ihnen erstellten Elemente unter die Quellcodeverwaltung stellen.

In diesem Artikel finden Sie eine Reihe nützlicher Szenarien zum Erstellen einer Anwendung basierend auf SQL-Datenbank in Fabric.

Voraussetzungen

CI/CD in Fabric mit Azure DevOps

In diesem Teil des Tutorials erfahren Sie, wie Sie mit Ihrer SQL-Datenbank in Microsoft Fabric mit Azure DevOps arbeiten.

Eine SQL-Datenbank in Microsoft Fabric verfügt über eine Integration der Quellcodeverwaltung, mit der SQL-Benutzer die Definitionen ihrer Datenbankobjekte im Zeitverlauf und innerhalb eines Teams nachverfolgen können:

  • Das Team kann die Datenbank in die Quellcodeverwaltung committen, wodurch die Livedatenbank automatisch in Code im konfigurierten Quellcodeverwaltungsrepository (Azure DevOps) konvertiert wird.

  • Das Team kann Datenbankobjekte anhand der Inhalte aus der Quellcodeverwaltung aktualisieren, wodurch der Code in Azure DevOps validiert wird, bevor eine differenzielle Änderung auf die Datenbank angewendet wird.

    Diagramm einer einfachen Quellcodeverwaltungsschleife.

Wenn Sie mit der Quellcodeverwaltung in Microsoft Fabric nicht vertraut sind, finden Sie hier eine empfohlene Ressource:

Erste Schritte mit der Quellcodeverwaltung

Nachdem Sie diese Voraussetzungen abgeschlossen haben, können Sie Ihren Arbeitsbereich mit Azure DevOps synchronisiert halten. Auf diese Weise können Sie alle von Ihnen im Arbeitsbereich vorgenommenen Änderungen an den Azure DevOps-Branch committen und Ihren Arbeitsbereich aktualisieren, sobald jemand neue Commits für den Azure DevOps-Branch committet.

Jetzt werden Sie eines der Objekte in Ihrer Datenbank mithilfe von Azure DevOps bearbeiten, wodurch sowohl das Repository als auch die Datenbankobjekte aktualisiert werden. Sie könnten Objekte auch direkt im Repository bearbeiten oder dorthin „pushen“, aber in diesem Fall führen Sie alle Schritte in Ihrer Azure DevOps-Umgebung aus.

  1. Stellen Sie in Ihrer Tutorialansicht „Arbeitsbereich“ sicher, dass Ihr Arbeitsbereich für die Quellcodeverwaltung eingerichtet ist und alle Objekte Synchronisiert anzeigen.

  2. In der Ansicht „Arbeitsbereich“ werden Sie das Git-Symbol sehen, den von Ihnen ausgewählten Branch, und eine Nachricht zum Zeitpunkt der letzten Synchronisierung des Arbeitsbereichs mit der Quellcodeverwaltung. Neben dem Datum und der Uhrzeit wird ein Bezeichnerlink für den bestimmten Speicherort in Ihrer Azure DevOps-Umgebung angezeigt. Öffnen Sie diesen Link, um fortzufahren.

    Screenshot zeigt den Link zum Speicherort der Azure DevOps-Umgebung im Arbeitsbereich.

  3. Melden Sie sich bei Ihrer Azure DevOps-Umgebung an, wenn Sie aufgefordert werden.

  4. Wählen Sie in der Azure DevOps-Umgebung das Element Dateien im Explorer-Bereich aus. Die mit Ihrer SQL-Datenbank in Fabric synchronisierten Objekte und das Repository werden angezeigt.

  5. Erweitern Sie die Objekte suppy_chain_analytics_database.SQLDatabase, dann dbo, dann Tabellen and dann Suppliers.sql.

    Screenshot des Datenbankobjekts „Lieferanten“ in Azure DevOps.

Beachten Sie die T-SQL-Definition der Tabelle in den Objektinhalten. In einer Produktionsprogrammierumgebung würde dieses Objekt mithilfe von Entwicklungstools wie Visual Studio oder Visual Studio Code geändert werden. In jedem Fall wird die Definition dieses Datenbankobjekts in das Repository repliziert, das Sie aus dem aktuellen Zustand der Datenbank gespiegelt haben. Lassen Sie uns die Azure DevOps-Quellcodeverwaltung verwenden, um in den nächsten Tutorialschritten einige Änderungen an den Datenbankobjekten vorzunehmen.

  1. Suchen Sie die Spaltendefinitionszeile [Fax], und wählen Sie die Schaltfläche Bearbeiten aus. Bearbeiten Sie die Spaltendefinition nach [Fax] NVARCHAR (255) NULL,.

  2. Wählen Sie die Schaltfläche Commit aus.

    Screenshot zeigt die Bearbeitung der Spaltendefinition „Fax“ in der Tabelle „Lieferanten“ innerhalb von Azure DevOps.

  3. Füllen Sie das angezeigte Commit-Nachrichtenfeld aus, und wählen Sie die Schaltfläche Commit aus. Versuchen Sie, jede Änderung in der Quellcodeverwaltung zu beschreiben, zu Ihrem Vorteil und zum Nutzen Ihres Teams.

  4. Der Commit schreibt die Änderung in das Repository.

  5. Wechseln Sie zurück zur SQL-Datenbank im Fabric-Portal, und wählen Sie dann Quellcodeverwaltung aus.

  6. Sie haben ein Update ausstehend. In der Produktion werden Sie diese Änderungen überprüfen. Wählen Sie die Schaltfläche Alle aktualisieren aus. Das Update kann einige Zeit in Anspruch nehmen.

  7. Wählen Sie den Namen „SQL-Datenbank in Fabric“ aus. Öffnen Sie ein neues Abfragefenster in Ihrer SQL-Datenbank.

  8. Kopieren Sie den folgenden T-SQL-Code, und fügen Sie ihn ein, um die Änderungen an der Tabelle live in der Datenbank anzuzeigen:

    SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Suppliers';
    
  9. Geben Sie den folgenden T-SQL-Code in diese Abfrage ein, um eine Spalte mit dem Namen Notes zur Tabelle Suppliers hinzuzufügen. Markieren Sie nur diesen Codeabschnitt, und wählen Sie die Schaltfläche Ausführen aus:

    ALTER TABLE Suppliers ADD Notes NVARCHAR(MAX);
    
  10. Kehren Sie nun zum Tutorial „Arbeitsbereich“ im Fabric-Portal zurück.

  11. Wählen Sie die Schaltfläche Quellcodeverwaltung aus, und beachten Sie, dass ihr System anstelle eines Updates eine Änderungsanforderung anzeigt. Aktivieren Sie das Kontrollkästchen neben dem Objektnamen, und wählen Sie dann die Schaltfläche Commit aus.

  12. Das System committet die im Abfrage-Editor vorgenommenen Änderungen, und Sie können zum Azure DevOps-Portal zurückkehren und zum Bereich Dateien und zum Schema dbo navigieren und dann die Tabellen und Suppliers-Objekte anzeigen, um die neue Spalte anzuzeigen. (Möglicherweise müssen Sie die Seite aktualisieren, damit die Änderung angezeigt wird.)

    Screenshot der Tabelle „Lieferanten“ mit einem anderen Datentyp für „Fax“.

Sie haben nun gesehen, wie Sie mit Ihren SQL-Datenbankobjektschemas aus der Quellcodeverwaltung in Azure DevOps interagieren können. Weitere Informationen zur Quellcodeverwaltung in Microsoft Fabric finden Sie unter Integration der SQL-Datenbankquellcodeverwaltung in Microsoft Fabric und Tutorial: Lebenszyklusverwaltung in Fabric.

Einrichten und Konfigurieren der GraphQL-API

Das Herstellen einer Verbindung mit einer Datenbankanwendung umfasst häufig das Installieren einer Reihe von Bibliotheken für Ihre Anwendung, die das TDS (Tabular Data Stream)-Protokoll verwenden, das direkt mit der Datenbank interagiert.

Microsoft Fabric enthält eine GraphQL-Schnittstelle zum Arbeiten nicht nur mit Datenbanken, sondern auch mit mehreren Datenquellen. Sie können diese Quellen auch für eine integrierte Datenansicht kombinieren. GraphQL ist eine Abfragesprache für APIs, mit der Sie genau die benötigten Daten anfordern können, wodurch die Weiterentwicklung von APIs im Laufe der Zeit vereinfacht und leistungsstarke Entwicklertools ermöglicht werden. Sie bietet eine vollständige und verständliche Beschreibung der Daten in Ihrer API, sodass Clients die Macht haben, nach genau dem zu fragen, was sie benötigen, und nicht mehr. Dadurch werden Apps mit GraphQL schnell und stabil, da sie die abgerufenen Daten kontrollieren, nicht der Server. Sie können sich die GraphQL-Schnittstelle so vorstellen, dass sie eine Ansicht einer Menge von Daten bietet, der in einer Datenquelle enthalten ist. Sie können die Daten abfragen und mithilfe von Mutationen ändern. Weitere Informationen zu GraphQL finden Sie in dieser Referenz.

Sie können mit dem Erstellen von GraphQL-APIs direkt im Fabric SQL-Abfrage-Editor beginnen. Fabric erstellt das GraphQL-Schema automatisch basierend auf Ihren Daten, und Anwendungen können in Minuten eine Verbindung herstellen.

Erstellen einer API für GraphQL

So erstellen Sie die API für GraphQL, die Sie für eine Anwendung verwenden werden:

  1. Öffnen Sie das Tutorialportal „Datenbank“.

  2. Wählen Sie die Schaltfläche Neu und dann API für GraphQL aus.

  3. Geben Sie den Text supplier_impact_gql für den Namen für Ihr Element ein, und wählen Sie Erstellen aus.

  4. Ihnen wird ein Bereich Daten auswählen angezeigt. Scrollen Sie, bis Sie SupplyChain.vProductsBySuppliers finden, die Ansicht, die Sie zuvor in diesem Tutorial erstellt haben. Wählen Sie ihn aus.

    Der Screenshot zeigt die Vorschau „Daten auswählen“ von Daten in der Ansicht.

  5. Wählen Sie die Schaltfläche Laden aus.

  6. Ersetzen Sie im Bereich Query1 den dort angezeigten Text durch die folgende GraphQL-Abfragezeichenfolge:

    query { vProductsbySuppliers(filter: { SupplierLocationID: { eq: 7 } }) { items { CompanyName SupplierLocationID ProductCount } } }
    
  7. Wählen Sie im Fenster Query1 die Schaltfläche Ausführen aus. Die Ergebnisse der GraphQL-Abfrage werden im JSON-Format an das Fenster Ergebnisse zurückgegeben.

    Screenshot einer GraphQL-Abfrage und eines Resultsets für eine SQL-Datenbank.

  8. Wählen Sie im Menüband die Schaltfläche Endpunkt kopieren aus.

  9. Wählen Sie die Schaltfläche „Kopieren“ aus, wenn der Bereich „Link kopieren“ angezeigt wird. Speichern Sie diese Zeichenfolge in einem Editor oder einem anderen Speicherort, der in der Beispielanwendung für dieses Tutorial verwendet werden soll. Sie sieht beispielsweise ähnlich aus wie: https://api.fabric.microsoft.com/v1/workspaces/<work space id>/graphqlapis/<graph api id>/graphql

Ihre API für GraphQL ist jetzt bereit, Verbindungen und Anforderungen zu akzeptieren. Sie können den API-Editor verwenden, um GraphQL-Abfragen und den Schema-Explorer zu testen und zu prototypieren, um die Datentypen und Felder zu überprüfen, die in der API verfügbar gemacht werden. Weitere Informationen finden Sie unter Erstellen der GraphQL-API aus Ihrer SQL-Datenbank im Fabric-Portal.

Erstellen einer Webanwendung zum Abfragen von Daten

Bisher haben Sie in diesem Tutorial eine Datenbank erstellt, in der die Verkäufe und Produkte für Contoso gespeichert werden, und Sie haben Lieferanten und verbindende Entitäten mithilfe von Transact-SQL (T-SQL) hinzugefügt. Jetzt möchten Sie es Entwicklern ermöglichen, die Daten zu verwenden, ohne T-SQL erlernen zu müssen, und es ihnen auch ermöglichen, mehrere Microsoft Fabric-Komponenten in einer einzigen Schnittstelle abzufragen. Führen Sie diese Anwendung lokal in einer selbst gehosteten .NET REST-Schnittstelle aus, die auf den GraphQL-Endpunkt zugreift, den Sie in diesem Tutorial erstellt haben. Sie können diese Anwendung auch direkt in Microsoft Azure als Webanwendung bereitstellen, oder auf einem anderen Webserver Ihrer Wahl.

Erstellen einer Webanwendung mithilfe der SQL-Datenbank in der Fabric-API für GraphQL

Sie wurden aufgefordert, eine Anwendung zu erstellen, die alle betroffenen Lieferanten anzeigt, wenn ein Standort aufgrund von Naturkatastrophen oder anderen Unterbrechungen eine Lieferkettenunterbrechung aufweist. Dieser Code zeigt, wie Sie eine ASP.NET-Anwendung erstellen, die eine GraphQL-Abfrage verwendet, um auf eine Abfrage im SQL in Fabric-GraphQL-Endpunkt zuzugreifen, den Sie im letzten Abschnitt des Tutorials erstellt haben.

  1. Installieren Sie das entsprechende .NET-SDK für Ihr Betriebssystem.
  2. Öffnen Sie die Ressource an diesem Speicherort, und führen Sie alle dort angezeigten Schritte aus.

Beispielscreenshots der Anwendung aus diesem Tutorial folgen:

Screenshot eines Webbrowsers, der die Beispiel-App in Azure-Websites zeigt.

Screenshot eines Webbrowsers mit der GraphQL-Beispielwebsite mit den Ergebnissen einer Abfrage „Produktanzahl nach Lieferanten“.

Nächster Schritt