You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AzureML重新发布ML pipeline时能否保持原有REST endpoint不变

重新发布Azure ML管线并保留原有REST endpoint的实现方法

完全可以在更新管线逻辑、重新发布的同时保持对外的REST endpoint不变,核心是使用Azure ML内置的管线端点管理能力,而非每次发布都生成独立的发布管线对象。

核心实现逻辑

  • 不要直接调用pipeline.publish()生成独立的PublishedPipeline对象(每次调用都会生成新的REST地址),而是创建PipelineEndpoint(v1 SDK)/Pipeline Job Endpoint(v2 SDK),该对象对外暴露的REST地址是永久固定的,内部可以绑定多个版本的管线。
  • 后续管线迭代时,只需要将新版本管线添加到已有端点中、设置为默认版本即可,外部调用方不需要做任何配置改动。

代码示例(v1 SDK)

首次创建固定端点

from azureml.pipeline.core import PipelineEndpoint

# ws为已初始化的工作区对象,pipeline为已构建的管线对象
pipeline_endpoint = PipelineEndpoint.publish(
    workspace=ws,
    name="your_fixed_pipeline_endpoint_name",
    pipeline=pipeline,
    description="对外调用地址固定的管线端点"
)

# 打印获取固定REST端点,后续外部服务统一调用该地址即可
print(pipeline_endpoint.endpoint)

更新管线并保留原有端点

# 获取已创建的端点对象
pipeline_endpoint = PipelineEndpoint.get(workspace=ws, name="your_fixed_pipeline_endpoint_name")

# 添加新版本管线,version参数可自定义版本标识
pipeline_endpoint.add(pipeline=new_version_pipeline, version="2.0")

# 将新版本设置为默认调用版本,后续请求会默认走新版本逻辑
pipeline_endpoint.set_default_version("2.0")

如果你之前已经在使用独立PublishedPipeline的临时地址,只需要将外部服务的调用地址替换一次当前PipelineEndpoint的固定地址即可,后续所有管线迭代都不需要再修改调用配置。

内容的提问来源于stack exchange,提问作者colab123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 20:24:04