ความสามารถของ API สาธารณะสําหรับ Dataflow Gen2 ใน Fabric Data Factory

Fabric Data Factory มีชุด API ที่คุณสามารถใช้เพื่อทําให้กระแสข้อมูลของคุณเป็นแบบอัตโนมัติและจัดการได้อย่างมีประสิทธิภาพ API เหล่านี้ผสานรวมกับแหล่งข้อมูลและบริการต่างๆ คุณจึงสามารถสร้าง อัปเดต และตรวจสอบเวิร์กโฟลว์ข้อมูลของคุณโดยทางโปรแกรมได้ API รองรับการดําเนินการที่หลากหลาย รวมถึงกระแสข้อมูล CRUD (สร้าง อ่าน อัปเดต และลบ) การจัดกําหนดการ และการตรวจสอบ

กรณีการใช้งาน API สําหรับกระแสข้อมูล

ใช้ API สําหรับกระแสข้อมูลใน Fabric Data Factory ในสถานการณ์ต่างๆ:

  • การปรับใช้อัตโนมัติ: ทําให้การปรับใช้กระแสข้อมูลเป็นไปโดยอัตโนมัติในสภาพแวดล้อมต่างๆ (การพัฒนา การทดสอบ การผลิต) โดยใช้แนวทางปฏิบัติ CI/CD
  • การตรวจสอบและการแจ้งเตือน: ตั้งค่าระบบตรวจสอบและแจ้งเตือนอัตโนมัติเพื่อติดตามสถานะของกระแสข้อมูลและรับการแจ้งเตือนในกรณีที่เกิดความล้มเหลวหรือปัญหาด้านประสิทธิภาพ
  • การรวมข้อมูล: รวมข้อมูลจากหลายแหล่ง เช่น ฐานข้อมูล ที่จัดเก็บข้อมูลดิบ และบริการระบบคลาวด์ เข้ากับกระแสข้อมูลแบบครบวงจรสําหรับการประมวลผลและการวิเคราะห์
  • การจัดการข้อผิดพลาด: ใช้การจัดการข้อผิดพลาดแบบกําหนดเองและกลไกการลองใหม่เพื่อให้แน่ใจว่ากระแสข้อมูลทํางานได้อย่างราบรื่นและกู้คืนจากความล้มเหลว

ทําความเข้าใจ API

หากต้องการใช้ API สําหรับกระแสข้อมูลใน Fabric Data Factory อย่างมีประสิทธิภาพ ให้ทําความเข้าใจแนวคิดหลักและส่วนประกอบ:

  • จุดสิ้นสุด: จุดสิ้นสุด API ให้การเข้าถึงการดําเนินการกระแสข้อมูลต่างๆ เช่น การสร้าง การอัปเดต และการลบกระแสข้อมูล
  • การรับรองความถูกต้อง: รักษาความปลอดภัยการเข้าถึง API โดยใช้กลไกการรับรองความถูกต้อง เช่น OAuth หรือคีย์ API
  • คําขอและการตอบสนอง: ทําความเข้าใจโครงสร้างของคําขอ API และการตอบสนอง รวมถึงพารามิเตอร์ที่จําเป็นและผลลัพธ์ที่คาดหวัง
  • ขีดจํากัดอัตรา: ระวังขีดจํากัดอัตราที่กําหนดไว้ในการใช้งาน API เพื่อหลีกเลี่ยงการใช้เกินจํานวนคําขอที่อนุญาต

รองรับ CRUD

CRUD ย่อมาจาก Create, Read, Update, and Delete ซึ่งเป็นการดําเนินการพื้นฐานสี่อย่างที่คุณสามารถทําได้กับข้อมูล Fabric API for Data Factory รองรับการดําเนินการ CRUD ดังนั้นคุณจึงสามารถจัดการกระแสข้อมูลของคุณโดยทางโปรแกรมได้ ประเด็นสําคัญเกี่ยวกับการสนับสนุน CRUD:

  • สร้าง: สร้างกระแสข้อมูลใหม่โดยใช้ API ซึ่งเกี่ยวข้องกับการกําหนดโครงสร้างกระแสข้อมูล การระบุแหล่งข้อมูล การแปลง และปลายทาง
  • อ่าน: เรียกใช้ข้อมูลเกี่ยวกับกระแสข้อมูลที่มีอยู่ ซึ่งรวมถึงรายละเอียดเกี่ยวกับการกําหนดค่า สถานะ และประวัติการดําเนินการ
  • อัปเดต: อัปเดตกระแสข้อมูลที่มีอยู่ ซึ่งอาจเกี่ยวข้องกับการแก้ไขโครงสร้างกระแสข้อมูล การเปลี่ยนแหล่งข้อมูล หรือการอัปเดตตรรกะการแปลง
  • ลบ: ลบกระแสข้อมูลที่ไม่ต้องการอีกต่อไป ซึ่งช่วยในการจัดการและทําความสะอาดทรัพยากร

สําหรับเอกสารอ้างอิงออนไลน์หลักสําหรับ Microsoft Fabric REST API โปรดดู เอกสารประกอบ Microsoft Fabric REST API

วงจรชีวิตของกระแสข้อมูล

เมื่อทํางานกับกระแสข้อมูล คุณจะต้องเข้าใจวงจรชีวิตของกระแสข้อมูลเพื่อให้แน่ใจว่ากระบวนการรวมข้อมูลมีประสิทธิภาพและราบรื่น ขั้นตอนสําคัญในวงจรชีวิตกระแสข้อมูล ได้แก่ :

  • คํานิยาม: ขั้นตอนนี้เป็นที่ที่คุณสร้างหรือปรับเปลี่ยนข้อกําหนดของกระแสข้อมูล กระบวนการนี้เกี่ยวข้องกับการระบุแหล่งข้อมูล การแปลง และปลายทาง
  • ตีพิมพ์: หลังจากแก้ไขข้อกําหนดของกระแสข้อมูลแล้ว คุณจําเป็นต้องเรียกใช้การดําเนินการเผยแพร่ นี่คือขั้นตอนสําคัญเนื่องจากจะบันทึกการเปลี่ยนแปลงที่เกิดขึ้นกับข้อกําหนดของกระแสข้อมูลและทําให้พร้อมใช้งานสําหรับการดําเนินการ
  • รีเฟรช: หลังจากเผยแพร่กระแสข้อมูลแล้ว คุณสามารถเรียกใช้การดําเนินการ รีเฟรช การดําเนินการนี้จะทริกเกอร์กระแสข้อมูลให้ทํางาน ดึงข้อมูลจากแหล่งข้อมูลที่ระบุ ใช้การแปลงที่กําหนดไว้ และโหลดข้อมูลไปยังปลายทาง

Prerequisites

เมื่อต้องการใช้ API สาธารณะของกระแสข้อมูล Gen2 คุณต้อง:

เริ่มต้นใช้งาน API สาธารณะสําหรับกระแสข้อมูล

ตารางต่อไปนี้สรุปการดําเนินการ Dataflow Gen2 API ที่มีอยู่ทั้งหมด:

การดำเนินการ เมธอด HTTP จุดสิ้นสุด
สร้างกระแสข้อมูล ประกาศ /v1/workspaces/{workspaceId}/items
สร้างกระแสข้อมูลด้วยข้อกําหนด ประกาศ /v1/workspaces/{workspaceId}/items (พร้อม definition น้ําหนักบรรทุก)
รับกระแสข้อมูล GET /v1/workspaces/{workspaceId}/items/{itemId}
รับกระแสข้อมูลพร้อมคําจํากัดความ ประกาศ /v1/workspaces/{workspaceId}/items/{itemId}/getDefinition
อัปเดตกระแสข้อมูล แก้ไข /v1/workspaces/{workspaceId}/items/{itemId}
อัปเดตกระแสข้อมูลด้วยคําจํากัดความ ประกาศ /v1/workspaces/{workspaceId}/items/{itemId}/updateDefinition
ลบกระแสข้อมูล ลบ /v1/workspaces/{workspaceId}/items/{itemId}
เรียกใช้การรีเฟรชตามความต้องการ ประกาศ /v1/workspaces/{workspaceId}/items/{itemId}/jobs/instances?jobType=Refresh
เรียกใช้การเผยแพร่ตามความต้องการ ประกาศ /v1/workspaces/{workspaceId}/items/{itemId}/jobs/instances?jobType=Publish
รับอินสแตนซ์งาน GET /v1/workspaces/{workspaceId}/items/{itemId}/jobs/instances/{jobInstanceId}
ยกเลิกอินสแตนซ์งาน ประกาศ /v1/workspaces/{workspaceId}/items/{itemId}/jobs/instances/{jobInstanceId}/cancel

ส่วนนี้ครอบคลุมหัวข้อต่อไปนี้:

รับโทเค็นการรับรองความถูกต้อง

คุณต้องมีโทเค็นผู้ถือสําหรับการเรียก REST API ทั้งหมด รับโดยใช้หนึ่งในตัวเลือกเหล่านี้:

MSAL.NET

การเริ่มต้นใช้งานด่วน Fabric API - Microsoft Fabric REST API

ใช้ MSAL.NET เพื่อรับโทเค็น Microsoft Entra ID สําหรับบริการ Fabric ที่มีขอบเขตต่อไปนี้: Workspace.ReadWrite.All, . Item.ReadWrite.All สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการได้มาซึ่งโทเค็นด้วย MSAL.NET ให้ดูที่ การได้มาซึ่งโทเค็น - Microsoft Authentication Library for .NET

วางรหัสแอปพลิเคชัน (ไคลเอ็นต์) ที่คุณคัดลอกไว้ก่อนหน้านี้ลงในตัวแปร ClientId

พอร์ทัล Fabric

ลงชื่อเข้าใช้พอร์ทัล Fabric สําหรับผู้เช่าที่คุณต้องการทดสอบ และเลือก F12 เพื่อเปิดเครื่องมือสําหรับนักพัฒนาของเบราว์เซอร์ ในคอนโซล ให้เรียกใช้:

powerBIAccessToken

คัดลอกโทเค็นและวางลงในตัวแปร ClientId

สร้างกระแสข้อมูล

สร้างกระแสข้อมูลในพื้นที่ทํางานที่ระบุ ส่งคําขอ POST ไปยังตําแหน่งข้อมูลรายการด้วย displayName, descriptionและtypeตั้งค่าเป็นDataflow การตอบกลับจะรวมรายการที่สร้างขึ้นด้วยid

คําขอตัวอย่าง

URI: POST [https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items](https://api.fabric.microsoft.com/v1/workspaces/%7bworkspaceId%7d/items)

Headers:

{
    "Authorization": "\<bearer-token>",
    "Content-Type": "application/json"
}

Payload:

{
    "displayName": "My dataflow",
    "description": "My dataflow description",
    "type": "Dataflow"
}

ตอบกลับตัวอย่างของ

{
    "id": "\<itemId>",
    "type": "Dataflow",
    "displayName": "My dataflow",
    "description": "My dataflow description",
    "workspaceId": "\<workspaceId>"
}

สร้างกระแสข้อมูลด้วยข้อกําหนด

สร้างกระแสข้อมูลด้วยข้อกําหนด Base64 ในพื้นที่ทํางานที่ระบุ ส่งคําขอ POST ไปยังปลายทางรายการด้วยเอกสาร Mashup ที่เข้ารหัส Base64 แบบอินไลน์ใน definition.parts อาร์เรย์

ตัวอย่างเอกสาร Mashup

{
    "editingSessionMashup": {
            "mashupName": "",
            "mashupDocument": "section Section1;\r\nshared Query = let\n Source = Table.FromRows(\n {\n {1, \"Bob\", \"123-4567\"},\n {2, \"Jim\", \"987-6543\"}\n },\n {\"CustomerID\", \"Name\", \"Phone\"})\nin\n Source;\r\n",
            "queryGroups": [],
            "documentLocale": "en-US",
            "gatewayObjectId": null,
            "queriesMetadata": null,
            "connectionOverrides": [],
            "trustedConnections": null,
            "useHostConnectionProvider": false,
            "fastCombine": false,
            "allowNativeQueries": true,
            "allowedModules": null,
            "skipAutomaticTypeAndHeaderDetection": false,
            "disableAutoAnonymousConnectionUpsert": null,
            "hostProperties": {
                    "DataflowRefreshOutputFileFormat": "Parquet",
                    "EnableDateTimeFieldsForStaging": "true",
                    "EnablePublishWithoutLoadedQueries": "true"
            },
            "defaultOutputDestinationConfiguration": null,
            "stagingDefinition": null
    }
}

ใช้ การเข้ารหัสและถอดรหัส Base64 เพื่อเข้ารหัส JSON ของคุณ

ตรวจสอบให้แน่ใจว่า กล่องดําเนินการเข้ารหัส URL ที่ปลอดภัยไม่ได้ถูกเลือกไว้

วางการตอบสนองของส่วนข้อมูลคําขอ Base64 ที่เข้ารหัสของคุณลงในข้อกําหนดของส่วนข้อมูล

คําขอตัวอย่าง

URI: POST [https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items](https://api.fabric.microsoft.com/v1/workspaces/%7bworkspaceId%7d/items)

Headers:

{
    "Authorization": "\<bearer-token>",
    "Content-Type": "application/json"
}

Payload:

{
    "displayName": " My dataflow",
    "description": "My dataflow description",

    "type": "Dataflow",
    "definition": {
        "parts": [
            {
                "path": "dataflow-content.json",
                "payload": "ewogICAgImVkaXRpbmdTZXNzaW9uTWFzaHVwIjogewogICAgICAgICJtYXNodXBOYW1lIjogIiIsCiAgICAgICAgIm1hc2h1cERvY3VtZW50IjogInNlY3Rpb24gU2VjdGlvbjE7XHJcbnNoYXJlZCBRdWVyeSA9IGxldFxuIFNvdXJjZSA9IFRhYmxlLkZyb21Sb3dzKFxuIHtcbiB7MSwgXCJCb2JcIiwgXCIxMjMtNDU2N1wifSxcbiB7MiwgXCJKaW1cIiwgXCI5ODctNjU0M1wifVxuIH0sXG4ge1wiQ3VzdG9tZXJJRFwiLCBcIk5hbWVcIiwgXCJQaG9uZVwifSlcbmluXG4gU291cmNlO1xyXG4iLAogICAgICAgICJxdWVyeUdyb3VwcyI6IFtdLAogICAgICAgICJkb2N1bWVudExvY2FsZSI6ICJlbi1VUyIsCiAgICAgICAgImdhdGV3YXlPYmplY3RJZCI6IG51bGwsCiAgICAgICAgInF1ZXJpZXNNZXRhZGF0YSI6IG51bGwsCiAgICAgICAgImNvbm5lY3Rpb25PdmVycmlkZXMiOiBbXSwKICAgICAgICAidHJ1c3RlZENvbm5lY3Rpb25zIjogbnVsbCwKICAgICAgICAidXNlSG9zdENvbm5lY3Rpb25Qcm92aWRlciI6IGZhbHNlLAogICAgICAgICJmYXN0Q29tYmluZSI6IGZhbHNlLAogICAgICAgICJhbGxvd05hdGl2ZVF1ZXJpZXMiOiB0cnVlLAogICAgICAgICJhbGxvd2VkTW9kdWxlcyI6IG51bGwsCiAgICAgICAgInNraXBBdXRvbWF0aWNUeXBlQW5kSGVhZGVyRGV0ZWN0aW9uIjogZmFsc2UsCiAgICAgICAgImRpc2FibGVBdXRvQW5vbnltb3VzQ29ubmVjdGlvblVwc2VydCI6IG51bGwsCiAgICAgICAgImhvc3RQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiRGF0YWZsb3dSZWZyZXNoT3V0cHV0RmlsZUZvcm1hdCI6ICJQYXJxdWV0IiwKICAgICAgICAgICAgIkVuYWJsZURhdGVUaW1lRmllbGRzRm9yU3RhZ2luZyI6ICJ0cnVlIiwKICAgICAgICAgICAgIkVuYWJsZVB1Ymxpc2hXaXRob3V0TG9hZGVkUXVlcmllcyI6ICJ0cnVlIgogICAgICAgIH0sCiAgICAgICAgImRlZmF1bHRPdXRwdXREZXN0aW5hdGlvbkNvbmZpZ3VyYXRpb24iOiBudWxsLAogICAgICAgICJzdGFnaW5nRGVmaW5pdGlvbiI6IG51bGwKICAgIH0KfQ==",
                "payloadType": "InlineBase64"
            }
        ]
    }
}

ตอบกลับตัวอย่างของ

{
    "id": "\<itemId>",
    "type": "Dataflow",
    "displayName": "My dataflow",
    "description": "My dataflow description",
    "workspaceId": "\<workspaceId>"
}

รับกระแสข้อมูล

ส่งกลับคุณสมบัติของกระแสข้อมูลที่ระบุ ส่งคําขอ GET ด้วย workspaceId พารามิเตอร์ และ itemId path

คําขอตัวอย่าง

URI: GET [https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}](https://api.fabric.microsoft.com/v1/workspaces/%7bworkspaceId%7d/items/%7bitemId%7d)

Headers:

{
    "Authorization": "\<bearer-token>"
}

ตอบกลับตัวอย่างของ

{
    "id": "\<itemId>",
    "type": "Dataflow",
    "displayName": "My dataflow",
    "description": "My dataflow description",
    "workspaceId": "\<workspaceId>"
}

รับกระแสข้อมูลพร้อมคําจํากัดความ

แสดงข้อกําหนดรายการกระแสข้อมูล ส่งคําขอ POST ไปยัง getDefinition ปลายทาง การตอบกลับประกอบด้วยส่วนที่เข้ารหัส Base64 รวมถึงเอกสาร Mashup และข้อมูลเมตาของแพลตฟอร์ม

คําขอตัวอย่าง

URI: POST [https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}/getDefinition](https://api.fabric.microsoft.com/v1/workspaces/%7bworkspaceId%7d/items/%7bitemId%7d/getDefinition)

Headers:

{
    "Authorization": "\<bearer-token>"
}

ตอบกลับตัวอย่างของ

{

    "definition": {

        "parts": [

            {

                "path": "dataflow-content.json",

                "payload": " ewogICAgImVkaXRpbmdTZXNzaW9uTWFzaHVwIjogewogICAgICAgICJtYXNodXBOYW1lIjogIiIsCiAgICAgICAgIm1hc2h1cERvY3VtZW50IjogInNlY3Rpb24gU2VjdGlvbjE7XHJcbnNoYXJlZCBRdWVyeSA9IGxldFxuIFNvdXJjZSA9IFRhYmxlLkZyb21Sb3dzKFxuIHtcbiB7MSwgXCJCb2JcIiwgXCIxMjMtNDU2N1wifSxcbiB7MiwgXCJKaW1cIiwgXCI5ODctNjU0M1wifVxuIH0sXG4ge1wiQ3VzdG9tZXJJRFwiLCBcIk5hbWVcIiwgXCJQaG9uZVwifSlcbmluXG4gU291cmNlO1xyXG4iLAogICAgICAgICJxdWVyeUdyb3VwcyI6IFtdLAogICAgICAgICJkb2N1bWVudExvY2FsZSI6ICJlbi1VUyIsCiAgICAgICAgImdhdGV3YXlPYmplY3RJZCI6IG51bGwsCiAgICAgICAgInF1ZXJpZXNNZXRhZGF0YSI6IG51bGwsCiAgICAgICAgImNvbm5lY3Rpb25PdmVycmlkZXMiOiBbXSwKICAgICAgICAidHJ1c3RlZENvbm5lY3Rpb25zIjogbnVsbCwKICAgICAgICAidXNlSG9zdENvbm5lY3Rpb25Qcm92aWRlciI6IGZhbHNlLAogICAgICAgICJmYXN0Q29tYmluZSI6IGZhbHNlLAogICAgICAgICJhbGxvd05hdGl2ZVF1ZXJpZXMiOiB0cnVlLAogICAgICAgICJhbGxvd2VkTW9kdWxlcyI6IG51bGwsCiAgICAgICAgInNraXBBdXRvbWF0aWNUeXBlQW5kSGVhZGVyRGV0ZWN0aW9uIjogZmFsc2UsCiAgICAgICAgImRpc2FibGVBdXRvQW5vbnltb3VzQ29ubmVjdGlvblVwc2VydCI6IG51bGwsCiAgICAgICAgImhvc3RQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiRGF0YWZsb3dSZWZyZXNoT3V0cHV0RmlsZUZvcm1hdCI6ICJQYXJxdWV0IiwKICAgICAgICAgICAgIkVuYWJsZURhdGVUaW1lRmllbGRzRm9yU3RhZ2luZyI6ICJ0cnVlIiwKICAgICAgICAgICAgIkVuYWJsZVB1Ymxpc2hXaXRob3V0TG9hZGVkUXVlcmllcyI6ICJ0cnVlIgogICAgICAgIH0sCiAgICAgICAgImRlZmF1bHRPdXRwdXREZXN0aW5hdGlvbkNvbmZpZ3VyYXRpb24iOiBudWxsLAogICAgICAgICJzdGFnaW5nRGVmaW5pdGlvbiI6IG51bGwKICAgIH0KfQ=="

                "payloadType": "InlineBase64"

            },

            {

                "path": ".platform",

                "payload": "ewogICIkc2NoZW1hIjogImh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vanNvbi1zY2hlbWFzL2ZhYnJpYy9naXRJbnRlZ3JhdGlvbi9wbGF0Zm9ybVByb3BlcnRpZXMvMi4wLjAvc2NoZW1hLmpzb24iLAogICJtZXRhZGF0YSI6IHsKICAgICJ0eXBlIjogIkRhdGFmbG93IiwKICAgICJkaXNwbGF5TmFtZSI6ICJEYXRhZmxvdyAzIgogIH0sCiAgImNvbmZpZyI6IHsKICAgICJ2ZXJzaW9uIjogIjIuMCIsCiAgICAibG9naWNhbElkIjogIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIKICB9Cn0=",

                "payloadType": "InlineBase64"

            }

        ]

    }

}

ตัวอย่างการตอบกลับ (รูปแบบแบบง่าย)

{
    'definition':
    {
        'parts': [
            {
                'path': 'queryMetadata.json', 'payload': '<super long entry>', 'payloadType': 'InlineBase64'
            },
            {
                'path': 'mashup.pq', 'payload': '<super long entry>', 'payloadType': 'InlineBase64'
            },
            {
                'path': '.platform', 'payload': '<super long entry>', 'payloadType': 'InlineBase64'
            }
        ]
    }
}

อัปเดตกระแสข้อมูล

อัปเดตคุณสมบัติของกระแสข้อมูลที่ระบุ ส่งคําขอ PATCH ด้วย workspaceId พารามิเตอร์ และ itemId path รวมข้อมูลที่อัปเดต displayName หรือ description ในเนื้อหาคําขอ

คําขอตัวอย่าง

URI: PATCH [https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}](https://api.fabric.microsoft.com/v1/workspaces/%7bworkspaceId%7d/items/%7bitemId%7d)

Headers:

{
  "Authorization": "\<bearer-token>",
  "Content-Type": "application/json"
}

Payload:
{
  "displayName": "My dataflow updated",
  "description": "My dataflow description updated",
  "type": "Dataflow"
}

ตอบกลับตัวอย่างของ

{
    "id": "\<itemId>",
    "type": "Dataflow",
    "displayName": "My dataflow updated",
    "description": "My dataflow description updated",
    "workspaceId": "\<workspaceId>"
}

อัปเดตกระแสข้อมูลด้วยคําจํากัดความ

อัปเดตข้อกําหนดรายการกระแสข้อมูล ส่งคําขอ POST ไปยัง updateDefinition ปลายทางด้วยส่วนคําจํากัดความที่เข้ารหัส Base64 ในเนื้อหาคําขอ

คําขอตัวอย่าง

URI: POST [https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}/updateDefinition](https://api.fabric.microsoft.com/v1/workspaces/%7bworkspaceId%7d/items/%7bitemId%7d/updateDefinition)

Headers:

{
  "Authorization": "\<bearer-token>",
  "Content-Type": "application/json"
}

Payload:

{
  "displayName": " My dataflow",
  "type": "Dataflow",
  "definition": {
    "parts": [
      {
        "path": "dataflow-content.json",
        "payload": " ewogICAgImVkaXRpbmdTZXNzaW9uTWFzaHVwIjogewogICAgICAgICJtYXNodXBOYW1lIjogIiIsCiAgICAgICAgIm1hc2h1cERvY3VtZW50IjogInNlY3Rpb24gU2VjdGlvbjE7XHJcbnNoYXJlZCBRdWVyeSA9IGxldFxuIFNvdXJjZSA9IFRhYmxlLkZyb21Sb3dzKFxuIHtcbiB7MSwgXCJCb2JcIiwgXCIxMjMtNDU2N1wifSxcbiB7MiwgXCJKaW1cIiwgXCI5ODctNjU0M1wifVxuIH0sXG4ge1wiQ3VzdG9tZXJJRFwiLCBcIk5hbWVcIiwgXCJQaG9uZVwifSlcbmluXG4gU291cmNlO1xyXG4iLAogICAgICAgICJxdWVyeUdyb3VwcyI6IFtdLAogICAgICAgICJkb2N1bWVudExvY2FsZSI6ICJlbi1VUyIsCiAgICAgICAgImdhdGV3YXlPYmplY3RJZCI6IG51bGwsCiAgICAgICAgInF1ZXJpZXNNZXRhZGF0YSI6IG51bGwsCiAgICAgICAgImNvbm5lY3Rpb25PdmVycmlkZXMiOiBbXSwKICAgICAgICAidHJ1c3RlZENvbm5lY3Rpb25zIjogbnVsbCwKICAgICAgICAidXNlSG9zdENvbm5lY3Rpb25Qcm92aWRlciI6IGZhbHNlLAogICAgICAgICJmYXN0Q29tYmluZSI6IGZhbHNlLAogICAgICAgICJhbGxvd05hdGl2ZVF1ZXJpZXMiOiB0cnVlLAogICAgICAgICJhbGxvd2VkTW9kdWxlcyI6IG51bGwsCiAgICAgICAgInNraXBBdXRvbWF0aWNUeXBlQW5kSGVhZGVyRGV0ZWN0aW9uIjogZmFsc2UsCiAgICAgICAgImRpc2FibGVBdXRvQW5vbnltb3VzQ29ubmVjdGlvblVwc2VydCI6IG51bGwsCiAgICAgICAgImhvc3RQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiRGF0YWZsb3dSZWZyZXNoT3V0cHV0RmlsZUZvcm1hdCI6ICJQYXJxdWV0IiwKICAgICAgICAgICAgIkVuYWJsZURhdGVUaW1lRmllbGRzRm9yU3RhZ2luZyI6ICJ0cnVlIiwKICAgICAgICAgICAgIkVuYWJsZVB1Ymxpc2hXaXRob3V0TG9hZGVkUXVlcmllcyI6ICJ0cnVlIgogICAgICAgIH0sCiAgICAgICAgImRlZmF1bHRPdXRwdXREZXN0aW5hdGlvbkNvbmZpZ3VyYXRpb24iOiBudWxsLAogICAgICAgICJzdGFnaW5nRGVmaW5pdGlvbiI6IG51bGwKICAgIH0KfQ==",
        "payloadType": "InlineBase64"
      }
    ]
  }
}

ตอบกลับตัวอย่างของ

200 OK

ลบกระแสข้อมูล

ลบกระแสข้อมูลที่ระบุ ส่งคําขอ DELETE ด้วย workspaceId พารามิเตอร์ และ itemId path ผลตอบแทน 200 OK จากความสําเร็จ

คําขอตัวอย่าง

URI: DELETE [https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}](https://api.fabric.microsoft.com/v1/workspaces/%7bworkspaceId%7d/items/%7bitemId%7d)

Headers:

{
  "Authorization": "\<bearer-token>"
}

ตอบกลับตัวอย่างของ

200 OK

เรียกใช้งานกระแสข้อมูลตามความต้องการ (รีเฟรช)

ทริกเกอร์การรีเฟรชตามความต้องการสําหรับกระแสข้อมูลที่ระบุ ส่งคําขอ POST ด้วย jobType=Refresh พารามิเตอร์คิวรี รวม DataflowName, OwnerUserPrincipalName, และ OwnerUserObjectId ใน executionData เพย์โหลด ส่งคืนด้วย 202 Accepted a jobInstanceId สําหรับการติดตาม

คําขอตัวอย่าง

URI: POST [https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}/jobs/instances?jobType=Refresh](https://api.fabric.microsoft.com/v1/workspaces/%7bworkspaceId%7d/items/%7bitemId%7d/jobs/instances?jobType=Refresh)

Headers:

{
  "Authorization": "\<bearer-token>"
}

Payload:

{
    "executionData": {
        "DataflowName": "Dataflow",
        "OwnerUserPrincipalName": "\<name@email.com>",
        "OwnerUserObjectId": "\<ObjectId>"
    }
}

ตอบกลับตัวอย่างของ

202 Accepted
[
  {
    "id": "\<jobId>",
    "itemId": "\<dataflowItemId>",
    "jobType": "Refresh",
    "invokeType": "OnDemand",
    "status": "Accepted",
    "jobInstanceId": "\<uniqueJobInstanceId>",
    "rootActivityId": "\<rootActivityId>",
    "startTimeUtc": "2025-01-30T11:10:50Z",
    "endTimeUtc": null,
    "failureReason": null
  }
]

เรียกใช้งานเผยแพร่กระแสข้อมูลตามความต้องการ

ทริกเกอร์การเผยแพร่ตามความต้องการสําหรับกระแสข้อมูลที่ระบุ ส่งคําขอ POST ด้วย jobType=Publish พารามิเตอร์คิวรี ส่งคืนด้วย 202 Accepted a jobInstanceId สําหรับการติดตาม

คําขอตัวอย่าง

URI: POST [https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}/jobs/instances?jobType=Publish](https://api.fabric.microsoft.com/v1/workspaces/%7bworkspaceId%7d/items/%7bitemId%7d/jobs/instances?jobType=Publish)

Headers:

{
  "Authorization": "\<bearer-token>"
}

Payload:

{
    "executionData": {
        "DataflowName": "Dataflow",
        "OwnerUserPrincipalName": "\<name@email.com>",
        "OwnerUserObjectId": "\<ObjectId>"
    }
}

ตอบกลับตัวอย่างของ

202 Accepted

[
  {
    "id": "\<jobId>",
    "itemId": "\<dataflowItemId>",
    "jobType": "Publish",
    "invokeType": "OnDemand",
    "status": "Accepted",
    "jobInstanceId": "\<uniqueJobInstanceId>",
    "rootActivityId": "\<rootActivityId>",
    "startTimeUtc": "2025-01-30T11:10:50Z",
    "endTimeUtc": null,
    "failureReason": null
  }
]

รับอินสแตนซ์งานกระแสข้อมูล

ดึงสถานะของอินสแตนซ์งานเฉพาะ ส่งคําขอ GET ด้วย workspaceIdพารามิเตอร์ , itemIdและ jobInstanceId พาธ ส่งกลับสถานะงาน เวลาเริ่มต้น และเหตุผลความล้มเหลว (ถ้ามี)

คําขอตัวอย่าง

URI: GET [https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}/jobs/instances/{jobInstanceId}](https://api.fabric.microsoft.com/v1/workspaces/%7bworkspaceId%7d/items/%7bitemId%7d/jobs/instances/%7bjobInstanceId%7d)

Headers:

{
  "Authorization": "\<bearer-token>"
}

ตอบกลับตัวอย่างของ

{
  "id": "\<id>",
  "itemId": "<itemId?",
  "jobType": "Refresh",
  "invokeType": "Manual",
  "status": "Completed",
  "rootActivityId": "\<rootActivityId>",
  "startTimeUtc": "2023-08-22T06:35:00.7812154",
  "endTimeUtc": "2023-08-22T06:35:00.8033333",
  "failureReason": null
}

ยกเลิกอินสแตนซ์งานกระแสข้อมูล

ยกเลิกอินสแตนซ์งานที่กําลังทํางานอยู่ ส่งคําขอ POST ไปยัง cancel ปลายทางด้วย workspaceIdพารามิเตอร์ , itemIdและ jobInstanceId path คืนสินค้า 202 Accepted เมื่อเริ่มการยกเลิก

คําขอตัวอย่าง

URI: POST [https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}/jobs/instances/{jobInstanceId}/cancel](https://api.fabric.microsoft.com/v1/workspaces/%7bworkspaceId%7d/items/%7bitemId%7d/jobs/instances/%7bjobInstanceId%7d/cancel)

Headers:

{
  "Authorization": "\<bearer-token>"
}

ตอบกลับตัวอย่างของ

Location: https://api.fabric.microsoft.com/v1/workspaces/\<worksapceId>/items/\<itemId>/jobs/instances/\<jobInstanceId>

Retry-After: 60

ข้อจํากัดปัจจุบัน

  • ไม่รองรับการรับรองความถูกต้องของบริการหลัก
  • "รับรายการ" และ "รายละเอียดการเข้าถึงข้อมูลในรายการ" จะไม่ส่งกลับข้อมูลที่ถูกต้องหากคุณกรองตามชนิดรายการกระแสข้อมูล
  • เมื่อคุณไม่ได้ระบุชนิด API จะส่งคืน กระแสข้อมูล Gen2 (CI/CD, ตัวอย่าง) ซึ่งเป็นกระแสข้อมูล Gen2 ใหม่ที่รองรับ CI/CD และ Git
  • คุณสามารถเรียกใช้ API การเรียกใช้ได้ แต่การเรียกใช้จริงจะไม่สําเร็จ