หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
Fabric Data Factory มีชุด API ที่มีประสิทธิภาพซึ่งทําให้ง่ายต่อการทําให้เป็นอัตโนมัติและจัดการไปป์ไลน์ของคุณได้ คุณสามารถเชื่อมต่อกับแหล่งข้อมูลและบริการอื่น และสร้าง อัปเดต หรือตรวจสอบเวิร์กโฟลว์ของคุณด้วยโค้ดเพียงไม่กี่บรรทัด API ครอบคลุมทุกอย่างตั้งแต่การสร้างและแก้ไขไปป์ไลน์ไปจนถึงการจัดกําหนดการและการติดตาม เพื่อให้คุณสามารถทําให้ข้อมูลของคุณไหลได้อย่างราบรื่นโดยไม่ยุ่งยาก
กรณีการใช้ API สําหรับไปป์ไลน์
API สําหรับไปป์ไลน์ใน Fabric Data Factory สามารถใช้ในสถานการณ์ต่าง ๆ ได้:
- การปรับใช้อัตโนมัติ: ปรับใช้ไปป์ไลน์โดยอัตโนมัติในสภาพแวดล้อมต่างๆ (การพัฒนา การทดสอบ การผลิต) โดยใช้แนวทางปฏิบัติ CI/CD
- การตรวจสอบและการแจ้งเตือน: ตั้งค่าระบบตรวจสอบและแจ้งเตือนอัตโนมัติเพื่อติดตามสถานะของไปป์ไลน์และรับการแจ้งเตือนหากเกิดความล้มเหลวหรือปัญหาด้านประสิทธิภาพ
- การรวมข้อมูล: รวมข้อมูลจากหลายแหล่ง เช่น ฐานข้อมูล ที่จัดเก็บข้อมูลดิบ และบริการระบบคลาวด์ ลงในไปป์ไลน์แบบครบวงจรสําหรับการประมวลผลและการวิเคราะห์
- การจัดการข้อผิดพลาด: ใช้การจัดการข้อผิดพลาดแบบกําหนดเองและกลไกการลองใหม่เพื่อให้แน่ใจว่าไปป์ไลน์ทํางานได้อย่างราบรื่นและกู้คืนจากความล้มเหลว
ทําความเข้าใจ API
เพื่อใช้ API สําหรับไปป์ไลน์ใน Fabric Data Factory อย่างมีประสิทธิภาพ จําเป็นต้องทําความเข้าใจแนวคิดและส่วนประกอบที่สําคัญ:
- จุดสิ้นสุด: จุดสิ้นสุด API ให้การเข้าถึงการดําเนินการไปป์ไลน์ต่างๆ เช่น การสร้าง อัปเดต และการลบไปป์ไลน์
- การตรวจสอบสิทธิ์: การเข้าถึง API อย่างปลอดภัยโดยใช้กลไกการตรวจสอบสิทธิ์ เช่น OAuth หรือคีย์ API
- คําขอและการตอบสนอง: ทําความเข้าใจโครงสร้างของคําขอ API และการตอบสนอง รวมถึงพารามิเตอร์ที่จําเป็นและผลลัพธ์ที่คาดหวัง
- ขีดจํากัดอัตรา: ระวังขีดจํากัดอัตราที่กําหนดไว้กับการใช้งาน API เพื่อหลีกเลี่ยงไม่ให้เกินจํานวนคําขอที่อนุญาต
รองรับ CRUD
CRUD ย่อมาจาก Create, Read, Update และ Delete ซึ่งเป็นการดําเนินการพื้นฐานสี่แบบที่สามารถทําได้บนข้อมูล ใน Fabric Data Factory การดําเนินการ CRUD ได้รับการสนับสนุนผ่าน Fabric API สําหรับ Data Factory API เหล่านี้ช่วยให้ผู้ใช้สามารถจัดการไปป์ไลน์ของพวกเขาทางโปรแกรมได้ นี่คือประเด็นสําคัญบางอย่างเกี่ยวกับการสนับสนุน CRUD:
- สร้าง: สร้างไปป์ไลน์ใหม่โดยใช้ API ซึ่งเกี่ยวข้องกับการกําหนดโครงสร้างไปป์ไลน์ การระบุแหล่งข้อมูล การแปลง และปลายทาง
- อ่าน: ดึงข้อมูลเกี่ยวกับไปป์ไลน์ที่มีอยู่ ซึ่งรวมถึงรายละเอียดเกี่ยวกับการกําหนดค่า สถานะ และประวัติการดําเนินการ
- อัปเดต: อัปเดตไปป์ไลน์ที่มีอยู่ ซึ่งอาจเกี่ยวข้องกับการแก้ไขโครงสร้างไปป์ไลน์ การเปลี่ยนแปลงแหล่งข้อมูล หรือการอัปเดตตรรกะการแปลง
- ลบ: ลบไปป์ไลน์ที่ไม่จําเป็นอีกต่อไป ซึ่งช่วยในการจัดการและทําความสะอาดทรัพยากร
เอกสารอ้างอิงออนไลน์หลักสําหรับ Microsoft Fabric REST API สามารถพบได้ในเอกสาร Microsoft Fabric REST API
เริ่มต้นใช้งาน REST API สําหรับไปป์ไลน์
ตัวอย่างต่อไปนี้แสดงวิธีการสร้าง อัปเดต และจัดการไปป์ไลน์โดยใช้ Fabric Data Factory API
รับโทเค็นการรับรองความถูกต้อง
ก่อนที่คุณจะใช้ REST API อื่น คุณจําเป็นต้องมีโทเค็นแบเรอร์
Important
ในตัวอย่างต่อไปนี้ ตรวจสอบให้แน่ใจว่าคําว่า 'Bearer ' (มีช่องว่าง) อยู่ก่อนหน้าโทเค็นการเข้าถึงเอง เมื่อใช้ไคลเอ็นต์ API และเลือก 'โทเค็นแบเรอร์' เป็นชนิดการรับรองความถูกต้อง 'Bearer ' จะถูกแทรกโดยอัตโนมัติสําหรับคุณและจําเป็นต้องมีโทเค็นการเข้าถึงที่จะให้มาโดยอัตโนมัติ
ตัวเลือกที่ 1: การใช้ MSAL.Net
ดู ส่วนรับโทเค็นของการเริ่มต้นใช้งานด่วน Fabric API เป็นตัวอย่างของวิธีการขอรับโทเค็นการอนุญาต MSAL
ใช้ MSAL.Net เพื่อรับโทเค็น Microsoft Entra ID สําหรับบริการ Fabric ที่มีขอบเขตต่อไปนี้: Workspace.ReadWrite.All, Item.ReadWrite.All สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการรับโทเค็นที่มี MSAL.Net ดู Token Acquisition - ไลบรารีการรับรองความถูกต้องของ Microsoft สําหรับ .NET
คัดลอกโทเค็นจากคุณสมบัติ AccessToken และแทนที่ตัวยึด <โทเค็นการเข้าถึง> ในตัวอย่างต่อไปนี้ด้วยโทเค็น
ตัวเลือกที่ 2: การใช้พอร์ทัล Fabric
ลงชื่อเข้าใช้พอร์ทัล Fabric สําหรับผู้เช่าที่คุณต้องการทดสอบ และกด F12 เพื่อเข้าสู่โหมดนักพัฒนาของเบราว์เซอร์ ในคอนโซลให้เรียกใช้:
powerBIAccessToken
คัดลอกโทเค็นและแทนที่ตัวแทน<โทเค็น>การเข้าถึงในตัวอย่างต่อไปนี้ด้วยโทเค็น
สร้างไปป์ไลน์
สร้างไปป์ไลน์ในพื้นที่ทํางานที่ระบุ
คําขอตัวอย่าง:
อูรี:POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items
Headers:
{
"Authorization": "Bearer <access-token>",
"Content-Type": "application/json"
}
Payload:
{
"displayName": "My pipeline",
"description": "My pipeline description",
"type": "DataPipeline"
}
ตัวอย่างการตอบสนอง:
{
"id": "<itemId>",
"type": "pipeline",
"displayName": "My pipeline",
"description": "My pipeline description",
"workspaceId": "<workspaceId>"
}
สร้างไปป์ไลน์ที่มีข้อกําหนด
สร้างไปป์ไลน์ที่มีข้อกําหนด base64 ในพื้นที่ทํางานที่ระบุ
คําขอตัวอย่าง:
อูรี:POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items
Headers:
{
"Authorization": "Bearer <access-token>",
"Content-Type": "application/json"
}
Payload:
{
"displayName": " My pipeline",
"description": "My pipeline description",
"type": "DataPipeline",
"definition": {
"parts": [
{
"path": "pipeline-content.json",
"payload": "<Your Base64 encoded JSON payload>"
"payloadType": "InlineBase64"
}
]
}
}
ตัวอย่างการตอบสนอง:
{
"id": "<Your itemId>",
"type": "pipeline",
"displayName": "My pipeline",
"description": "My pipeline description",
"workspaceId": "<Your workspaceId>"
}
รับไปป์ไลน์
แสดงคุณสมบัติของไปป์ไลน์ที่ระบุ
คําขอตัวอย่าง:
อูรี:GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}
Headers:
{
"Authorization": "Bearer <access-token>"
}
ตัวอย่างการตอบสนอง:
{
"id": "<Your itemId>",
"type": "pipeline",
"displayName": "My pipeline",
"description": "My pipeline description",
"workspaceId": "<Your workspaceId>"
}
รับไปป์ไลน์ที่มีข้อกําหนด
แสดงข้อกําหนดรายการไปป์ไลน์
คําขอตัวอย่าง:
อูรี:POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}/getDefinition
Headers:
{
"Authorization": "Bearer <access-token>"
}
ตัวอย่างการตอบสนอง:
{
"definition": {
"parts": [
{
"path": "pipeline-content.json",
"payload": "<Base64 encoded payload>"
"payloadType": "InlineBase64"
},
{
"path": ".platform",
"payload": "<Base64 encoded payload>",
"payloadType": "InlineBase64"
}
]
}
}
อัปเดตไปป์ไลน์
อัปเดตคุณสมบัติของไปป์ไลน์
คําขอตัวอย่าง:
อูรี:PATCH https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}
Headers:
{
"Authorization": "Bearer <access-token>",
"Content-Type": "application/json"
}
Payload:
{
"displayName": "My pipeline updated",
"description": "My pipeline description updated",
"type": "DataPipeline"
}
ตัวอย่างการตอบสนอง:
{
"id": "<Your itemId>",
"type": "pipeline",
"displayName": "My pipeline updated",
"description": "My pipeline description updated",
"workspaceId": "<Your workspaceId>"
}
อัปเดตไปป์ไลน์ด้วยข้อกําหนด
อัปเดตข้อกําหนดรายการไปป์ไลน์
คําขอตัวอย่าง:
อูรี:POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}/updateDefinition
Headers:
{
"Authorization": "Bearer <access-token>",
"Content-Type": "application/json"
}
Payload:
{
"displayName": " My pipeline ",
"type": "DataPipeline",
"definition": {
"parts": [
{
"path": "pipeline-content.json",
"payload": "<Your Base64 encoded payload>",
"payloadType": "InlineBase64"
}
]
}
}
ตัวอย่างการตอบสนอง:
200 OK
ลบไปป์ไลน์
ลบไปป์ไลน์ที่ระบุ
คําขอตัวอย่าง:
อูรี:DELETE https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}
Headers:
{
"Authorization": "Bearer <access-token>"
}
ตัวอย่างการตอบสนอง:
200 OK
เรียกใช้งานไปป์ไลน์ตามความต้องการ
เรียกใช้อินสแตนซ์งานไปป์ไลน์ตามความต้องการ
คําขอตัวอย่าง:
อูรี:POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}/jobs/instances?jobType=Pipeline
Headers:
{
"Authorization": "Bearer <access-token>"
}
Payload:
{
"executionData": {
"pipelineName": "pipeline",
"OwnerUserPrincipalName": "<user@domain.com>",
"OwnerUserObjectId": "<Your ObjectId>"
}
}
ตัวอย่างการตอบสนอง:
202 Accepted
รับอินสแตนซ์งานไปป์ไลน์
รับอินสแตนซ์งานของไปป์ไลน์เอกพจน์
คําขอตัวอย่าง:
อูรี:GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}/jobs/instances/{jobInstanceId}
Headers:
{
"Authorization": "Bearer <access-token>"
}
ตัวอย่างการตอบสนอง:
{
"id": "<id>",
"itemId": "<itemId>",
"jobType": "Pipeline",
"invokeType": "Manual",
"status": "Completed",
"rootActivityId": "<rootActivityId>",
"startTimeUtc": "YYYY-MM-DDTHH:mm:ss.xxxxxxx",
"endTimeUtc": "YYYY-MM-DDTHH:mm:ss.xxxxxxx",
"failureReason": null
}
จัดกําหนดการไปป์ไลน์
คุณยังสามารถสร้างกําหนดการแบบเป็นโปรแกรมด้วย API Scheduler API รองรับการดําเนินการต่อไปนี้:
- ยกเลิกอินสแตนซ์งานไปป์ไลน์
- สร้างกําหนดการไปป์ไลน์
- ลบกําหนดการไปป์ไลน์
- รับอินสแตนซ์ไปป์ไลน์
- รับกําหนดการไปป์ไลน์
- แสดงรายการอินสแตนซ์งานไปป์ไลน์
- แสดงรายการกําหนดการไปป์ไลน์
- เรียกใช้งานไปป์ไลน์ตามความต้องการ
- อัปเดตกําหนดการไปป์ไลน์
ตัวอย่างเช่น คุณสามารถตั้งค่าไปป์ไลน์ที่ทํางานทุกๆ 10 นาทีระหว่างวันที่ 27 พฤษภาคม ถึง 31 พฤษภาคม 2025 ตามเวลามาตรฐานกลาง และเปิดใช้งานอยู่ในขณะนี้:
POST https://api.fabric.microsoft.com/v1/workspaces/<workspaceId>/items/<pipelineId>/jobs/<jobType>/schedules
{
"enabled": true,
"configuration": {
"startDateTime": "2025-05-27T00:00:00",
"endDateTime": "2025-05-31T23:59:00",
"localTimeZoneId": " Central Standard Time",
"type": "Cron",
"interval": 10
}
}
| ชื่อ | ใน | ต้องมี | ประเภท | คำอธิบาย | ตัวอย่าง |
|---|---|---|---|---|---|
| รหัสไปป์ไลน์ | ทาง | จริง | สตริง (guid) | รหัสไปป์ไลน์ | aaaa0000-bb11-2222-33cc-444444DDDDDD |
| ประเภทงาน | ทาง | จริง | สตริง | ประเภทงาน | ค่าเริ่มต้นงาน |
| workspaceId | ทาง | จริง | สตริง | รหัสพื้นที่ทํางาน | aaaaaaaa-0000-1111-2222-bbbbbb |
การตอบสนอง :
รหัสสถานะ: 201
{
"id": " eeeeeeee-4444-5555-6666-ffffffffffff",
"enabled": true,
"createdDateTime": "2025-05-27T05:35:20.5366667",
"configuration": {
"startDateTime": "2025-05-27T00:00:00",
"endDateTime": "2025-05-31T23:59:00",
"localTimeZoneId": "Central Standard Time",
"type": "Cron",
"interval": 10
},
"owner": {
"id": " aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"type": "User"
}
}
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการดําเนินการที่พร้อมใช้งานและการใช้งาน โปรดดูเอกสารประกอบ API ตัวกําหนดตารางเวลางาน
ยกเลิกอินสแตนซ์งานไปป์ไลน์
ยกเลิกอินสแตนซ์งานของไปป์ไลน์
คําขอตัวอย่าง:
อูรี:POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}/jobs/instances/{jobInstanceId}/cancel
Headers:
{
"Authorization": "Bearer <access-token>"
}
ตัวอย่างการตอบสนอง:
*
สถานที่:https://api.fabric.microsoft.com/v1/workspaces/<worksapceId>/items/<itemId>/jobs/instances/<jobInstanceId>ลองซ้ําหลังจาก:60
การเรียกใช้กิจกรรมคิวรี
Example:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/datapipelines/pipelineruns/<job id>/queryactivityruns
Body:
{
"filters":[],
"orderBy":[{"orderBy":"ActivityRunStart","order":"DESC"}],
"lastUpdatedAfter":"2024-05-22T14:02:04.1423888Z",
"lastUpdatedBefore":"2024-05-24T13:21:27.738Z"
}
Note
"id งาน" เป็น ID เดียวกันที่สร้างขึ้นและใช้ใน API สาธารณะของผู้จัดกําหนดการงาน
คําตอบ 200:
[
{
"pipelineName": "ca91f97e-5bdd-4fe1-b39a-1f134f26a701",
"pipelineRunId": "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
"activityName": "Wait1",
"activityType": "Wait",
"activityRunId": "cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
"linkedServiceName": "",
"status": "Succeeded",
"activityRunStart": "2024-05-23T13:43:03.6397566Z",
"activityRunEnd": "2024-05-23T13:43:31.3906179Z",
"durationInMs": 27750,
"input": {
"waitTimeInSeconds": 27
},
"output": {},
"error": {
"errorCode": "",
"message": "",
"failureType": "",
"target": "Wait1",
"details": ""
},
"retryAttempt": null,
"iterationHash": "",
"userProperties": {},
"recoveryStatus": "None",
"integrationRuntimeNames": null,
"executionDetails": null,
"id": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/PROVIDERS/MICROSOFT.TRIDENT/WORKSPACES/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/pipelineruns/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/activityruns/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a"
}
]
การสนับสนุนชื่อบริการหลัก (SPN)
ชื่อบริการหลัก (SPN) เป็นคุณลักษณะข้อมูลประจําตัวความปลอดภัยที่แอปพลิเคชันหรือบริการใช้เพื่อเข้าถึงทรัพยากรที่เฉพาะเจาะจง ใน Fabric Data Factory การสนับสนุน SPN เป็นสิ่งสําคัญสําหรับการเปิดใช้งานการเข้าถึงแหล่งข้อมูลที่ปลอดภัยและอัตโนมัติ นี่คือประเด็นสําคัญบางอย่างเกี่ยวกับการสนับสนุน SPN:
- การรับรองความถูกต้อง: SPN ใช้เพื่อรับรองความถูกต้องของแอปพลิเคชันหรือบริการเมื่อเข้าถึงแหล่งข้อมูล ซึ่งทําให้แน่ใจว่าเฉพาะเอนทิตีที่ได้รับอนุญาตเท่านั้นที่สามารถเข้าถึงข้อมูลได้
- การกําหนดค่า: เมื่อต้องการใช้ SPN คุณต้องสร้างบริการหลักใน Azure และให้สิทธิ์ที่จําเป็นในการเข้าถึงแหล่งข้อมูล ตัวอย่างเช่น ถ้าคุณกําลังใช้ที่จัดเก็บข้อมูลดิบ บริการหลักจําเป็นต้องมีการเข้าถึงตัวอ่านข้อมูล blob ของที่เก็บข้อมูล
- การเชื่อมต่อ: เมื่อตั้งค่าการเชื่อมต่อข้อมูลใน Fabric Data Factory คุณสามารถเลือกรับรองความถูกต้องโดยใช้บริการหลักได้ ซึ่งเกี่ยวข้องกับการให้ ID ผู้เช่า ID ไคลเอ็นต์ และข้อมูลลับไคลเอ็นต์ของบริการหลัก
- ความปลอดภัย: การใช้ SPN ช่วยเพิ่มความปลอดภัยโดยหลีกเลี่ยงการใช้ข้อมูลประจําตัวแบบฮาร์ดโค้ดในกระแสข้อมูลของคุณ นอกจากนี้ยังช่วยให้สามารถจัดการสิทธิ์การเข้าถึงและการตรวจสอบกิจกรรมการเข้าถึงได้ดียิ่งขึ้น
สําหรับข้อมูลรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการตั้งค่าและใช้ SPN ใน Fabric Data Factory โปรดดูที่ การสนับสนุน SPN ใน Data Factory
ข้อจํากัดในปัจจุบัน
- ข้อจํากัดของงาน: เรียกใช้ API จะเรียกใช้ได้ แต่การเรียกใช้จริงจะไม่สําเร็จ (เหมือนกับเรียกใช้/รีเฟรชจาก UI)
- รายการที่ไม่ใช่ Power BI Fabric: พื้นที่ทํางานต้องอยู่บนความจุ Fabric ที่รองรับ
- การสร้างรายการ: ใช้การสร้างพายุหรือข้อกําหนด แต่อย่าใช้ทั้งสองอย่างในเวลาเดียวกัน
เนื้อหาที่เกี่ยวข้อง
อ้างถึงเนื้อหาต่อไปนี้สําหรับข้อมูลเพิ่มเติมเกี่ยวกับ REST API สําหรับไปป์ไลน์ใน Fabric Data Factory: