Sdílet prostřednictvím


Vytvoření aplikace pomocí DevOps a rozhraní GraphQL API

Platí pro:SQL Database v Microsoft Fabric

V této části kurzu použijete prostředky, které jste vytvořili, k vytvoření webové aplikace, která uživateli umožní vybrat oblast ovlivněnou výpadkem, a pak se podívat na ostatní dodavatele v této oblasti, aby společnost upozorňovala na případné další přerušení dodavatelského řetězce. Vytvoříte koncový bod GraphQL přes data a pak vytvoříte ASP.NET aplikaci, kterou můžete nasadit místně nebo do poskytovatele cloudu.

Projekty vývoje softwaru zahrnují úlohy vývojářských operací (DevOps), z nichž jedna je správa zdrojového kódu. Tento oddíl zahájíte umístěním položek, které jste vytvořili ve správě zdrojového kódu.

Tento článek představuje řadu užitečných scénářů pro vytvoření aplikace založené na databázi SQL v prostředcích infrastruktury.

Požadavky

CI/CD v prostředcích infrastruktury s Využitím Azure DevOps

V této části kurzu se dozvíte, jak pracovat s databází SQL v Microsoft Fabric s Azure DevOps.

Databáze SQL v Microsoft Fabric má integraci správy zdrojového kódu, která uživatelům SQL umožňuje sledovat definice svých databázových objektů v průběhu času a napříč týmem:

  • Tým může databázi potvrdit do správy zdrojového kódu, která automaticky převede živou databázi na kód v nakonfigurovaném úložišti správy zdrojového kódu (Azure DevOps).

  • Tým může aktualizovat databázové objekty z obsahu správy zdrojového kódu, který před použitím rozdílové změny v databázi ověří kód v Azure DevOps.

    Diagram jednoduché smyčky správy zdrojového kódu

Pokud ve službě Microsoft Fabric neznáte správu zdrojového kódu, tady je doporučený prostředek:

Začínáme se správou zdrojového kódu

Po dokončení těchto požadavků můžete pracovní prostor synchronizovat s Azure DevOps. To vám umožní potvrdit všechny změny provedené v pracovním prostoru do větve Azure DevOps a aktualizovat pracovní prostor pokaždé, když někdo vytvoří nové potvrzení do větve Azure DevOps.

Teď upravíte jeden z objektů v databázi pomocí Azure DevOps, který aktualizuje úložiště i databázové objekty. Objekty můžete také upravovat přímo v úložišti nebo je tam "odeslat", ale v tomto případě proveďte všechny kroky ve vašem prostředí Azure DevOps.

  1. V zobrazení pracovního prostoru kurzu se ujistěte, že je váš pracovní prostor nastavený tak, aby byl ve správě zdrojového kódu a všechny objekty se zobrazily synchronizované.

  2. V zobrazení Pracovního prostoru uvidíte ikonu Gitu, vybranou větev a zprávu o posledním synchronizaci pracovního prostoru se správou zdrojového kódu. Vedle data a času se zobrazí odkaz na identifikátor pro konkrétní umístění v prostředí Azure DevOps. Pokračujte otevřením odkazu.

    Snímek obrazovky ukazuje odkaz na umístění prostředí Azure DevOps v pracovním prostoru.

  3. Pokud se o to požádáte, přihlaste se k prostředí Azure DevOps.

  4. V prostředí Azure DevOps vyberte v podokně Průzkumníka položku Soubory . Objekty synchronizované s vaší databází SQL v prostředcích infrastruktury a úložiště se zobrazí.

  5. Rozbalte suppy_chain_analytics_database. SQLDatabase, pak dbo, pak Tables a pak Suppliers.sql objekt.

    Snímek obrazovky znázorňující databázový objekt Suppliers v Azure DevOps

Všimněte si definice T-SQL tabulky v obsahu objektu. V produkčním prostředí kódování by byl tento objekt změněn pomocí vývojových nástrojů, jako je Visual Studio nebo Visual Studio Code. V každém případě se definice tohoto databázového objektu replikuje do úložiště, které jste zrcadlili z aktuálního stavu databáze. Pomocí správy zdrojového kódu Azure DevOps provedeme určité změny databázových objektů v dalších krocích kurzu.

  1. [Fax] Vyhledejte řádek definice sloupce a vyberte tlačítko Upravit. Upravte definici sloupce na [Fax] NVARCHAR (255) NULL,.

  2. Vyberte tlačítko Potvrdit.

    Snímek obrazovky znázorňující úpravu definice sloupce Fax v tabulce Suppliers (Dodavatelé) v Azure DevOps

  3. Vyplňte okno Potvrzení zprávy, které se zobrazí, a vyberte tlačítko Potvrdit . Snažte se popisovat všechny změny ve správě zdrojového kódu, abyste mohli využít výhod vašeho týmu.

  4. Potvrzení zapíše změnu do úložiště.

  5. Přepněte zpět na databázi SQL na portálu Fabric a pak vyberte Správa zdrojového kódu.

  6. Čeká se na jednu aktualizaci. V produkčním prostředí si tyto změny prohlédnete. Vyberte tlačítko Aktualizovat vše. Aktualizace může nějakou dobu trvat.

  7. Vyberte databázi SQL v názvu prostředku infrastruktury. Otevřete nové okno dotazu v databázi SQL.

  8. Zkopírujte a vložte následující kód T-SQL, abyste viděli změny tabulky živě v databázi:

    SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Suppliers';
    
  9. Zadejte následující kód T-SQL, který dotaz přidá sloupec pojmenovaný Notes do Suppliers tabulky. Zvýrazněte jenom tuto část kódu a vyberte tlačítko Spustit :

    ALTER TABLE Suppliers ADD Notes NVARCHAR(MAX);
    
  10. Teď se vraťte do pracovního prostoru kurzu na portálu Fabric.

  11. Vyberte tlačítko Správy zdrojového kódu a všimněte si, že místo aktualizace systém zobrazí žádost o změnu. Zaškrtněte políčko vedle názvu objektu a pak vyberte tlačítko Potvrdit .

  12. Systém potvrdí změny provedené v editoru dotazů a můžete se vrátit na portál Azure DevOps a přejít do oblasti Soubory a dbo schéma a pak tabulky a Suppliers objekt zobrazit nový sloupec. (Možná budete muset aktualizovat stránku, aby se změna zobrazila.)

    Snímek obrazovky znázorňující tabulku Dodavatelé s jiným datovým typem faxu

Teď jste viděli, jak můžete pracovat se schématy objektů databáze SQL ze správy zdrojového kódu v Azure DevOps. Další informace o správě zdrojového kódu v Microsoft Fabric najdete v tématu Integrace správy zdrojového kódu databáze SQL v Microsoft Fabric a kurz: Správa životního cyklu v prostředcích Fabric.

Nastavení a konfigurace rozhraní GraphQL API

Připojení k databázové aplikaci často zahrnuje instalaci sady knihoven pro vaši aplikaci, které používají protokol TDS (Tabular Data Stream), který komunikuje přímo s databází.

Microsoft Fabric obsahuje rozhraní GraphQL pro práci nejen s databázemi, ale s více zdroji dat. Tyto zdroje můžete také kombinovat pro integrované zobrazení dat. GraphQL je dotazovací jazyk pro rozhraní API, která umožňují požadovat přesně potřebná data, což usnadňuje vývoj rozhraní API v průběhu času a umožňuje výkonné vývojářské nástroje. Poskytuje úplný a srozumitelný popis dat ve vašem rozhraní API a poskytuje klientům možnost požádat přesně o to, co potřebují, a nic dalšího. Díky tomu aplikace používají GraphQL rychle a stabilní, protože řídí data, která získávají, nikoli server. Rozhraní GraphQL si můžete představit jako zobrazení sady dat obsažených ve zdroji dat. Můžete se dotazovat na data a změnit data pomocí mutací. Další informace o GraphQL najdete v této referenční dokumentaci.

Rozhraní GraphQL API můžete začít vytvářet přímo v editoru dotazů SQL fabric. Prostředky infrastruktury sestavují schéma GraphQL automaticky na základě vašich dat a aplikace jsou připravené k připojení v řádu minut.

Vytvoření rozhraní API pro GraphQL

Vytvoření rozhraní API pro GraphQL, které použijete pro aplikaci:

  1. Otevřete portál databáze kurzů.

  2. Vyberte tlačítko Nový a vyberte rozhraní API pro GraphQL.

  3. Zadejte text supplier_impact_gql pro název položky a vyberte Vytvořit.

  4. Zobrazí se panel Zvolit data . Posuňte se, dokud nenajdete SupplyChain.vProductsBySupplierszobrazení, které jste vytvořili dříve v tomto kurzu. Vyberte ji.

    Snímek obrazovky znázorňující náhled dat v zobrazení

  5. Vyberte tlačítko Načíst.

  6. Na panelu Dotaz1 nahraďte text, který tam vidíte, následujícím řetězcem dotazu GraphQL:

    query { vProductsbySuppliers(filter: { SupplierLocationID: { eq: 7 } }) { items { CompanyName SupplierLocationID ProductCount } } }
    
  7. V okně Dotazu1 vyberte tlačítko Spustit. Výsledky dotazu GraphQL se vrátí do okna Výsledky ve formátu JSON.

    Snímek obrazovky s dotazem GraphQL a sadou výsledků pro databázi SQL

  8. Na pásu karet vyberte tlačítko Kopírovat koncový bod.

  9. Po zobrazení panelu Kopírovat odkaz vyberte tlačítko Kopírovat. Uložte tento řetězec do poznámkového bloku nebo jiného umístění, které se má použít v ukázkové aplikaci pro účely tohoto kurzu. Bude vypadat například takto: https://api.fabric.microsoft.com/v1/workspaces/<work space id>/graphqlapis/<graph api id>/graphql

Vaše rozhraní API pro GraphQL je teď připravené přijímat připojení a požadavky. Pomocí editoru rozhraní API můžete testovat a prototypovat dotazy GraphQL a Průzkumníka schématu k ověření datových typů a polí vystavených v rozhraní API. Další informace najdete v tématu Vytvoření rozhraní GraphQL API z databáze SQL na portálu Fabric.

Vytvoření webové aplikace pro dotazování dat

Zatím jste v tomto kurzu vytvořili databázi, ve které se ukládají prodeje a produkty společnosti Contoso, a přidali dodavatele a spojování entit pomocí jazyka Transact-SQL (T-SQL). Teď chcete vývojářům umožnit používat data, aniž by se museli učit T-SQL, a také jim umožnit dotazovat se na více komponent Microsoft Fabric v jednom rozhraní. Spusťte tuto aplikaci místně v místním rozhraní .NET REST, které přistupuje ke koncovému bodu GraphQL, který jste vytvořili v tomto kurzu. Tuto aplikaci můžete také nasadit přímo do Microsoft Azure jako webové aplikace nebo na jiný webový server podle vašeho výběru.

Vytvoření webové aplikace pomocí databáze SQL v rozhraní API Fabric pro GraphQL

Byli jste požádáni o vytvoření aplikace, která zobrazuje všechny ovlivněné dodavatele, pokud umístění má přerušení dodavatelského řetězce, kvůli přírodním katastrofám nebo jiným přerušením. Tento kód ukazuje, jak vytvořit ASP.NET aplikaci, která používá dotaz GraphQL pro přístup k dotazu v koncovém bodu SQL In Fabric GraphQL, který jste vytvořili v poslední části kurzu.

  1. Nainstalujte příslušnou sadu .NET SDK pro váš operační systém.
  2. Otevřete prostředek v tomto umístění a postupujte podle všech zobrazených kroků.

Ukázkové snímky obrazovky aplikace z tohoto kurzu následují:

Snímek obrazovky z webového prohlížeče zobrazující ukázkovou aplikaci ve službě Azure Websites

Snímek obrazovky webového prohlížeče s ukázkovým webem graphql poskytujícím výsledky dotazu Product Count by Suppliers

Další krok