Muistiinpano
Tälle sivulle pääsy edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoja.
Tälle sivulle pääsy edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoja.
GraphQL:n Microsoft Fabric -ohjelmointirajapinnan avulla on helppo kysellä ja periä tietoja Fabric SQL -tietokannasta ja muista Fabric-tietolähteistä, kuten Data Warehousesta ja Lakehousesta. Niissä on vahvasti kirjoitettuja rakenteita ja monipuolinen kyselykieli, joiden avulla kehittäjät voivat luoda intuitiivisen ohjelmointirajapinnan kirjoittamatta mukautettua palvelinkoodia. Voit käyttää tallennettuja toimintosarjoja monitasoisen liiketoimintalogiikan tiivistämiseen ja uudelleenkäyttämiseen, mukaan lukien syötteiden vahvistus ja tietojen muuntaminen.
Tässä esimerkissä opimme käyttämään tallennettua toimintosarjaa uusien tuotteiden rekisteröimiseen. Palvelinpuolen logiikka vahvistusta, muotoilua ja tunnusten luontia varten näytetään Fabricissa GraphQL-mutaatiolla.
Aloittaa
Aloitamme luomalla SQL-tietokannan Fabricissa:
- Valitse Fabric-työtilassa Uusi kohde ja sitten SQL-tietokanta (esikatselu).
- Anna tietokannalle nimi ja valitse sitten Mallitiedot , niin voit luoda nopeasti kaikki tarvittavat taulukot ja tiedot tietokannassasi.
Skenaario: rekisteröi uusi tuote
Oletetaan, että haluat luoda uuden tuotteen:
- Hinnoittelulogiikan vahvistus (esimerkiksi. ListPrice > StandardCost)
- Muunnos (esimerkiksi, kirjoita tuotenimen ensimmäinen kirjain isolla kirjaimella, poista tuotenumero isolla kirjaimella)
- ProductID-luonti (lisäämällä viimeisin Tuotetunnus)
Vaihe 1: Luo tallennettu toimintosarja
Tässä on T-SQL:n tallennettu toimintosarja, joka kiteyttää kaiken tarvittavan liiketoimintalogiikan. Napsauta SQL-tietokannassa Uusi kysely ja käytä seuraavaa lauseketta:
CREATE PROCEDURE SalesLT.RegisterProduct
@Name nvarchar(50),
@ProductNumber nvarchar(25),
@StandardCost money,
@ListPrice money,
@SellStartDate datetime
AS
BEGIN
SET NOCOUNT ON;
SET IDENTITY\_INSERT SalesLT.Product ON;
-- Validate pricing logic
IF @ListPrice <= @StandardCost
THROW 50005, 'ListPrice must be greater than StandardCost.', 1;
-- Transform product name: capitalize first letter only
DECLARE @CleanName nvarchar(50);
SET @CleanName = UPPER(LEFT(LTRIM(RTRIM(@Name)), 1)) + LOWER(SUBSTRING(LTRIM(RTRIM(@Name)), 2, 49));
-- Trim and uppercase product number
DECLARE @CleanProductNumber nvarchar(25);
SET @CleanProductNumber = UPPER(LTRIM(RTRIM(@ProductNumber)));
-- Generate ProductID by incrementing the latest existing ID
DECLARE @ProductID int;
SELECT @ProductID = ISNULL(MAX(ProductID), 0) + 1 FROM SalesLT.Product;
INSERT INTO SalesLT.Product (
ProductID,
Name,
ProductNumber,
StandardCost,
ListPrice,
SellStartDate
)
OUTPUT
inserted.ProductID,
inserted.Name,
inserted.ProductNumber,
inserted.StandardCost,
inserted.ListPrice,
inserted.SellStartDate
VALUES (
@ProductID,
@CleanName,
@CleanProductNumber,
@StandardCost,
@ListPrice,
@SellStartDate
);
END;
Testaa suoritus valitsemalla Suorita . Huomaat uuden tallennetun toimintosarjan RegisterProduct-kohteen SalesLT-tietokannanTallennetut toimintosarjat -kansiossa. Kokeile toimintosarjan logiikkaa seuraavan kyselyn avulla:
DECLARE @RC int
DECLARE @Name nvarchar(50)
DECLARE @ProductNumber nvarchar(25)
DECLARE @StandardCost money
DECLARE @ListPrice money
DECLARE @SellStartDate datetime
-- TODO: Set parameter values here.
Set @Name = 'test product'
Set @ProductNumber = 'tst-0012'
Set @StandardCost = '10.00'
Set @ListPrice = '9.00'
Set @SellStartDate = '2025-05-01T00:00:00Z'
EXECUTE @RC = \[SalesLT\].\[RegisterProduct\]
@Name
,@ProductNumber
,@StandardCost
,@ListPrice
,@SellStartDate
GO
Vaihe 2: Luo GraphQL-ohjelmointirajapinta
Ohjelmointirajapinnan luominen SQL-taulukosta on nopeaa, helppoa ja yksinkertaista. Sinun tarvitsee vain napsauttaa SQL-tietokannan valintanauhan Uusi ohjelmointirajapinta GraphQL:lle -painiketta ja antaa ohjelmointirajapinnallesi nimi.
Valitse tietokannan SalesLT-taulukot ja juuri luomamme tallennetut toimintosarjat ja valitse sitten Lataa:
GraphQL-ohjelmointirajapinta, rakenne ja kaikki ratkaisut luodaan automaattisesti sekunneissa SQL-taulukoiden ja tallennetun toimintosarjan perusteella.
Vaihe 3: Kutsu toimintosarjaa GraphQL:stä
Kun ohjelmointirajapinta on valmis, tallennettu toimintosarja tulee saataville mutaationa Fabric GraphQL -rakenteessa. Siirry kyselyeditoriin ja suorita seuraava mutaatio:
mutation {
executeRegisterProduct (
Name: " graphQL swag ",
ProductNumber: "gql-swag-001",
StandardCost: 10.0,
ListPrice: 15.0,
SellStartDate: "2025-05-01T00:00:00Z"
) {
ProductID
Name
ProductNumber
StandardCost
ListPrice
SellStartDate
}
}
Vinkkejä
- Fabric GraphQL luo automaattisesti mutaatiokenttiä tallennetuille toimintosarjoille, jotka palauttavat toimintosarjan tuloksessa määritetyn tulosjoukon.
- Liiketoimintalogiikka elää toimintosarjan sisällä, ei asiakkaan.
- Käytä determinististä tunnuksen luomista vain, jos et luota käyttäjätietojen sarakkeisiin.
Kun paljastat tallennetut toimintosarjat Fabric-ohjelmointirajapintojen kautta, voit määrittää luotettavia ja yhtenäisiä sääntöjä SQL:ssä tiedoillesi ja käyttää niitä siististi GraphQL:n kautta.