现在,我有一个WebAPI应用程序,它在收到请求后,在C#中动态创建特定的管道来执行特定的任务。
但是,由于number of pipelines and datasets is limited to 5000,应用程序的请求最终会导致达到此限制。我正在考虑一种自动删除管道及其数据集的方法,但我不确定如何操作。不幸的是,手动删除是不可能的。
是否有一种方法可以在完成后执行管道的“自毁”?或者是定期移除旧管道的触发器?
发布于 2019-10-31 13:51:40
没有这样的机制来直接清理ADF中的所有资源,但是你可以在schedule.Please中使用Azure Function Time Trigger来实现它,请参考我的想法:
1.创建时间触发azure函数(例如每天触发),使用REST API或SDK查询管道运行情况。
2.循环结果并过滤Status==Succeeded和runEnd< today以获得管道名称列表

3.使用Delete接口按名称列表逐一删除(REST API:https://docs.microsoft.com/en-us/rest/api/datafactory/pipelines/delete)
4.删除数据集有点麻烦。虽然你可以得到管道的名称,但管道中的活动不一定是相同的,导致不同的datasets.For示例,如果它是拷贝活动,你可以得到referenceName in inputs和outputs array.If清除所有数据集是可行的,它们将被重新创建,你可以很容易地使用LIST DATASETS API并杀死它们。

https://stackoverflow.com/questions/58627161
复制相似问题