更新时间:2024-06-20 GMT+08:00
分享

创建应用版本

功能介绍

创建应用版本

调试

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

URI

POST /v2/{project_id}/edge-apps/{edge_app_id}/versions

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。获取方法请参见 获取项目ID

最小长度:1

最大长度:64

edge_app_id

String

应用ID,应用唯一。

最小长度:1

最大长度:32

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证

最小长度:0

最大长度:20000

表3 请求Body参数

参数

是否必选

参数类型

描述

version

String

应用版本

最小长度:1

最大长度:32

description

String

应用描述

最小长度:0

最大长度:255

sdk_version

String

应用集成的边缘SDK版本

最小长度:1

最大长度:32

deploy_type

String

应用部署类型,分为docker容器部署类型和process进程部署类型,兼容之前数据,此字段可以为空,为空情况为docker类型

最小长度:0

最大长度:64

枚举值:

  • docker

  • process

deploy_multi_instance

Boolean

是否允许部署多实例

缺省值:false

container_settings

ContainerSettingsDTO object

容器相关配置

liveness_probe

ProbeDTO object

工作负载存活探针

readiness_probe

ProbeDTO object

工作负载业务探针

arch

Object

架构

command

Object

启动命令

args

Object

启动参数

outputs

Object

应用输出路由端点

inputs

Object

应用输入路由

services

Object

应用实现的服务列表

supplier

String

驱动厂商

最小长度:1

最大长度:128

tpl_id

String

模板id

最小长度:1

最大长度:64

表4 ContainerSettingsDTO

参数

是否必选

参数类型

描述

configs

ContainerConfigsDTO object

容器特殊参数

image_url

String

镜像存储地址

最小长度:1

最大长度:10000

envs

Object

环境变量

volumes

Array of VolumeDTO objects

卷配置

数组长度:0 - 40

npu_type

String

NPU类型

最小长度:0

最大长度:16

枚举值:

  • D310

  • D910

  • D310P

vnpu_template

String

NPU算力切分模板,可在对应芯片的机器上通过npu-smi info -t template-info命令查询其详细信息

最小长度:0

最大长度:32

枚举值:

  • vir01

  • vir02

  • vir04

  • vir08

  • vir02_1c

  • vir04_3c

  • vir04_3c_ndvpp

  • vir04_4c_dvpp

resources

ResourceDTO object

资源配额

ext_devices

Array of ExtDevice objects

外挂设备配置

数组长度:0 - 1000000

表5 ContainerConfigsDTO

参数

是否必选

参数类型

描述

privileged

Boolean

开启容器特权模式

缺省值:false

host_network

Boolean

是否使用主机网络模式

缺省值:true

restart_policy

String

重启策略,容器执行健康检查后失败后的策略

最小长度:1

最大长度:256

container_port_list

Array of ContainerPortDTO objects

容器端口映射值

数组长度:0 - 1000000

表6 ContainerPortDTO

参数

是否必选

参数类型

描述

container_port

Integer

构成一堆映射的容器端口

最小值:1

最大值:65535

host_port

Integer

构成一对映射的物理机对应网卡端口

最小值:1

最大值:65535

host_ip

String

对应网卡地址

最小长度:0

最大长度:64

表7 VolumeDTO

参数

是否必选

参数类型

描述

name

String

卷名称

最小长度:1

最大长度:63

type

String

挂载类型

source

String

源路径

destination

String

卷挂载路径

read_only

Boolean

只读,默认只读

表8 ResourceDTO

参数

是否必选

参数类型

描述

limits

ResourceConfigDTO object

允许容器使用的最大资源

requests

ResourceConfigDTO object

容器需要使用的最小资源

表9 ResourceConfigDTO

参数

是否必选

参数类型

描述

cpu

Float

cpu个数

最小值:0.01

最大值:1000

memory

Float

内存大小

最小值:0.01

最大值:1024000

gpu

Float

gpu内存大小,单位为M

最小值:0.01

最大值:1024000

npu

Float

使用npu加速卡个数

最小值:0.01

最大值:1000

表10 ExtDevice

参数

是否必选

参数类型

描述

source

String

源路径

destination

String

卷挂载路径

cgroup_permissions

String

只读,默认MRW

表11 ProbeDTO

参数

是否必选

参数类型

描述

exec_command

String

执行探测的命令行命令

最小长度:0

最大长度:256

tcp_socket

TcpSocketDTO object

执行tcp探测

http_get

HttpGetDTO object

执行http探测

initial_delay_seconds

Integer

表示从工作负载启动后从多久开始探测

最小值:0

最大值:3600

timeout_seconds

Integer

表示探测超时时间

最小值:1

最大值:3600

period_seconds

Integer

检查周期

最小值:5

最大值:3600

缺省值:30

failure_threshold

Integer

失败多少次算不健康

最小值:1

最大值:3600

缺省值:3

表12 TcpSocketDTO

参数

是否必选

参数类型

描述

port

Integer

端口

最小值:1

最大值:65535

表13 HttpGetDTO

参数

是否必选

参数类型

描述

path

String

请求路径

最小长度:2

最大长度:64

port

Integer

端口

最小值:1

最大值:65535

host

String

主机地址

最小长度:0

最大长度:64

scheme

String

协议类型

最小长度:1

最大长度:64

枚举值:

  • HTTP

  • HTTPS

响应参数

状态码: 201

表14 响应Body参数

参数

参数类型

描述

edge_app_id

String

应用ID

最小长度:0

最大长度:32

name

String

应用名称

最小长度:0

最大长度:64

deploy_type

String

部署类型docker|process

最小长度:0

最大长度:64

deploy_multi_instance

Boolean

是否允许部署多实例

缺省值:false

version

String

应用版本

最小长度:0

最大长度:32

sdk_version

String

应用集成的边缘SDK版本

最小长度:1

最大长度:32

description

String

应用描述

最小长度:0

最大长度:256

create_time

String

创建时间

最小长度:0

最大长度:256

update_time

String

最后一次修改时间

最小长度:0

最大长度:256

state

String

应用版本状态

最小长度:0

最大长度:64

枚举值:

  • DRAFT

  • PUBLISHED

  • OFF_SHELF

liveness_probe

ProbeDTO object

工作负载存活探针

readiness_probe

ProbeDTO object

工作负载业务探针

arch

Array of strings

架构

数组长度:1 - 1000000

command

Array of strings

启动命令

数组长度:1 - 1000000

args

Array of strings

启动参数

数组长度:1 - 1000000

container_settings

ContainerSettingsDTO object

容器相关配置

outputs

Array of strings

应用输出路由端点

数组长度:1 - 1000000

inputs

Array of strings

应用输入路由

数组长度:1 - 1000000

services

Array of strings

应用实现的服务列表

数组长度:1 - 1000

publish_time

String

发布时间

最小长度:0

最大长度:256

off_shelf_time

String

下线时间

最小长度:0

最大长度:256

supplier

String

驱动厂商

最小长度:1

最大长度:128

tpl_id

String

模板id

最小长度:1

最大长度:64

表15 ProbeDTO

参数

参数类型

描述

exec_command

String

执行探测的命令行命令

最小长度:0

最大长度:256

tcp_socket

TcpSocketDTO object

执行tcp探测

http_get

HttpGetDTO object

执行http探测

initial_delay_seconds

Integer

表示从工作负载启动后从多久开始探测

最小值:0

最大值:3600

timeout_seconds

Integer

表示探测超时时间

最小值:1

最大值:3600

period_seconds

Integer

检查周期

最小值:5

最大值:3600

缺省值:30

failure_threshold

Integer

失败多少次算不健康

最小值:1

最大值:3600

缺省值:3

表16 TcpSocketDTO

参数

参数类型

描述

port

Integer

端口

最小值:1

最大值:65535

表17 HttpGetDTO

参数

参数类型

描述

path

String

请求路径

最小长度:2

最大长度:64

port

Integer

端口

最小值:1

最大值:65535

host

String

主机地址

最小长度:0

最大长度:64

scheme

String

协议类型

最小长度:1

最大长度:64

枚举值:

  • HTTP

  • HTTPS

表18 ContainerSettingsDTO

参数

参数类型

描述

configs

ContainerConfigsDTO object

容器特殊参数

image_url

String

镜像存储地址

最小长度:1

最大长度:10000

envs

Object

环境变量

volumes

Array of VolumeDTO objects

卷配置

数组长度:0 - 40

npu_type

String

NPU类型

最小长度:0

最大长度:16

枚举值:

  • D310

  • D910

  • D310P

vnpu_template

String

NPU算力切分模板,可在对应芯片的机器上通过npu-smi info -t template-info命令查询其详细信息

最小长度:0

最大长度:32

枚举值:

  • vir01

  • vir02

  • vir04

  • vir08

  • vir02_1c

  • vir04_3c

  • vir04_3c_ndvpp

  • vir04_4c_dvpp

resources

ResourceDTO object

资源配额

ext_devices

Array of ExtDevice objects

外挂设备配置

数组长度:0 - 1000000

表19 ContainerConfigsDTO

参数

参数类型

描述

privileged

Boolean

开启容器特权模式

缺省值:false

host_network

Boolean

是否使用主机网络模式

缺省值:true

restart_policy

String

重启策略,容器执行健康检查后失败后的策略

最小长度:1

最大长度:256

container_port_list

Array of ContainerPortDTO objects

容器端口映射值

数组长度:0 - 1000000

表20 ContainerPortDTO

参数

参数类型

描述

container_port

Integer

构成一堆映射的容器端口

最小值:1

最大值:65535

host_port

Integer

构成一对映射的物理机对应网卡端口

最小值:1

最大值:65535

host_ip

String

对应网卡地址

最小长度:0

最大长度:64

表21 VolumeDTO

参数

参数类型

描述

name

String

卷名称

最小长度:1

最大长度:63

type

String

挂载类型

source

String

源路径

destination

String

卷挂载路径

read_only

Boolean

只读,默认只读

表22 ResourceDTO

参数

参数类型

描述

limits

ResourceConfigDTO object

允许容器使用的最大资源

requests

ResourceConfigDTO object

容器需要使用的最小资源

表23 ResourceConfigDTO

参数

参数类型

描述

cpu

Float

cpu个数

最小值:0.01

最大值:1000

memory

Float

内存大小

最小值:0.01

最大值:1024000

gpu

Float

gpu内存大小,单位为M

最小值:0.01

最大值:1024000

npu

Float

使用npu加速卡个数

最小值:0.01

最大值:1000

表24 ExtDevice

参数

参数类型

描述

source

String

源路径

destination

String

卷挂载路径

cgroup_permissions

String

只读,默认MRW

请求示例

POST https://{endpoint}/v2/{project_id}/edge-apps/{edge_app_id}/versions

{
  "version" : "1.0.0",
  "description" : "string",
  "sdk_version" : "string",
  "deploy_type" : "docker",
  "deploy_multi_instance" : false,
  "container_settings" : {
    "configs" : {
      "privileged" : false,
      "host_network" : true,
      "restart_policy" : "string",
      "container_port_list" : [ {
        "container_port" : 65535,
        "host_port" : 65535,
        "host_ip" : "string"
      } ]
    },
    "image_url" : "string",
    "envs" : { },
    "volumes" : [ {
      "name" : "string",
      "type" : "string",
      "source" : "string",
      "destination" : "string",
      "read_only" : true
    } ],
    "npu_type" : "D310",
    "resources" : {
      "limits" : {
        "cpu" : 1000,
        "memory" : 1024000,
        "gpu" : 1024000,
        "npu" : 1000
      },
      "requests" : {
        "cpu" : 1000,
        "memory" : 1024000,
        "gpu" : 1024000,
        "npu" : 1000
      }
    },
    "ext_devices" : [ {
      "source" : "string",
      "destination" : "string",
      "cgroup_permissions" : "string"
    } ]
  },
  "liveness_probe" : {
    "exec_command" : "string",
    "tcp_socket" : {
      "port" : 65535
    },
    "http_get" : {
      "path" : "string",
      "port" : 65535,
      "host" : "string",
      "scheme" : "HTTP"
    },
    "initial_delay_seconds" : 3600,
    "timeout_seconds" : 3600,
    "period_seconds" : 30,
    "failure_threshold" : 3
  },
  "readiness_probe" : {
    "exec_command" : "string",
    "tcp_socket" : {
      "port" : 65535
    },
    "http_get" : {
      "path" : "string",
      "port" : 65535,
      "host" : "string",
      "scheme" : "HTTP"
    },
    "initial_delay_seconds" : 3600,
    "timeout_seconds" : 3600,
    "period_seconds" : 30,
    "failure_threshold" : 3
  },
  "arch" : { },
  "command" : { },
  "args" : { },
  "outputs" : { },
  "inputs" : { },
  "services" : { },
  "supplier" : "华为",
  "tpl_id" : "sys_general_opcua"
}

响应示例

状态码: 201

Created

{
  "edge_app_id" : "string",
  "name" : "string",
  "deploy_type" : "string",
  "deploy_multi_instance" : false,
  "version" : "string",
  "sdk_version" : "string",
  "description" : "string",
  "create_time" : "string",
  "update_time" : "string",
  "state" : "DRAFT",
  "liveness_probe" : {
    "exec_command" : "string",
    "tcp_socket" : {
      "port" : 65535
    },
    "http_get" : {
      "path" : "string",
      "port" : 65535,
      "host" : "string",
      "scheme" : "HTTP"
    },
    "initial_delay_seconds" : 3600,
    "timeout_seconds" : 3600,
    "period_seconds" : 30,
    "failure_threshold" : 3
  },
  "readiness_probe" : {
    "exec_command" : "string",
    "tcp_socket" : {
      "port" : 65535
    },
    "http_get" : {
      "path" : "string",
      "port" : 65535,
      "host" : "string",
      "scheme" : "HTTP"
    },
    "initial_delay_seconds" : 3600,
    "timeout_seconds" : 3600,
    "period_seconds" : 30,
    "failure_threshold" : 3
  },
  "arch" : "string",
  "command" : "string",
  "args" : "string",
  "container_settings" : {
    "configs" : {
      "privileged" : false,
      "host_network" : true,
      "restart_policy" : "string",
      "container_port_list" : {
        "container_port" : 65535,
        "host_port" : 65535,
        "host_ip" : "string"
      }
    },
    "image_url" : "string",
    "envs" : { },
    "volumes" : {
      "name" : "string",
      "type" : "string",
      "source" : "string",
      "destination" : "string",
      "read_only" : true
    },
    "resources" : {
      "limits" : {
        "cpu" : 1000,
        "memory" : 1024000,
        "gpu" : 1024000,
        "npu" : 1000
      },
      "requests" : {
        "cpu" : 1000,
        "memory" : 1024000,
        "gpu" : 1024000,
        "npu" : 1000
      }
    },
    "ext_devices" : {
      "source" : "string",
      "destination" : "string",
      "cgroup_permissions" : "string"
    }
  },
  "outputs" : "string",
  "inputs" : "string",
  "services" : "string",
  "publish_time" : { },
  "off_shelf_time" : { },
  "supplier" : "华为",
  "tpl_id" : "sys_general_opcua"
}

状态码

状态码

描述

201

Created

401

Bad Request

500

Internal Server Error

错误码

请参见错误码

相关文档