使用python从Azure函数触发Azure Devops管道

2024-09-29 22:01:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个现有的Devops管道来训练ML模型。为了保证模型的鲁棒性,有必要定期对其进行再训练。为此,我决定创建一个每月执行的Azure函数。它将收集新数据,应用数据预处理,并最终触发Azure Devops培训管道。所有这些都必须用python来完成。 通过研究,我了解到这可以通过RESTAzure Devops API请求来实现。 我创建了这个python git repohttps://github.com/microsoft/azure-devops-python-api,它提供了一个与Azure DevOps通信的API。我执行了这个包提供的代码,它显示了我的devops项目列表。但我找不到如何触发管道。 假设我的组织名为ORGA1,项目名为PROJ1,我希望执行的管道名为PIPELINE1,我如何使用Azure函数甚至简单的python脚本启动它? PS:我正在使用Python3.9定时器触发Azure函数。 提前感谢您的帮助

编辑

我厌倦了使用LOGIC APP来完成评论中描述的@mohammed,我认为这是一个很好的解决方案。在我创建的工作流上方: enter image description here

因此,我每X小时启动一次logic应用程序,这将触发azure Devops,当it成功结束培训时,它将向我发送一封电子邮件。 我这里有一个错误,就是我创建了一个新版本,而不是每次都触发一个特定的管道。但是在devops服务下的不同操作中,我找不到任何与启动devops管道相关的内容。有人知道怎么做吗


Tags: 数据项目函数模型gitgithubapi管道
3条回答

您可以尝试使用Azure持久功能,您可以在某种程度上复制逻辑应用程序的功能,同时仍然使用Azure功能。请参阅此处的文档1

您可以使用带有计时器的逻辑应用程序来触发DevOps管道,而不是Azure函数,因为它具有与DevOps接口所需的所有内置连接器。见:https://www.serverlessnotes.com/docs/keep-your-team-connected-using-azure-devops-and-azure-logic-apps

感谢@Mohammed提供的提示,我找到了一个解决方案逻辑应用程序提供了我正在寻找的内容。在Logic应用程序提供的Devops连接器列表下,有一个名为的连接器,将一个新版本排队,这正是我要寻找的。这是我的第一个实验架构,我将在调用Devops管道之前通过添加Azure函数服务来更新它。 enter image description here

相关问题 更多 >

    热门问题