Skapa ett program med DevOps och GraphQL API
Gäller för:✅SQL-databas i Microsoft Fabric
I det här avsnittet av självstudien använder du de tillgångar som du har skapat för att skapa ett webbprogram som gör att användaren kan välja en region som påverkas av ett avbrott och sedan se de andra leverantörerna i den regionen för att varna företaget om eventuella ytterligare avbrott i leveranskedjan. Du skapar en GraphQL-slutpunkt över dina data och skapar sedan ett ASP.NET program som du kan distribuera lokalt eller till en molnleverantör.
Programutvecklingsprojekt omfattar DevOps-uppgifter (Developer Operations), varav ett är källkontroll. Du börjar det här avsnittet genom att placera de objekt som du har skapat under källkontroll.
I den här artikeln beskrivs en rad användbara scenarier för att skapa ett program baserat på SQL Database i Fabric.
Förutsättningar
- Slutför alla föregående steg i den här självstudien.
- Aktivera inställningar för Git-integreringsklientorganisation.
- Aktivera klientadministratörsinställningen för API för GraphQL.
- Skapa en organisation och ett projekt i Microsoft Azure DevOps.
CI/CD i Fabric med Azure DevOps
I den här delen av självstudien får du lära dig hur du arbetar med din SQL-databas i Microsoft Fabric med Azure DevOps.
En SQL-databas i Microsoft Fabric har källkontrollintegrering som gör att SQL-användare kan spåra definitionerna av sina databasobjekt över tid och i ett team:
Teamet kan checka in databasen till källkontroll, som automatiskt konverterar den live-databasen till kod i den konfigurerade lagringsplatsen för källkontroll (Azure DevOps).
Teamet kan uppdatera databasobjekt från innehållet i källkontrollen, vilket validerar koden i Azure DevOps innan en differentiell ändring tillämpas på databasen.
Om du inte är bekant med källkodskontroll i Microsoft Fabric, här är en rekommenderad resurs:
Kom igång med källkontroll
När du har slutfört dessa krav kan du hålla arbetsytan synkroniserad med Azure DevOps. På så sätt kan du checka in alla ändringar som du gör på arbetsytan till Azure DevOps-grenen och uppdatera din arbetsyta när någon skapar nya incheckningar till Azure DevOps-grenen.
Nu ska du redigera ett av objekten i databasen med hjälp av Azure DevOps som uppdaterar både lagringsplatsen och databasobjekten. Du kan också redigera objekt direkt på lagringsplatsen eller "skicka" dem dit, men i det här fallet utföra alla steg i Din Azure DevOps-miljö.
I självstudien Arbetsytevy kontrollerar du att arbetsytan är konfigurerad att vara under källkontroll och att alla objekt visas synkroniserade.
I vyn Arbetsyta visas git-ikonen, grenen du valde och ett meddelande om den senaste gången arbetsytan synkroniserades med källkontrollen. Bredvid datum och tid visas en identifierarlänk för den specifika platsen i Din Azure DevOps-miljö. Öppna länken för att fortsätta.
Logga in på din Azure DevOps-miljö om det begärs.
När du är inne i Azure DevOps-miljön väljer du objektet Filer i utforskarfönstret. Objekten som synkroniseras med SQL-databasen i Fabric och lagringsplatsen visas.
Expandera suppy_chain_analytics_database . SQLDatabase, sedan dbo, sedan Tabeller och sedan Suppliers.sql objekt.
Observera T-SQL-definitionen för tabellen i objektinnehållet. I en produktionskodningsmiljö ändras det här objektet med hjälp av utvecklingsverktyg som Visual Studio eller Visual Studio Code. I vilket fall som helst replikeras definitionen av det databasobjektet till lagringsplatsen, som du speglade från databasens aktuella tillstånd. Nu ska vi använda Azure DevOps-källkontroll för att göra några ändringar i databasobjekten i nästa självstudiesteg.
Leta upp kolumndefinitionsraden
[Fax]
och välj knappen Redigera . Redigera kolumndefinitionen till[Fax] NVARCHAR (255) NULL,
.Välj knappen Checka in .
Fyll i rutan Incheckningsmeddelande som visas och välj knappen Checka in . Försök att beskriva varje ändring i källkontrollen för din och ditt teams fördel.
Incheckningen skriver ändringen till lagringsplatsen.
Växla tillbaka till SQL-databasen i Fabric-portalen och välj sedan Källkontroll.
Du har en väntande uppdatering. I produktion granskar du dessa ändringar. Välj knappen Uppdatera alla. Uppdateringen kan ta lite tid.
Välj SQL-databasen i infrastrukturresursens namn. Öppna ett nytt frågefönster i SQL-databasen.
Kopiera och klistra in följande T-SQL-kod för att se ändringarna i tabellen live i databasen:
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Suppliers';
Ange följande T-SQL-kod som frågar för att lägga till en kolumn med namnet
Notes
iSuppliers
tabellen. Markera just det kodavsnittet och välj knappen Kör :ALTER TABLE Suppliers ADD Notes NVARCHAR(MAX);
Gå nu tillbaka till självstudiekursen Arbetsyta i Infrastrukturportalen.
Välj knappen Källkontroll och observera att systemet i stället för en uppdatering visar en ändringsbegäran. Markera kryssrutan bredvid objektnamnet och välj sedan knappen Checka in .
Systemet checkar in ändringarna som gjorts i frågeredigeraren och du kan gå tillbaka till Azure DevOps-portalen och navigera till området Filer och
dbo
schemat och sedan tabellerna ochSuppliers
objektet för att se den nya kolumnen. (Du kan behöva uppdatera sidan för att se ändringen.)
Nu har du sett hur du kan interagera med sql-databasobjektscheman från källkontrollen i Azure DevOps. Mer information om källkontroll i Microsoft Fabric finns i SQL-databaskällans kontrollintegrering i Microsoft Fabric och Självstudie: Livscykelhantering i Infrastrukturresurser.
Konfigurera GraphQL-API:et
Att ansluta till ett databasprogram innebär ofta att installera en uppsättning bibliotek för ditt program som använder TDS-protokollet (Tabular Data Stream) som interagerar direkt med databasen.
Microsoft Fabric innehåller ett GraphQL-gränssnitt för att arbeta inte bara med databaser, utan med flera datakällor. Du kan också kombinera dessa källor för en integrerad datavy. GraphQL är ett frågespråk för API:er som gör att du kan begära exakt de data du behöver, vilket gör det enklare att utveckla API:er över tid och aktivera kraftfulla utvecklarverktyg. Det ger en fullständig och begriplig beskrivning av data i ditt API, vilket ger klienterna befogenhet att be om exakt vad de behöver och inget mer. Detta gör appar som använder GraphQL snabba och stabila eftersom de styr de data de får, inte servern. Du kan se GraphQL-gränssnittet som en vy över en uppsättning data som finns i en datakälla. Du kan köra frågor mot data och ändra data med hjälp av mutationer. Du kan läsa mer om GraphQL i den här referensen.
Du kan börja skapa GraphQL-API:er direkt från Frågeredigeraren för Fabric SQL. Fabric skapar GraphQL-schemat automatiskt baserat på dina data och program är redo att ansluta på några minuter.
Skapa ett API för GraphQL
Så här skapar du API:et för GraphQL som du ska använda för ett program:
Öppna självstudiedatabasportalen.
Välj knappen Ny och välj API för GraphQL.
Ange texten supplier_impact_gql för objektets namn och välj Skapa.
Du visas med panelen Välj data . Rulla tills du hittar
SupplyChain.vProductsBySuppliers
, vyn som du skapade tidigare i den här självstudien. Välj den.Välj knappen Läs in.
I panelen Query1 ersätter du texten du ser där med följande GraphQL-frågesträng:
query { vProductsbySuppliers(filter: { SupplierLocationID: { eq: 7 } }) { items { CompanyName SupplierLocationID ProductCount } } }
Välj knappen Kör i fönstret Fråga1. Resultatet av GraphQL-frågan returneras till fönstret Resultat i JSON-format.
Välj knappen Kopiera slutpunkt i menyfliksområdet.
Välj knappen Kopiera när panelen Kopiera länk visas. Lagra strängen i ett anteckningsblock eller på en annan plats som ska användas i exempelprogrammet för den här självstudien. Det ser till exempel ut ungefär så här:
https://api.fabric.microsoft.com/v1/workspaces/<work space id>/graphqlapis/<graph api id>/graphql
Ditt API för GraphQL är nu redo att acceptera anslutningar och begäranden. Du kan använda API-redigeraren för att testa och prototypa GraphQL-frågor och Schemautforskaren för att verifiera de datatyper och fält som exponeras i API:et. Mer information finns i Skapa GraphQL API från din SQL-databas i Fabric-portalen.
Skapa ett webbprogram för att fråga efter data
Hittills i den här självstudien har du skapat en databas som lagrar försäljning och produkter för Contoso och lagt till leverantörer och sammanfogning av entiteter med Hjälp av Transact-SQL (T-SQL). Nu vill du att utvecklare ska kunna använda data utan att behöva lära sig T-SQL och även göra det möjligt för dem att köra frågor mot flera Microsoft Fabric-komponenter i ett enda gränssnitt. Kör det här programmet lokalt i ett lokalt .NET REST-gränssnitt som har åtkomst till GraphQL-slutpunkten som du skapade i den här självstudien. Du kan också distribuera det här programmet direkt till Microsoft Azure som ett webbprogram eller till en annan webbserver som du väljer.
Skapa ett webbprogram med hjälp av SQL-databasen i Fabric API för GraphQL
Du har blivit ombedd att skapa ett program som visar alla berörda leverantörer om en plats har avbrott i leveranskedjan på grund av naturkatastrofer eller andra avbrott. Den här koden visar hur du skapar ett ASP.NET program som använder en GraphQL-fråga för att komma åt en fråga i SQL In Fabric GraphQL-slutpunkten som du skapade i det sista avsnittet i självstudien.
- Installera lämplig .NET SDK för operativsystemet.
- Öppna resursen på den här platsen och följ alla steg som du ser där.
Exempel på skärmbilder av programmet från den här självstudien följer: