Σημείωση
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να εισέλθετε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Το Microsoft Fabric API για GraphQL διευκολύνει την υποβολή ερωτημάτων και μετάθεσης δεδομένων από μια βάση δεδομένων SQL Fabric και άλλες προελεύσεις δεδομένων Fabric, όπως το Data Warehouse και το Lakehouse, με σχήματα ισχυρού τύπου και μια πλούσια γλώσσα ερωτημάτων που επιτρέπει στους προγραμματιστές να δημιουργήσουν ένα εύχρηστο API χωρίς τη σύνταξη προσαρμοσμένου κώδικα διακομιστή. Μπορείτε να χρησιμοποιήσετε αποθηκευμένες διαδικασίες για να συμπυκνώσετε και να επαναχρησιμοποιήσετε σύνθετη επιχειρηματική λογική, συμπεριλαμβανομένης της επικύρωσης εισόδου και του μετασχηματισμού δεδομένων.
Σε αυτό το παράδειγμα θα μάθουμε πώς να χρησιμοποιούμε μια αποθηκευμένη διαδικασία για την καταχώρηση νέων προϊόντων, με λογική στην πλευρά του διακομιστή για επικύρωση, μορφοποίηση και δημιουργία αναγνωριστικού, τα οποία εκτίθενται όλα μέσω μιας μετάλλαξης GraphQL στο Fabric.
Ξεκινήσετε
Θα ξεκινήσουμε με τη δημιουργία μιας βάσης δεδομένων SQL στο Fabric:
- Στον χώρο εργασίας σας Fabric, επιλέξτε Νέο στοιχείο και, στη συνέχεια , Βάση δεδομένων SQL (προεπισκόπηση).
- Δώστε ένα όνομα στη βάση δεδομένων σας και, στη συνέχεια, επιλέξτε Δείγμα δεδομένων για να δημιουργήσετε γρήγορα όλους τους απαιτούμενους πίνακες και δεδομένα στη βάση δεδομένων σας.
Σενάριο: καταχώρηση νέου προϊόντος
Ας υποθέσουμε ότι θέλετε να δημιουργήσετε ένα νέο προϊόν με:
- Επικύρωση λογικής τιμολόγησης (για παράδειγμα, ListPrice > StandardCost)
- Μετασχηματισμός (για παράδειγμα, κεφαλαίο το πρώτο γράμμα του ονόματος προϊόντος, αποκοπή και, στη συνέχεια, αριθμός προϊόντος με κεφαλαία)
- Δημιουργία ProductID (προσαυξώντας το πιο πρόσφατο ProductID)
Βήμα 1: Δημιουργία της αποθηκευμένης διαδικασίας
Ακολουθεί μια αποθηκευμένη διαδικασία T-SQL που περικλείει όλες τις επιχειρηματικές λογική που χρειαζόμαστε. Στη βάση δεδομένων SQL, κάντε κλικ στο Νέο ερώτημα και χρησιμοποιήστε την ακόλουθη πρόταση:
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;
Κάντε κλικ στο κουμπί Εκτέλεση για να ελέγξετε την εκτέλεση. Παρατηρήστε μια νέα αποθηκευμένη διαδικασία RegisterProduct στον φάκελο Αποθηκευμένες διαδικασίες στη βάση δεδομένων SalesLT . Χρησιμοποιήστε το παρακάτω ερώτημα για να ελέγξετε τη λογική διαδικασίας:
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
Βήμα 2: Δημιουργία API GraphQL
Η δημιουργία ενός API από τον πίνακα SQL είναι γρήγορη, εύκολη και απλή. Απλώς πρέπει να κάνετε κλικ στο κουμπί Νέο API για GraphQL στην κορδέλα βάσης δεδομένων SQL και να δώσετε ένα όνομα στο API σας.
Στη συνέχεια, επιλέξτε τους πίνακες SalesLT στη βάση δεδομένων σας και την αποθηκευμένη διαδικασία που μόλις δημιουργήσαμε και, στη συνέχεια, κάντε κλικ στην επιλογή Φόρτωση:
Το API GraphQL, το σχήμα και όλα τα στοιχεία επίλυσης δημιουργούνται αυτόματα σε δευτερόλεπτα με βάση τους πίνακες SQL και την αποθηκευμένη διαδικασία.
Βήμα 3: Καλέστε τη διαδικασία από το GraphQL
Όταν το API είναι έτοιμο, η αποθηκευμένη διαδικασία γίνεται διαθέσιμη ως μετάλλαξη στο σχήμα Fabric GraphQL. Μεταβείτε στο πρόγραμμα επεξεργασίας ερωτημάτων και εκτελέστε την ακόλουθη μετάλλαξη:
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
}
}
Συμβουλές
- Το Fabric GraphQL δημιουργεί αυτόματα πεδία μετάλλαξης για αποθηκευμένες διαδικασίες που επιστρέφουν ένα σύνολο αποτελεσμάτων που ορίζεται στην έξοδο της διαδικασίας.
- Η επιχειρηματική λογική βρίσκεται μέσα στη διαδικασία, όχι ο πελάτης.
- Χρησιμοποιήστε προσδιοριστική δημιουργία αναγνωριστικού μόνο εάν δεν βασίζεστε σε στήλες ταυτότητας.
Η έκθεση αποθηκευμένων διαδικασιών μέσω API Fabric σάς δίνει τη δυνατότητα να ορίζετε ισχυρούς, συνεπείς κανόνες στην SQL για τα δεδομένα σας και να έχετε πρόσβαση σε αυτά με καθαρό τρόπο μέσω GraphQL.