我提供了一种运行失败管道的简化方式。我决定将 Azure 数据工厂 API 与 Azure Logic 应用程序一起使用来解决这个问题。
我在计划的运行时间运行逻辑应用,然后使用以下 API 命令:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/?api-version=2018-06-01
此 API 查询为我们提供了所有管道运行。如果我们想将其过滤到失败的值,我们可以添加以下主体:
{
"lastUpdatedAfter": "2018-06-16T00:36:44.3345758Z",
"lastUpdatedBefore": "2018-06-16T00:49:48.3686473Z",
"filters": [
{
"operand": "status",
"operator": "Equals",
"values": [
"failed"
]
}
]
}
在获取失败的管道后,我们可以在每个失败的管道上调用以下 API,以重新运行它们:
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}/createRun?api-version=2018-06-01
可以使用脚本语言、powerautomate 工作流或 Azure Logic 应用创建此解决方案。