我有一个已发布且计划的管道定期运行。有时,管道可能会失败(例如,如果数据存储处于脱机状态以进行维护)。如果管道因任何原因失败,是否有办法指定计划的管道执行特定操作?操作可能是向我发送电子邮件、尝试在几个小时后再次运行或调用 Webhook。现在,我必须定期手动检查生产管道的状态,由于显而易见的原因,这不是最佳的。当然,如果管道中的每个脚本因某种原因失败,我当然可以指示它们执行某些操作,但为管道计划(或管道本身)全局指定它会更干净、更容易。
可能的次优解决方案可能是:
- 设置 Azure 逻辑应用来调用管道
- 设置 cron 作业或 Azure 调度程序
- 按计划设置第二个 Azure 机器学习管道,以触发管道、监视输出并在遇到错误时执行相关操作
上述所有解决方案都非常复杂且不是很干净 - 当然必须存在一个简单、干净的解决方案来解决这个问题?
最佳答案
此解决方案从管道日志中读取,让您在逻辑应用功能内执行某些操作,当计划的管道失败时,我用它向团队发送电子邮件。
步骤:
- 创建事件命名空间和事件中心
- 创建服务总线命名空间和服务总线队列
- 使用 EventHub 作为输入和服务创建流分析作业 总线队列作为输出
- 创建逻辑应用,并触发进入服务的任何事件 然后,在总线队列中添加 Outlook 360 发送电子邮件 (v2) 步骤
- 在 ML 服务内创建一个事件订阅,发送经过过滤的事件 事件发送到事件中心
- 启动流分析作业
创建事件订阅时的两个基本步骤:
关于azure - 针对 Azure 机器学习管道中的错误采取的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65232059/