更新时间:2026-10-22 GMT+08:00
分享

停止在线服务部署 - StopInferDeployment

功能介绍

停止在线部署功能允许用户在特定状态下主动终止正在运行或处于其他可操作状态的部署实例。该功能适用于需要维护、升级或检测到异常的服务场景,支持在服务处于"运行中"、"部署中"、"失败"或"告警"状态时执行停止操作。使用此功能前,请确保部署实例处于可停止状态,并具备相应的API调用权限。成功执行后,部署将进入停止状态,释放相关资源并停止处理新的请求。若部署不在允许停止的状态、调用权限不足或系统内部出现错误,将返回相应的错误信息。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。

  • 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
  • 如果使用身份策略授权,需具备如下身份策略权限。

    授权项

    访问级别

    资源类型(*为必须)

    条件键

    别名

    依赖的授权项

    modelarts:service:stopDeployment

    Read

    service *

    -

    -

    -

URI

POST /v2/{project_id}/services/{service_id}/deployments/{deployment_id}/stop

表1 路径参数

参数

是否必选

参数类型

描述

project_id

是

String

参数解释:

用户项目ID。获取方法请参见获取项目ID和名称。

约束限制:

不涉及。

取值范围:

账号的项目ID。

默认取值:

不涉及。

service_id

是

String

参数解释:

服务ID,在创建部署时即可在返回体中获取,也可通过查询服务列表获取当前用户拥有的服务,其中service_id字段即为服务ID。

约束限制:

不涉及。

取值范围:

服务ID。

默认取值:

不涉及。

deployment_id

是

String

参数解释:

部署ID,在添加部署时即可在返回体中获取,也可通过查询服务部署列表获取当前用户拥有的部署,其中deployment_id字段即为部署ID。

约束限制:

不涉及。

取值范围:

部署ID。

默认取值:

不涉及。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

是

String

参数解释:

用户Token。通过调用IAM服务获取用户Token接口获取响应消息头中X-Subject-Token的值。获取方法请参见获取IAM用户Token(使用密码)。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

Content-Type

是

String

参数解释:

消息体的类型(格式)。

约束限制:

不涉及。

取值范围:

  • application/json。

  • application/json;charset=utf-8。

默认取值:

不涉及。

响应参数

状态码:200

表3 响应Body参数

参数

参数类型

描述

id

String

参数解释:

部署ID,在添加部署时即可在返回体中获取,也可通过查询服务部署列表获取当前用户拥有的部署,其中deployment_id字段即为部署ID。

约束限制:

不涉及。

取值范围:

部署ID。

默认取值:

不涉及。

name

String

参数解释:

服务部署名字

deployment_name

String

参数解释:

服务部署名字。

infer_name

String

参数解释:

部署id(废弃字段)。

取值范围:

不涉及。

description

String

参数解释:

描述

取值范围:

不涉及。

pool_id

String

参数解释:

专属资源池ID。

取值范围:

不涉及。

framework

String

参数解释:

算法框架。

取值范围:

  • COMMON: 普通在线服务。

version

String

参数解释:

当前部署版本信息。

version_id

String

参数解释:

版本id,可通过查询version列表查询。

取值范围:

不涉及。

version_count

Integer

参数解释:

服务版本数量。

取值范围:

不涉及。

count

Integer

参数解释:

服务部署实例数。

weight

Integer

参数解释:

权重百分比,分配到此模型的流量权重,仅当模型部署为在线服务时需要配置。

取值范围:

[0, 100]。

priority

Integer

参数解释:

服务优先级。

取值范围:

[1, 3]。

secret_type

String

参数解释:

凭证类型相关配置,用户可以在此处选择使用的凭证类型(dew,agency)

取值范围:

  • dew:DEW密钥。

  • agency:临时委托凭证。

secret_name

String

参数解释:

凭证名称,用户使用dew类型凭证时可以在此处选择使用的凭证。

取值范围:

1-64个字符,只能包含字母、数字、连字符和下划线。

status

String

参数解释:

服务部署状态

deploy_type

String

参数解释:

部署类型。

取值范围:

  • SINGLE:单机单卡。

  • MULTI:多机多卡。

workload_type

String

参数解释:

工作负载类型。

取值范围:

  • LWS

  • DEPLOYMENT

high_avail_switch

Boolean

参数解释:

高可用开关,开启后不同实例的pod将尽量均匀分布到不同的节点上。

取值范围:

  • true: 高可用开启。

  • false: 高可用关闭。

system_log_dump_enable

Boolean

参数解释:

系统日志转储开关。

取值范围:

不涉及

schedule_strategy

String

参数解释:

调度策略。

取值范围:

不涉及。

unit_configs

Array of UnitConfig objects

参数解释:

实例单元配置。

model

GroupModel object

参数解释:

模型相关配置,用户可以在此处选择模型及权重文件配合镜像使用。

advanced_config

AdvancedConfig object

参数解释:

高级配置,服务部署时的配置。

mirror_traffic_enable

Boolean

参数解释:

是否开启镜像流量。

取值范围:

不涉及。

mirror_traffic_weight

Integer

参数解释:

镜像流量权重。

取值范围:

不涉及。

user_name

String

参数解释:

用户名。

取值范围:

不涉及。

agency_name

String

参数解释:

委托名称。

取值范围:

不涉及。

last_used_time

String

参数解释:

最后使用时间。

取值范围:

不涉及。

deployment_task_limit

DeploymentTaskLimit object

参数解释:

部署任务限制信息。

frozen_infos

Array of FrozenInfo objects

参数解释:

当服务或者部署被冻结时返回的冻结类型信息。

create_at

String

参数解释:

创建时间,根据创建时的当前时间自动生成。

取值范围:

毫秒级时间戳,13位数字

update_at

String

参数解释:

更新时间,根据更新时的当前时间自动生成。

取值范围:

毫秒级时间戳,13位数字。

表4 UnitConfig

参数

参数类型

描述

id

String

参数解释:

实例单元ID。

取值范围:

不涉及。

name

String

参数解释:

实例单元角色名称。

role

String

参数解释:

实例单元角色。

取值范围:

  • COMMON:表示其他角色。

custom_spec

CustomResourceSpec object

参数解释:

自定义资源规格配置。

参数示例:

"custom_spec": {

"arch": "x86",

"cpu": 0.51,

"memory": 1024.0

},

flavor

String

参数解释:

资源规格,根据所提供版本选择适合业务的规格。当specification为custom为自定义规格。由custom_spec指定部署的规格配置。

取值范围:

不涉及。

flavor_display_name

String

参数解释:

资源规格的显示名称。

取值范围:

不涉及。

image

ImageInfo object

参数解释:

镜像配置信息,包含镜像地址,镜像来源。

models

Array of ModelResource objects

参数解释:

废弃参数,推荐使用files进行模型相关配置。

模型相关配置,用户可以在此处选择模型及权重文件配合镜像使用。

codes

Array of Code objects

参数解释:

废弃参数,推荐使用files进行代码相关配置。

代码相关配置,用户可以在此处选择代码所在的obs路径等。

files

Array of FileInfo objects

参数解释:

模型和代码相关配置,用户可以在此处选择模型及权重文件配合镜像使用以及代码所在的obs路径等。

dumps

Array of Dump objects

参数解释:

用户转储配置,用户可以在此处选择要转储的目的obs。

count

Integer

参数解释:

配置实例个数。

取值范围:

不涉及。

cpu_affinity

Boolean

参数解释:

表示是否启用绑核加速。

取值范围:

  • true:启用绑核加速。

  • false:不启用绑核加速。

cmd

String

参数解释:

启动命令。

取值范围:

不涉及。

termination_grace

TerminationGrace object

参数解释:

优雅终止配置。

envs

Map<String,String>

参数解释:

环境变量。

readiness_health

Health object

参数解释:

就绪健康检查。

startup_health

Health object

参数解释:

启动健康检查。

liveness_health

Health object

参数解释:

存活健康检查。

取值范围:

不涉及。

port

Integer

参数解释:

端口。

取值范围:

[1,65535]。

recovery

String

参数解释:

自动重建策略,开启后,由于部署配置变更或者故障等原因导致Pod重启时,平台将按策略自动执行重建。若不开启,平台将不会主动干预处理。

取值范围:

  • Instance:部署副本重建,故障时重新拉起整个部署。

  • Role:单元重建,当部署单元内的Pod出现故障时,重启该单元内的所有Pod。

  • Pod:Pod重建,故障时重新拉起故障pod。

npu_reset_enable

Boolean

参数解释:

是否开启恢复策略。

取值范围:

  • true:开启恢复策略。

  • false:不开启恢复策略。

group_count

Integer

参数解释:

单元副本数,当部署类型deploy_type为SINGLE或工作负载类型workload_type为DEPLOYMENT时,该参数无效。

取值范围:

[1, 100] 或者为空。

affinity

Affinity object

参数解释:

节点亲和调度设置。

security_config

ServiceSecurityConfig object

参数解释:

容器用户ID/用户组ID配置。

pool_resource_flavor

String

参数解释:

节点池资源规格。

取值范围:

长度不超过128字符。

group_policy

UnitGroupPolicy object

参数解释:

单副本资源实例调度约束配置,仅A5超节点规格生效。

取值范围:

不涉及。

表5 CustomResourceSpec

参数

参数类型

描述

gpu

Float

参数解释:

GPU个数。

取值范围:

支持配置小数,输入值不能小于0(最多支持2位小数,小数点后第3位做四舍五入处理)。

memory

Integer

参数解释:

内存,单位为MB。

取值范围:

仅支持整数。

cpu

Float

参数解释:

CPU核数。

取值范围:

支持配置小数,输入值不能小于0.01(最多支持2位小数,小数点后第3位做四舍五入处理)。

ascend

Integer

参数解释:

Ascend芯片个数。

取值范围:

不涉及。

arch

String

参数解释:

架构类型。

取值范围:

枚举值:x86 | arm64。

表6 ImageInfo

参数

参数类型

描述

id

String

参数解释:

镜像ID。

取值范围:

不涉及。

source

String

参数解释:

镜像类别,标识镜像来源。

取值范围:

  • SWR:软件仓库服务。

  • IMAGE:[通用镜像]。

swr_path

String

参数解释:

镜像地址,source不同取值时,地址为不同值。

取值范围:

不涉及。

category

String

参数解释:

镜像支持的规格。

取值范围:

  • GPU:图形处理器。

  • CPU:中央处理器。

  • ASCEND:昇腾芯片。

表7 ModelResource

参数

参数类型

描述

source

String

参数解释:

代码来源类别。

取值范围:

如下参数不区分大小写

  • OBS:对象存储服务。

  • OBSFS:OBS的文件系统接口。

  • EFS:弹性文件服务。

  • LOCAL:挂载宿主机本地存储目录。

address

String

参数解释:

代码来源地址,格式遵循不同存储系统。

取值范围:

不涉及。

mount_path

String

参数解释:

挂载到容器内的路径,要求以/开头,后面可包含中划线、反斜杠、下划线、点号、字母、数字。

取值范围:

以(/)开头和结尾,可包含字母、数字、中划线、下划线,整个挂载路径长度不能超过255位。

host_cache

Boolean

参数解释:

是否支持模型本地缓存,默认是不支持。

取值范围:

  • true:支持。

  • false:不支持。

efs_sub_path

String

参数解释:

当存储类别为EFS时,支持配置子目录。

取值范围:

不涉及。

read_only

Boolean

参数解释:

挂载权限设置,是否只读。

取值范围:

  • true:只读。

  • false:非只读。

os_warm_up

Boolean

参数解释:

OS预热。

取值范围:

  • true:预热。

  • false:不预热。

source_name

String

参数解释:

预热名称。

取值范围:

支持1-64位字符,可包含字母、中文、数字、中划线、下划线。

asset_id

String

参数解释:

预置资产id。

取值范围:

支持1-64位字符,可包含字母、中文、数字、中划线、下划线。

表8 Code

参数

参数类型

描述

source

String

参数解释:

代码来源类别。

取值范围:

  • OBS:对象存储服务。

  • OBSFS:OBS的文件系统接口。

  • EFS:弹性文件服务。

address

String

参数解释:

代码来源地址,格式遵循不同存储系统。

取值范围:

不涉及。

source_id

String

参数解释:

代码来源ID,与address二选一,当且仅当source为EFS时,可以传入sfs turbo的ID。

取值范围:

不涉及。

mount_path

String

参数解释:

挂载到容器内的路径。

取值范围:

以(/)开头和结尾,可包含字母、数字、中划线、下划线,整个挂载路径长度不能超过255位。

efs_sub_path

String

参数解释:

EFS子路径。

取值范围:

不涉及。

read_only

Boolean

参数解释:

挂载权限设置, 是否只读。

取值范围:

  • true:只读。

  • false:非只读。

表9 FileInfo

参数

参数类型

描述

source

String

参数解释:

代码来源类别。

取值范围:

如下参数不区分大小写

  • OBS:对象存储服务。

  • OBSFS:OBS的文件系统接口。

  • EFS:弹性文件服务。

  • LOCAL:挂载宿主机本地存储目录。

address

String

参数解释:

代码来源地址,格式遵循不同存储系统。

取值范围:

不涉及。

mount_path

String

参数解释:

挂载到容器内的路径。

取值范围:

以(/)开头和结尾,可包含字母、数字、中划线、下划线,整个挂载路径长度不能超过255位。

host_cache

Boolean

参数解释:

是否支持模型本地缓存,默认是不支持。

取值范围:

  • true:支持。

  • false:不支持。

efs_sub_path

String

参数解释:

当存储类别为EFS时,支持配置子目录。

取值范围:

不涉及。

read_only

Boolean

参数解释:

挂载权限设置,是否只读。

取值范围:

  • true:只读。

  • false:非只读。

os_warm_up

Boolean

参数解释:

OS预热。

取值范围:

  • true:预热。

  • false:不预热。

source_name

String

参数解释:

预热名称。

取值范围:

支持1-64位字符,可包含字母、中文、数字、中划线、下划线。

表10 Dump

参数

参数类型

描述

source

String

参数解释:

转储挂载目录来源类别。

取值范围:

  • OBS:对象存储服务。

  • OBSFS:OBS的文件系统接口。

address

String

参数解释:

转储挂载目录来源地址,支持https或obs协议的obs地址。

取值范围:

不涉及。

mount_path

String

参数解释:

挂载到容器内的路径,要求以/开头,后面可包含中划线,反斜杠,下划线,点号,字母,数字。

取值范围:

不涉及。

表11 TerminationGrace

参数

参数类型

描述

pre_stop_cmd

String

参数解释: 停机命令在容器收到停止信号时触发,但必须在停机时间的宽限期内完成,否则容器会被强制停止。您可以通过该命令精细化操作,如关闭数据库连接、释放文件句柄、停止子进程等。

取值范围:

  • 协议范围:http/https。

  • 端口范围:1-65535。

  • 地址范围:仅包含字母、数字、点号(.)、中划线(-)、下划线(_)、斜杠(/)的路径,非斜杠(/)开头。

termination_grace_period_seconds

Integer

参数解释:

该参数表示 Pod 收到停止信号到强制停止的最大时间窗口,用于 Pod 执行清理操作(如关闭连接、释放资源、保存状态等)。

取值范围:

  • 协议范围:http/https。

  • 端口范围:1-65535。

  • 地址范围:仅包含字母、数字、点号(.)、中划线(-)、下划线(_)、斜杠(/)的路径,非斜杠(/)开头。

表12 Health

参数

参数类型

描述

check_method

String

参数解释:

健康检查方式:HTTP 或者 EXEC(命令行)。

取值范围:

  • HTTP:超文本传输协议。

  • EXEC:命令行。

cmd

String

参数解释:

当健康检查方式为EXEC时必填,配置的命令行。

取值范围:

不涉及。

url

String

参数解释:

当健康检查方式为HTTP 时必填,配置的请求地址。

取值范围:

不涉及。

protocol

String

参数解释:

连接协议。默认HTTP。

取值范围:

  • HTTPS:超文本传输协议安全版。

  • HTTP:超文本传输协议。

  • WSS:网络通信协议安全版。

  • WS:网络通信协议。

initial_delay_seconds

Integer

参数解释:

执行首次探测时,应该等待的时间,默认30秒,最小1秒。

取值范围:

不涉及。

timeout_seconds

Integer

参数解释:

执行探测的超时时间,默认30秒,最小1秒。

取值范围:

最小值为1秒。

period_seconds

Integer

参数解释:

执行健康检查的周期时间,执行探测的频率。默认是10秒,最小1秒。

取值范围:

最小值为1秒。

failure_threshold

Integer

参数解释:

探测成功后,至少连续探测失败多少次才被认定为失败。默认是3。最小值是1。

取值范围:

最小值为1。

表13 Affinity

参数

参数类型

描述

affinity_type

String

参数解释:

节点亲和类型。

取值范围:

  • AFFINITY:亲和。

  • ANTI_AFFINITY:反亲和。

required

Boolean

参数解释:

是否设置强亲和。

取值范围:

  • true:设置强亲和。

  • false:不设置强亲和。

selection_mode

String

参数解释:

选择节点方式。

取值范围:

IP

targets

Map<String,String>

参数解释:

通过上述方式选择的列表,长度不能超过20。

表14 ServiceSecurityConfig

参数

参数类型

描述

user_id

Long

参数解释:

启动业务容器时设置的user_id,默认可为空。

取值范围:

[1, 60000]。

group_id

Long

参数解释:

启动业务容器时设置的group_id,默认可为空。

取值范围:

[1, 60000]。

表15 UnitGroupPolicy

参数

参数类型

描述

schedule_scope

String

参数解释:

调度范围,仅A5超节点规格生效。

取值范围:

  • HYPERNODE:超节点调度

  • SLICE:柜级调度

表16 GroupModel

参数

参数类型

描述

source

String

参数解释:

代码来源类别。

取值范围:

如下参数不区分大小写

  • OBS:对象存储服务。

  • OBSFS:OBS的文件系统接口。

  • EFS:弹性文件服务。

  • TRAIN:训练作业。

  • LOCAL:挂载宿主机本地存储目录。

address

String

参数解释:

代码来源地址,格式遵循不同存储系统。

取值范围:

不涉及。

mount_path

String

参数解释:

挂载到容器内的路径,要求以/开头,后面可包含中划线,反斜杠,下划线,点号,字母,数字。

取值范围:

不涉及。

host_cache

Boolean

参数解释:

是否支持模型本地缓存,默认是不支持。

取值范围:

  • true:支持。

  • false:不支持。

efs_sub_path

String

参数解释:

当存储类别为EFS时,支持配置子目录。

取值范围:

不涉及。

read_only

Boolean

参数解释:

挂载权限设置,是否只读。

取值范围:

  • true:只读。

  • false:非只读。

os_warm_up

Boolean

参数解释:

os预热。

取值范围:

  • true:预热。

  • false:不预热。

source_name

String

参数解释:

预热名称。

取值范围:

支持1-64位字符,可包含字母、中文、数字、中划线、下划线。

asset_id

String

参数解释:

预置资产id。

取值范围:

支持1-64位字符,可包含字母、中文、数字、中划线、下划线。

表17 AdvancedConfig

参数

参数类型

描述

deploy_timeout_minutes

Integer

参数解释:

部署超时时间。

upgrade_config

UpgradeConfig object

参数解释:

滚动升级配置。

service_secret

ServiceSecret object

参数解释:

服务密钥。

dynamic_routing_enable

Boolean

参数解释:

智能路由开关。

strategy

String

参数解释:

智能路由策略。

ems_enable

Boolean

参数解释:

EMS加速开关。

metric_api_scheme

String

参数解释:

智能路由指标采集scheme。

metric_api_port

String

参数解释:

智能路由指标采集端口。

metric_api_path

String

参数解释:

智能路由指标采集地址。

custom_metrics_path

String

参数解释:

自定义监控采集指标地址。

mooncake_enable

Boolean

参数解释:

Mooncake缓存开关。

取值范围:

  • true:开启Mooncake缓存开关。

  • false:关闭Mooncake缓存开关。

port

Integer

参数解释:

容器端口

protocol

String

参数解释:

容器请求协议。当选择WSS与WS时,服务接口会升级为WebSocket。开启WebSocket时,不支持同时设置“服务流量限制”。

取值范围:

  • HTTP:HTTP协议。

  • HTTPS:HTTPS协议。

  • WSS:WebSocket Secure协议。

  • WS:WebSocket协议。

  • TCP:传输控制协议。

  • NA:不使用任何协议。

表18 UpgradeConfig

参数

参数类型

描述

type

String

参数解释:

升级类型。

取值范围:

  • ROLLING:滚动升级,默认值。

rolling_update

RollingUpdate object

参数解释:

滚动更新配置。

表19 RollingUpdate

参数

参数类型

描述

max_surge

String

参数解释:

滚动更新时最多可以启动多少个Pod。

取值范围:

1%-100%。

max_unavailable

String

参数解释:

滚动更新时最多可以删除多少个Pod。

取值范围:

1%-100%。

表20 ServiceSecret

参数

参数类型

描述

secret_enable

Boolean

参数解释:

是否启用密钥。

取值范围:

  • true:启用密钥。

  • false:不启用密钥。

secret_type

String

参数解释:

密钥类型。

取值范围:

  • custom:自定义密钥。

  • dew:DEW密钥。

secret_volumes

Array of SecretVolume objects

参数解释:

密钥挂载。

group_enable

Boolean

参数解释:

是否启用镜像的用户组。

取值范围:

  • true:启用镜像的用户组。

  • false:不启用镜像的用户组。

group_id

Long

参数解释:

镜像的用户组ID。

取值范围:

1000~4294967294。

表21 SecretVolume

参数

参数类型

描述

secret_name

String

参数解释:

密钥名称。

取值范围:

不涉及。

secret_key

String

参数解释:

密钥key。

取值范围:

不涉及。

secret_value

String

参数解释:

密钥值。

取值范围:

不涉及。

mount_path

String

参数解释:

挂载路径。

取值范围:

以(/)开头和结尾,可包含字母、数字、中划线、下划线,整个挂载路径长度不能超过255位。

表22 DeploymentTaskLimit

参数

参数类型

描述

max_concurrent_task

Integer

参数解释:

最大并发任务数

取值范围:

[1, 100]。

表23 FrozenInfo

参数

参数类型

描述

scene

String

冻结场景。可选值如下:

  • ARREAR:欠费冻结

  • POLICE:公安冻结

  • ILLEGAL:违规冻结

effect

Integer

冻结后的影响。可选值如下:

  • 1:冻结后可释放

  • 2:冻结后不可释放

请求示例

停止在线服务部署。

POST https://{endpoint}/v2/{project_id}/services/{service_id}/deployments/{deployment_id}/stop

响应示例

状态码:200

{
  "count" : 1,
  "framework" : "COMMON",
  "id" : "8a927efb-43f6-4a0b-8222-a1b87d2d2fa8",
  "name" : "deployment-example",
  "description" : "infer-description",
  "pool_id" : "pool-xinfer-1216-dev-04f258c84780d5a52f3bc00dc15aa5e7",
  "priority" : 1,
  "unit_configs" : [ {
    "codes" : [ ],
    "count" : 1,
    "cpu_affinity" : false,
    "custom_spec" : {
      "cpu" : 0.1,
      "memory" : 50
    },
    "envs" : {
      "additionalProp1" : "string",
      "additionalProp2" : "string",
      "a" : "1"
    },
    "id" : "8a0e4ab7970bc24d01970bcd7f460003",
    "image" : {
      "category" : "CPU",
      "id" : "bc84b0e49e910cd7918b1dfaeaa478f9c7e5242c6733525ca88304f026fa24e4",
      "source" : "SWR",
      "swr_path" : "swr.cn-north-7.myhuaweicloud.com/example/helloworld-example:0.0.1"
    },
    "npu_reset_enable" : false,
    "port" : 65535,
    "role" : "COMMON"
  } ],
  "weight" : 100,
  "version" : "0.0.0",
  "status" : "DEPLOYING"
}

状态码

状态码

描述

200

停止服务信息。

错误码

请参见错误码。

相关文档