更新时间:2025-08-13 GMT+08:00
分享

操作组件

功能介绍

对组件执行指定操作,如部署、升级、重启、停止、启动、伸缩、配置、回滚。

调试

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

URI

POST /v1/{project_id}/cae/applications/{application_id}/components/{component_id}/action

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取项目ID请参见获取项目ID

application_id

String

应用ID。

component_id

String

组件ID。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

  • 获取Token,请参考《统一身份认证服务API参考》的“获取用户Token”章节。

  • 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。

X-Enterprise-Project-ID

String

企业项目ID。

  • 创建环境时,环境会绑定企业项目ID。

  • 最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。

  • 该字段不传(或传为字符串“0”)时,则查询默认企业项目下的资源。

说明:
关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。

X-Environment-ID

String

环境ID。

  • 获取环境ID,通过获取环境列表来获取环境信息。

  • 请求响应成功后在响应体的items数组中的一个元素即为一个环境的信息,其中id字段即是环境ID。

表3 请求Body参数

参数

是否必选

参数类型

描述

api_version

String

API版本,固定值“v1”,该值不可修改。

kind

String

API类型,固定值“Action”,该值不可修改。

metadata

metadata object

请求数据。

spec

ActionOnComponentSpec object

action规格信息。

表4 metadata

参数

是否必选

参数类型

描述

annotations

Annotations object

name

String

action名称。

表5 annotations

参数

是否必选

参数类型

描述

{自定义key}

Map<String,String>

资源信息。

表6 ActionOnComponentSpec

参数

是否必选

参数类型

描述

snapshot_index

Integer

快照序号。

replica

Integer

实例个数。

source

ActionOnComponentSource object

源数据。

resource_limit

ResourceLimitForUpgrade object

实例规格。

build

ActionOnComponentBuild object

构建数据。

表7 ActionOnComponentSource

参数

是否必选

参数类型

描述

code

Repo object

源码仓库信息。

type

String

源类型。

sub_type

String

源子类型。

  • 源类型为code时,子类型表示不同的代码仓库,如DevCloud(CodeArts)、GitLab、GitHub、Gitee、Bitbucket。

  • 源类型为softwarePackage时,子类型表示不同的软件包仓库,如BinObs、BinDevCloud(CodeArts软件发布库)。

url

String

url地址。

  • 源类型为image时,url地址为镜像地址。

  • 源类型为code时,url地址为git地址。

  • 源类型为softwarePackage时,url地址为软件包地址。

表8 Repo

参数

是否必选

参数类型

描述

auth_name

String

授权名称。

branch

String

分支。

namespace

String

命名空间,需填写命名空间的Base64编码。

表9 ResourceLimitForUpgrade

参数

是否必选

参数类型

描述

cpu_limit

String

cpu限额。

memory_limit

String

内存限额。

表10 ActionOnComponentBuild

参数

是否必选

参数类型

描述

archive

Archive object

构建产物纳管。

parameters

Parameters object

表11 Archive

参数

是否必选

参数类型

描述

artifact_namespace

String

产物纳管SWR组织。

表12 parameters

参数

是否必选

参数类型

描述

{自定义key}

Map<String,String>

构建附加参数。

  • base_image:基础镜像地址。

  • build_cmd:自定义构建命令。

  • dockerfile_path:自定义dockerfile文件路径

  • dockerfile_content:自定义dockerfile内容

  • artifact_name: 针对java多模块构建,指定构建后运行的产物,以".jar"结尾。

响应参数

状态码:200

表13 响应Body参数

参数

参数类型

描述

job_id

String

任务ID。

请求示例

  • 对组件执行指定操作,如部署、重启、停止、启动、生效配置。

    POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/action
    
    {
      "api_version" : "v1",
      "kind" : "Action",
      "metadata" : {
        "name" : "deploy/restart/stop/start/configure",
        "annotations" : {
          "version" : "1.0.0"
        }
      }
    }
  • 对组件执行升级操作,升级后版本号为“1.0.1”。

    POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/action
    
    {
      "api_version" : "v1",
      "kind" : "Action",
      "metadata" : {
        "name" : "upgrade",
        "annotations" : {
          "version" : "1.0.1"
        }
      },
      "spec" : {
        "source" : {
          "type" : "image",
          "url" : "nginx:stable-alpine-perl"
        }
      }
    }
  • 对组件执行伸缩操作,将实例数扩容到2。

    POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/action
    
    {
      "api_version" : "v1",
      "kind" : "Action",
      "metadata" : {
        "name" : "scale",
        "annotations" : {
          "version" : "1.0.0"
        }
      },
      "spec" : {
        "replica" : 2
      }
    }
  • 对组件执行回滚操作。

    POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/action
    
    {
      "api_version" : "v1",
      "kind" : "Action",
      "metadata" : {
        "name" : "rollback",
        "annotations" : {
          "version" : "1.0.0"
        }
      },
      "spec" : {
        "snapshot_index" : 1
      }
    }

响应示例

状态码:200

请求成功。

{
  "job_id" : "xxx"
}

状态码

状态码

描述

200

请求成功。

错误码

请参见错误码

相关文档