成功运行后,删除Azure Data Factory管道

时间:2019-10-30 14:05:12

标签: c# azure pipeline azure-data-factory

现在,我有一个WebAPI应用程序,该应用程序在接收到请求后,会在C#中动态创建一个特定的管道来执行特定的任务。

但是,由于number of pipelines and datasets is limited to 5000,应用程序请求最终将导致达到此限制。我正在考虑一种自动删除管道及其数据集的方法,但是我不确定如何删除它。不幸的是,手动删除是不可能的。

也许有一种方法可以在完成后执行管道的“自毁”?还是触发定期删除旧管道的触发器?

1 个答案:

答案 0 :(得分:0)

没有这种机制可以直接在ADF中清除所有资源,但是您可以使用Azure Function Time Trigger在计划中实施它。请参考我的想法:

1。创建时间触发天蓝色函数(例如每天触发)以查询使用REST API或SDK运行的管道。

2。循环搜索结果,并过滤Status==SucceededrunEnd< today以获得管道名称列表

enter image description here

3。使用Delete API按名称列表逐一删除它们。(REST API:https://docs.microsoft.com/en-us/rest/api/datafactory/pipelines/delete

4。删除数据集有点麻烦。尽管可以获得管道名称,但是管道中的活动不一定相同,从而导致数据集不同。例如,如果它是复制活动,则可以在referenceName和{{中获得inputs 1}}数组。如果清除所有数据集并重新创建它们是可行的,则可以轻松地使用LIST DATASETS API并杀死它们。

enter image description here