หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
Note
งาน Apache Airflow ขับเคลื่อนโดย Apache Airflow
Fabric Data Factory นําเสนอชุด API อันทรงพลังที่ทําให้ง่ายต่อการทําให้เป็นอัตโนมัติและจัดการงาน Apache Airflow ของคุณ คุณสามารถเชื่อมต่อกับแหล่งข้อมูลและบริการอื่น และสร้าง อัปเดต หรือตรวจสอบเวิร์กโฟลว์ของคุณด้วยโค้ดเพียงไม่กี่บรรทัด API ครอบคลุมทุกอย่างตั้งแต่การสร้างและแก้ไขงาน Apache Airflow ไปจนถึงการติดตาม ดังนั้นคุณจึงสามารถทําให้ข้อมูลของคุณไหลลื่นได้อย่างราบรื่นโดยไม่ต้องยุ่งยาก
กรณีการใช้งาน API สําหรับงาน Apache Airflow
API สําหรับงาน Apache Airflow ใน Fabric Data Factory สามารถใช้ได้ในสถานการณ์ต่างๆ:
- การปรับใช้อัตโนมัติ: ปรับใช้ Apache Airflow Jobs โดยอัตโนมัติในสภาพแวดล้อมต่างๆ (การพัฒนา การทดสอบ การผลิต) โดยใช้แนวทางปฏิบัติ CI/CD
- การตรวจสอบและการแจ้งเตือน: ตั้งค่าระบบตรวจสอบและแจ้งเตือนอัตโนมัติเพื่อติดตามสถานะของงาน Apache Airflow และรับการแจ้งเตือนหากเกิดความล้มเหลวหรือปัญหาด้านประสิทธิภาพ
- การจัดการข้อผิดพลาด: ใช้การจัดการข้อผิดพลาดแบบกําหนดเองและกลไกการลองใหม่เพื่อให้แน่ใจว่างาน Apache Airflow ทํางานได้อย่างราบรื่นและกู้คืนจากความล้มเหลว
ทําความเข้าใจ API
ในการใช้ API สําหรับงาน Apache Airflow ใน Fabric Data Factory อย่างมีประสิทธิภาพ
- ปลายทาง: ตําแหน่งข้อมูล API ให้การเข้าถึงการดําเนินการต่างๆ ของ Apache Airflow Job เช่น การสร้าง อัปเดต และการลบ Apache Airflow Jobs
- การตรวจสอบสิทธิ์: การเข้าถึง API อย่างปลอดภัยโดยใช้กลไกการตรวจสอบสิทธิ์ เช่น OAuth หรือคีย์ API
- คําขอและการตอบสนอง: ทําความเข้าใจโครงสร้างของคําขอ API และการตอบสนอง รวมถึงพารามิเตอร์ที่จําเป็นและผลลัพธ์ที่คาดหวัง
- ขีดจํากัดอัตรา: ระวังขีดจํากัดอัตราที่กําหนดไว้กับการใช้งาน API เพื่อหลีกเลี่ยงไม่ให้เกินจํานวนคําขอที่อนุญาต
รองรับ CRUD
CRUD ย่อมาจาก Create, Read, Update และ Delete ซึ่งเป็นการดําเนินการพื้นฐานสี่แบบที่สามารถทําได้บนข้อมูล ใน Fabric Data Factory การดําเนินการ CRUD ได้รับการสนับสนุนผ่าน Fabric API สําหรับ Data Factory API เหล่านี้ช่วยให้ผู้ใช้สามารถจัดการงาน Apache Airflow ของตนโดยทางโปรแกรม นี่คือประเด็นสําคัญบางอย่างเกี่ยวกับการสนับสนุน CRUD:
- สร้าง: สร้างงาน Apache Airflow ใหม่โดยใช้ API
- อ่าน: ดึงข้อมูลเกี่ยวกับงาน Apache Airflow ที่มีอยู่
- อัปเดต: อัปเดตงาน Apache Airflow ที่มีอยู่
- ลบ: ลบงาน Apache Airflow ที่ไม่จําเป็นอีกต่อไป
เอกสารอ้างอิงออนไลน์หลักสําหรับ Microsoft Fabric REST API สามารถพบได้ในเอกสาร Microsoft Fabric REST API
API เพิ่มเติมที่นําเสนอในงาน Apache Airflow
นอกจาก CRUD API แล้ว ยังมีชุด API การดําเนินงานเพิ่มเติมสําหรับงาน Apache Airflow:
- API การจัดการไฟล์
- API การจัดการพูล
- API การตั้งค่าพื้นที่ทํางาน
เริ่มต้นใช้งาน REST API สําหรับงาน Apache Airflow
เอกสารต่อไปนี้สรุปวิธีการสร้าง อัปเดต และจัดการงาน Apache Airflow และกรณีการใช้งานการดําเนินงานโดยใช้ Fabric Data Factory API
รับโทเค็นการรับรองความถูกต้อง
ก่อนที่คุณจะใช้ REST API อื่น คุณจําเป็นต้องมีโทเค็นแบเรอร์
สําคัญ
ในตัวอย่างต่อไปนี้ ตรวจสอบให้แน่ใจว่าคําว่า '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
คัดลอกโทเค็นและแทนที่ตัวแทน<โทเค็น>การเข้าถึงในตัวอย่างต่อไปนี้ด้วยโทเค็น
สร้างงานกระแสอากาศ Apache
สร้างงาน Apache Airflow ในพื้นที่ทํางานที่ระบุ
คําขอตัวอย่าง:
อูรี:POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items
Headers:
{
"Authorization": "Bearer <access-token>",
"Content-Type": "application/json"
}
Payload:
{
"displayName": "My Apache Airflow Job",
"description": "My Apache Airflow Job description",
"type": "ApacheAirflowJob"
}
ตัวอย่างการตอบสนอง:
{
"id": "<artifactId>",
"type": "ApacheAirflowJob",
"displayName": "My Apache Airflow Job",
"description": "My Apache Airflow Job description",
"workspaceId": "<workspaceId>"
}
สร้างงาน Apache Airflow พร้อมคําจํากัดความ
สร้างงาน Apache Airflow ด้วยคําจํากัดความสาธารณะในพื้นที่ทํางานที่ระบุ สําหรับรายละเอียดเพิ่มเติมเกี่ยวกับการสร้าง Apache Airflow Job พร้อมคําจํากัดความ โปรดตรวจสอบ - Microsoft Fabric REST API
คําขอตัวอย่าง:
อูรี:POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items
Headers:
{
"Authorization": "Bearer <access-token>",
"Content-Type": "application/json"
}
Payload:
{
"displayName": " My Apache Airflow Job",
"description": "My Apache Airflow Job description",
"type": "ApacheAirflowJob",
"definition": {
"parts": [
{
"path": "ApacheAirflowJob.json",
"payload": "{apacheAirflowJobPayload}",
"payloadType": "InlineBase64"
},
{
"path": ".platform",
"payload": "{apacheAirflowJobPayload}",
"payloadType": "InlineBase64"
}
]
}
}
ตัวอย่างการตอบสนอง:
{
"id": "<Your artifactId>",
"type": "ApacheAirflowJob",
"displayName": "My Apache Airflow Job",
"description": "My Apache Airflow Job description",
"workspaceId": "<Your workspaceId>"
}
รับงานกระแสอากาศ Apache
ส่งคืนคุณสมบัติของงาน Apache Airflow ที่ระบุ
คําขอตัวอย่าง:
อูรี:GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}
Headers:
{
"Authorization": "Bearer <access-token>"
}
ตัวอย่างการตอบสนอง:
{
"id": "<Your artifactId>",
"type": "ApacheAirflowJob",
"displayName": "My Apache Airflow Job",
"description": "My Apache Airflow Job description",
"workspaceId": "<Your workspaceId>"
}
รับงาน Apache Airflow พร้อมคําจํากัดความ
ส่งคืนข้อกําหนดรายการงาน Apache Airflow สําหรับรายละเอียดเพิ่มเติมเกี่ยวกับการรับงาน Apache Airflow พร้อมคําจํากัดความ โปรดตรวจสอบ - Microsoft Fabric REST API
คําขอตัวอย่าง:
อูรี:POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}/getDefinition
Headers:
{
"Authorization": "Bearer <access-token>"
}
ตัวอย่างการตอบสนอง:
{
"definition": {
"parts": [
{
"path": "ApacheAirflowJob.json",
"payload": "{apacheAirflowJobPayload}",
"payloadType": "InlineBase64"
},
{
"path": ".platform",
"payload": "{apacheAirflowJobPayload}",
"payloadType": "InlineBase64"
}
]
}
}
อัปเดตงานกระแสอากาศ Apache
อัปเดตคุณสมบัติของงาน Apache Airflow
คําขอตัวอย่าง:
อูรี:PATCH https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}
Headers:
{
"Authorization": "Bearer <access-token>",
"Content-Type": "application/json"
}
Payload:
{
"displayName": "My Apache Airflow Job updated",
"description": "My Apache Airflow Job description updated",
"type": "ApacheAirflowJob"
}
ตัวอย่างการตอบสนอง:
{
"id": "<Your artifactId>",
"type": "ApacheAirflowJob",
"displayName": "My Apache Airflow Job updated",
"description": "My Apache Airflow Job description updated",
"workspaceId": "<Your workspaceId>"
}
อัปเดต Apache Airflow Job ด้วยคําจํากัดความ
อัปเดตข้อกําหนดรายการงาน Apache Airflow สําหรับรายละเอียดเพิ่มเติมเกี่ยวกับการอัปเดต Apache Airflow Job พร้อมคําจํากัดความ โปรดตรวจสอบ - Microsoft Fabric REST API
คําขอตัวอย่าง:
อูรี:POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}/updateDefinition
Headers:
{
"Authorization": "Bearer <access-token>",
"Content-Type": "application/json"
}
Payload:
{
"displayName": "My Apache Airflow Job",
"type": "ApacheAirflowJob",
"definition": {
"parts": [
{
"path": "ApacheAirflowJob.json",
"payload": "{apacheAirflowJobPayload}",
"payloadType": "InlineBase64"
},
{
"path": ".platform",
"payload": "{apacheAirflowJobPayload}",
"payloadType": "InlineBase64"
}
]
}
}
ตัวอย่างการตอบสนอง:
200 OK
ลบงานกระแสอากาศ Apache
ลบงาน Apache Airflow ที่ระบุ
คําขอตัวอย่าง:
อูรี:DELETE https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}
Headers:
{
"Authorization": "Bearer <access-token>"
}
ตัวอย่างการตอบสนอง:
200 OK
API การจัดการไฟล์
รับไฟล์งาน Apache Airflow
ส่งคืนไฟล์งานจาก Apache Airflow ตามเส้นทาง
ขอ URI:GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/apacheairflowjobs/{apacheAirflowJobId}/files/{filePath}?preview=true
ตัวอย่างผลลัพธ์:
200 OK
สร้าง/อัปเดตไฟล์งาน Apache Airflow
สร้างหรืออัปเดตไฟล์ Apache Airflow Job
ขอ URI:PUT https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/apacheairflowjobs/{apacheAirflowJobId}/files/{filePath}?preview=true
ขอเพย์โหลด:
PYTHON files (DAGs), should be UTF-8 encoded
ตัวอย่างผลลัพธ์:
200 OK
ลบไฟล์งาน Apache Airflow
ลบไฟล์ Apache Airflow Job ที่ระบุ
ขอ URI:DELETE https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/apacheairflowjobs/{apacheAirflowJobId}/files/{filePath}?preview=true
ตัวอย่างผลลัพธ์:
200 OK
แสดงรายการไฟล์งาน Apache Airflow
แสดงรายการไฟล์ไฟล์ Apache Airflow Job ที่ระบุ
ขอ URI:GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/apacheairflowjobs/{apacheAirflowJobId}/files?rootPath=”my_folder”&continuationToken={token}?preview=true
โปรดทราบว่า rootPath และ continutationToken เป็นตัวเลือก
ตัวอย่างผลลัพธ์:
{
"files": [
{ filePath:string, sizeInBytes: int },
],
"continuationToken": "LDEsMTAwMDAwLDA%3D "
"continuationUri": "https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/apacheairflowjobs/{apacheAirflowJobId}/files?continuationToken='LDEsMTAwMDAwLDA%3D'"
}
การสนับสนุนชื่อบริการหลัก (SPN)
ชื่อบริการหลัก (SPN) ได้รับการสนับสนุนสําหรับงาน Apache Airflow ใน Fabric Data Factory
- การรับรองความถูกต้อง: Airflow ใช้บริการหลักเพื่อรับรองความถูกต้องของการเรียก API ขาออก (ตัวอย่างเช่น ไปยังบริการ Azure หรือปลายทางที่ปลอดภัยอื่นๆ) สิ่งนี้ทําให้ DAG สามารถทํางานได้โดยไม่ต้องใส่ข้อมูลในขณะที่มั่นใจได้ว่าเฉพาะข้อมูลประจําตัวที่ได้รับอนุมัติเท่านั้นที่สามารถเข้าถึงทรัพยากรดาวน์สตรีมได้
- การกําหนดค่า: หากต้องการใช้ SPN กับ Airflow ให้สร้างบริการหลักใน Azure Active Directory และให้สิทธิ์ที่จําเป็นสําหรับบริการเป้าหมาย ตัวอย่างเช่น ถ้า Airflow DAG ของคุณอ่านหรือเขียนไปยัง Azure Data Lake Storage บริการหลักจะต้องได้รับมอบหมายบทบาทที่เก็บข้อมูลที่เหมาะสม (เช่น Storage Blob Data Reader หรือ Contributor)
- การเชื่อมต่อ: เมื่อกําหนดค่าการเชื่อมต่อ Airflow ใน Fabric Data Factory คุณสามารถอ้างอิงบริการหลักได้โดยระบุ ID ผู้เช่า ID ไคลเอ็นต์ และข้อมูลลับของไคลเอ็นต์ ข้อมูลประจําตัวเหล่านี้จะถูกใช้โดยโอเปอเรเตอร์ Airflow และ hooks เมื่อทําการเรียก API ที่ตรวจสอบสิทธิ์แล้ว
- ความปลอดภัย: การใช้ SPN จะหลีกเลี่ยงการฝังข้อมูลประจําตัวของผู้ใช้โดยตรงในโค้ด DAG หรือไฟล์การกําหนดค่า นอกจากนี้ยังช่วยลดความยุ่งยากในการหมุนเวียนข้อมูลประจําตัว การตรวจสอบการเข้าถึง และการเพิกถอนการเข้าถึงโดยไม่ต้องเปลี่ยนแปลงตรรกะ Airflow DAG
สําหรับข้อมูลรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการตั้งค่าและใช้ SPN ใน Fabric Data Factory โปรดดูที่ การสนับสนุน SPN ใน Data Factory
เนื้อหาที่เกี่ยวข้อง
โปรดดูเนื้อหาต่อไปนี้สําหรับข้อมูลเพิ่มเติมเกี่ยวกับ API ในงาน Apache Airflow ใน Fabric Data Factory: