ลบไปป์ไลน์ Azure Data Factory หลังจากการรันสำเร็จ

ตอนนี้ฉันมีแอปพลิเคชัน WebAPI ซึ่งหลังจากได้รับคำขอแล้ว จะสร้างไปป์ไลน์เฉพาะใน C# แบบไดนามิกเพื่อทำงานเฉพาะอย่าง

อย่างไรก็ตาม เนื่องจาก จำนวนไปป์ไลน์และ ชุดข้อมูลถูกจำกัดไว้ที่ 5,000 คำขอแอปพลิเคชันจะทำให้ถึงขีดจำกัดนี้ในที่สุด ฉันกำลังคิดถึงวิธีลบไปป์ไลน์และชุดข้อมูลโดยอัตโนมัติ แต่ฉันไม่แน่ใจว่าต้องทำอย่างไร การลบด้วยตนเองนั้นไม่เป็นปัญหา

อาจมีวิธีดำเนินการ "ทำลายตัวเอง" ของไปป์ไลน์หลังจากเสร็จสิ้นหรือไม่? หรืออาจเป็นเหตุให้ต้องรื้อท่อเก่าออกเป็นระยะๆ?


person Mariusz Ignatowicz    schedule 30.10.2019    source แหล่งที่มา
comment
ฉันไม่คิดว่าจะมีวิธีทำลายตัวเอง แต่คุณสามารถเขียนฟังก์ชัน Azure ที่กระตุ้นตามเวลาง่ายๆ ให้ทำงานวันละครั้งและลบไปป์ไลน์เก่าโดยใช้ SDK ได้ใช่ไหม   -  person silent    schedule 30.10.2019


คำตอบ (1)


ไม่มีกลไกดังกล่าวในการทำความสะอาดทรัพยากรทั้งหมดโดยตรงใน ADF อย่างไรก็ตามคุณสามารถใช้ Azure Function Time Trigger เพื่อนำไปใช้ตามกำหนดเวลา โปรดดูความคิดของฉัน:

1. สร้างฟังก์ชัน Azure ของทริกเกอร์เวลา (เช่น ทริกเกอร์ทุกวัน) เพื่อสอบถามไปป์ไลน์ที่ทำงานด้วย REST API หรือ SDK

2.วนผลลัพธ์และกรอง Status==Succeeded และ runEnd< today เพื่อรับรายการชื่อไปป์ไลน์

ป้อนคำอธิบายรูปภาพที่นี่

3.ลบทีละรายการโดยใช้ Delete API (REST API:https://docs.microsoft.com/en-us/rest/api/datafactory/pipelines/delete)

4.การลบชุดข้อมูลเป็นปัญหาเล็กน้อย แม้ว่าคุณจะได้รับชื่อไปป์ไลน์ แต่กิจกรรมในไปป์ไลน์ไม่จำเป็นต้องเหมือนกัน ส่งผลให้ชุดข้อมูลต่างกัน ตัวอย่างเช่น หากเป็นกิจกรรมการคัดลอก คุณจะได้รับ referenceName ในอาร์เรย์ inputs และ outputs หากเป็นไปได้ที่จะล้างข้อมูลทั้งหมด ชุดข้อมูลและจะถูกสร้างขึ้นใหม่ คุณสามารถใช้ แสดงรายการ DATASETS API และปิดการทำงานทั้งหมด

ป้อนคำอธิบายรูปภาพที่นี่

person Joey Cai    schedule 31.10.2019