如何从 Azure DevOps 触发 AzureML 管道?
How to trigger an AzureML Pipeline from Azure DevOps?
如果我们发布了 AzureML Pipeline,我们如何在不使用 Python 脚本步骤或 Azure CLI 步骤 的情况下从 Azure DevOps 触发它?
Azure DevOps 原生支持的 AzureML Steps 包括 Model_Deployment 和 Model_Profiling。
Azure DevOps 中是否有任何步骤可用于直接触发已发布的 Azure 机器学习管道,同时保持使用服务连接和传递环境变量、门控发布(部署)等功能?
编辑:
然后可以将此过程用作 运行 作为无代理作业。
恐怕在 Azure Devops 中没有其他可用的步骤可以直接触发已发布的 azure ml 管道。您必须在 azure devops 管道中使用 Python 脚本步骤或 Azure CLI 步骤来触发 azure ml 管道。
在 azure devops 管道中使用 azure cli 任务触发 azure ml 管道。您可以查看以下步骤。
1, Create an azure pipeline. See example here.
2,为示例创建一个azure Resource Manager service connection to connect your Azure subscription to Azure devops. See
3、添加Az cli task in your yaml pipeline. Run below scripts as inline scripts. See document here获取更多信息。
steps:
- task: AzureCLI@2
displayName: 'Azure CLI '
inputs:
azureSubscription: 'azure Resource Manager service connection'
scriptType: ps
scriptLocation: inlineScript
inlineScript: |
#To install the Machine Learning CLI extension
az extension add -n azure-cli-ml
az ml run submit-pipeline --pipeline-id "{id}"
更新:
如果您想避免使用构建代理。您可以 运行 invoke rest api task in an agentless job。请参阅以下步骤:
1、创建一个Generic service connection in azure devops. See here for creating service connection.
2、在下面添加url作为通用服务连接的ServerURL。有关以下 url.
的更多信息,请参阅 here
3,在您的管道中添加无代理作业(服务器作业)。在此无代理作业中添加 invoke rest api 任务。这样,管道将执行 invoke rest api 任务来触发 azureml 管道,而无需使用构建代理。
您还可以在您的 Azure 订阅中设置 azure logic app。
您可以将逻辑应用触发器设置为 azure devops 事件。或者您可以将 http 请求设置为触发事件(您可以使用调用 rest api 任务或 azure devops web hook 调用此 http 请求来触发此逻辑应用程序)。
然后使用 url 添加 HTTP 操作,如上 url 屏幕截图。请参阅 here 了解更多信息。
假设:
- AzureML Pipeline 已发布且 REST 端点已准备就绪 - 在此答案中称为
。并且已发布的管道 ID 也已准备就绪 - 在此答案中称为
- 您安装了 Azure 机器学习扩展:Azure Machine Learning Extension
要调用 Azure 机器学习管道,我们使用 Azure DevOps 中可用的 Invoke ML Pipeline
步骤。 运行 无代理作业时可用。
触发它的工作流程如下:
- 创建新管道。使用经典编辑器,删除默认的代理作业 1 阶段。
添加无代理作业:
向此无代理作业添加任务:
使用 AzureML 发布的管道任务:
使用映射到 AML 工作区的服务连接。您可以在 official documentation 找到更多相关信息
使用 选择要触发的管道:
给出实验名称和管道参数(如果有):
就是这样,您可以保存并排队:
或者,您可以简单地使用以下作业:
- job: Job_2
displayName: Agentless job
pool: server
steps:
- task: MLPublishedPipelineRestAPITask@0
displayName: Invoke ML pipeline
inputs:
connectedServiceName: <REDACTED-AML-WS-Level-Service_Connection-ID>
PipelineId: <AML_PIPELINE_ID>
ExperimentName: experimentname
PipelineParameters: ''
如果我们发布了 AzureML Pipeline,我们如何在不使用 Python 脚本步骤或 Azure CLI 步骤 的情况下从 Azure DevOps 触发它?
Azure DevOps 原生支持的 AzureML Steps 包括 Model_Deployment 和 Model_Profiling。
Azure DevOps 中是否有任何步骤可用于直接触发已发布的 Azure 机器学习管道,同时保持使用服务连接和传递环境变量、门控发布(部署)等功能?
编辑: 然后可以将此过程用作 运行 作为无代理作业。
恐怕在 Azure Devops 中没有其他可用的步骤可以直接触发已发布的 azure ml 管道。您必须在 azure devops 管道中使用 Python 脚本步骤或 Azure CLI 步骤来触发 azure ml 管道。
在 azure devops 管道中使用 azure cli 任务触发 azure ml 管道。您可以查看以下步骤。
1, Create an azure pipeline. See example here.
2,为示例创建一个azure Resource Manager service connection to connect your Azure subscription to Azure devops. See
3、添加Az cli task in your yaml pipeline. Run below scripts as inline scripts. See document here获取更多信息。
steps:
- task: AzureCLI@2
displayName: 'Azure CLI '
inputs:
azureSubscription: 'azure Resource Manager service connection'
scriptType: ps
scriptLocation: inlineScript
inlineScript: |
#To install the Machine Learning CLI extension
az extension add -n azure-cli-ml
az ml run submit-pipeline --pipeline-id "{id}"
更新:
如果您想避免使用构建代理。您可以 运行 invoke rest api task in an agentless job。请参阅以下步骤:
1、创建一个Generic service connection in azure devops. See here for creating service connection.
2、在下面添加url作为通用服务连接的ServerURL。有关以下 url.
的更多信息,请参阅 here3,在您的管道中添加无代理作业(服务器作业)。在此无代理作业中添加 invoke rest api 任务。这样,管道将执行 invoke rest api 任务来触发 azureml 管道,而无需使用构建代理。
您还可以在您的 Azure 订阅中设置 azure logic app。
您可以将逻辑应用触发器设置为 azure devops 事件。或者您可以将 http 请求设置为触发事件(您可以使用调用 rest api 任务或 azure devops web hook 调用此 http 请求来触发此逻辑应用程序)。
然后使用 url 添加 HTTP 操作,如上 url 屏幕截图。请参阅 here 了解更多信息。
假设:
- AzureML Pipeline 已发布且 REST 端点已准备就绪 - 在此答案中称为
。并且已发布的管道 ID 也已准备就绪 - 在此答案中称为 - 您安装了 Azure 机器学习扩展:Azure Machine Learning Extension
要调用 Azure 机器学习管道,我们使用 Azure DevOps 中可用的 Invoke ML Pipeline
步骤。 运行 无代理作业时可用。
触发它的工作流程如下:
- 创建新管道。使用经典编辑器,删除默认的代理作业 1 阶段。
添加无代理作业:
向此无代理作业添加任务:
使用 AzureML 发布的管道任务:
使用映射到 AML 工作区的服务连接。您可以在 official documentation 找到更多相关信息
使用
选择要触发的管道: 给出实验名称和管道参数(如果有):
就是这样,您可以保存并排队:
或者,您可以简单地使用以下作业:
- job: Job_2
displayName: Agentless job
pool: server
steps:
- task: MLPublishedPipelineRestAPITask@0
displayName: Invoke ML pipeline
inputs:
connectedServiceName: <REDACTED-AML-WS-Level-Service_Connection-ID>
PipelineId: <AML_PIPELINE_ID>
ExperimentName: experimentname
PipelineParameters: ''