หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
Microsoft Fabric API สําหรับ GraphQL ทําให้ง่ายต่อการคิวรีและกลายพันธุ์ข้อมูลจากฐานข้อมูล Fabric SQL และแหล่งข้อมูล Fabric อื่น ๆ เช่น Data Warehouse และ Lakehouse ที่มี Schema ประเภทที่แข็งแกร่งและภาษาคิวรีที่สมบูรณ์ซึ่งช่วยให้นักพัฒนาสามารถสร้าง API ที่ใช้งานง่ายโดยไม่ต้องเขียนโค้ดเซิร์ฟเวอร์แบบกําหนดเอง คุณสามารถใช้ขั้นตอนที่เก็บไว้เพื่อห่อหุ้มและนําตรรกะทางธุรกิจที่ซับซ้อนกลับมาใช้ใหม่ รวมถึงการตรวจสอบการป้อนข้อมูลและการแปลงข้อมูล
ในตัวอย่างนี้ เราจะเรียนรู้วิธีการใช้กระบวนงานที่เก็บไว้เพื่อลงทะเบียนผลิตภัณฑ์ใหม่ ด้วยตรรกะฝั่งเซิร์ฟเวอร์สําหรับการตรวจสอบความถูกต้อง การจัดรูปแบบ และการสร้าง ID ทั้งหมดที่ถูกเปิดเผยผ่านการกลายพันธุ์ GraphQL ใน Fabric
เริ่มต้นใช้งาน
เราเริ่มต้นโดยการสร้างฐานข้อมูล SQL ใน Fabric:
- ในพื้นที่ทํางาน Fabric ของคุณ เลือก รายการใหม่ แล้ว SQL ฐานข้อมูล (ตัวอย่าง)
- ตั้งชื่อฐานข้อมูลของคุณ จากนั้นเลือก ข้อมูลตัวอย่าง เพื่อสร้างตารางและข้อมูลที่จําเป็นทั้งหมดในฐานข้อมูลของคุณได้อย่างรวดเร็ว
สถานการณ์: ลงทะเบียนผลิตภัณฑ์ใหม่
สมมติว่าคุณต้องการสร้างผลิตภัณฑ์ใหม่ด้วย:
- การตรวจสอบความถูกต้องของตรรกะการกําหนดราคา (ตัวอย่างเช่น ListPrice > StandardCost)
- การแปลงข้อมูล (ตัวอย่างเช่น ใช้ตัวอักษรตัวแรกของชื่อผลิตภัณฑ์ แล้วตัดแต่งหมายเลขผลิตภัณฑ์ตัวพิมพ์ใหญ่)
- การสร้าง ProductID (โดยการเพิ่ม ProductID ล่าสุด)
ขั้นตอนที่ 1: สร้าง Stored Procedure
นี่คือขั้นตอนที่เก็บไว้ของ 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 ภายใต้โฟลเดอร์ Stored Procedures ในฐานข้อมูล 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: สร้าง GraphQL API
การสร้าง API จากตาราง SQL ของคุณนั้นเร็ว ง่าย และตรงไปตรงมา คุณเพียงแค่คลิกปุ่ม API ใหม่สําหรับ GraphQL ในริบบอนฐานข้อมูล SQL และตั้งชื่อ API ของคุณ
จากนั้นเลือกตาราง SalesLT ในฐานข้อมูลของคุณและขั้นตอนที่เก็บไว้ที่เราเพิ่งสร้าง จากนั้นคลิก โหลด:
GraphQL API, schema และตัวแก้ไขทั้งหมดจะถูกสร้างขึ้นโดยอัตโนมัติในไม่กี่วินาทีตามตาราง SQL และ Stored Procedure
ขั้นตอนที่ 3: เรียกใช้ขั้นตอนจาก GraphQL
เมื่อ API พร้อม ขั้นตอนการจัดเก็บจะพร้อมใช้งานเป็นแบบการกลายพันธุ์ใน Schema ของ 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 จะสร้างเขตข้อมูลการกลายพันธุ์สําหรับขั้นตอนการจัดเก็บที่ส่งกลับชุดผลลัพธ์ที่กําหนดไว้ในผลลัพธ์ของกระบวนการโดยอัตโนมัติ
- ตรรกะทางธุรกิจอยู่ภายในขั้นตอน ไม่ใช่ไคลเอ็นต์
- ใช้การสร้าง ID แบบเชิงกําหนดเฉพาะในกรณีที่คุณไม่ขึ้นอยู่กับคอลัมน์ข้อมูลประจําตัวเท่านั้น
การเปิดเผยขั้นตอนการจัดเก็บผ่าน Fabric API ช่วยให้คุณสามารถกําหนดกฎที่แข็งแกร่งและสอดคล้องกันใน SQL สําหรับข้อมูลของคุณ และเข้าถึงได้อย่างสมบูรณ์ผ่าน GraphQL
เนื้อหาที่เกี่ยวข้อง
- Fabric API สําหรับ ตัวแก้ไข GraphQL
- ฐานข้อมูล SQL ใน Microsoft Fabric