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

获取所有组件

功能介绍

此API用于获取所有应用组件。

调试

您可以在API Explorer中调试该接口。

URI

GET /v3/{project_id}/cas/components

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

租户项目ID。获取方法,请参考获取项目ID

表2 查询参数

参数

是否必选

参数类型

描述

limit

integer

查询个数,取值[0, 100]。

offset

integer

查询偏移量,表示查询第n条数据后的结果。

order_by

String

排序字段。

排序字段支持以下枚举值:

  • create_time,组件创建时间,默认排序字段。
  • name,组件名称。
  • update_time,组件修改时间。

传值不在支持的枚举值范围内的话按默认排序字段排序。

order

String

排序方式。

  • desc,降序排序,默认排序方式。
  • asc,升序排序。

application_name

String

应用名称。

component_name

String

组件名称。

请求消息

表3 请求Header参数

参数

是否必选

参数类型

描述

Content-Type

String

消息体的类型(格式),默认取值为“application/json;charset=utf8”。

X-Auth-Token

String

调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考认证鉴权

响应消息

表4 响应参数

参数

参数类型

描述

count

Integer

组件总数。

components

Array of objects

组件参数,请参考表5

表5 components

参数

参数类型

描述

id

String

组件ID。

name

String

组件名称。

labels

Array of objects

标签。容器部署可通过标签查询对应工作负载,虚机部署可配置对应的微服务名称的标签来使用优雅上下线功能,请参考表10

status

Object

组件状态,请参考表8

runtime_stack

Object

技术栈,请参考表7

application_name

String

应用名称。

application_id

String

应用ID。

environment_name

String

环境名称。

environment_id

String

环境ID。

version

String

版本号。

source

Object

代码/软件包来源,请参考表6

creator

String

创建人。

platform_type

String

运行平台类型,应用可以在不同的平台上运行,可选用的平台的类型有以下几种:

  • cce:容器
  • vmapp:虚拟机

external_accesses

Array of Objects

外部访问,请参考表11

workload_kind

String

工作负载类型。

  • deployment,无状态工作负载。
  • statefulset,有状态工作负载。
  • daemonset,守护进程集。
  • job,普通任务。

is_multi_containers

Boolean

是否是多容器。

enterprise_project_id

String

企业项目ID。

engine_id

String

引擎ID。

swimlane_tag

String

泳道标签。

swimlane

Object

所属泳道,请参考表12

refer_resources

Array of Objects

关联资源,请参考表14

config_mode

String

组件创建方式。

  • yaml,基于YAML配置创建。
  • ui,基于界面配置创建。
  • template,基于组件模板创建。

template_source

Object

组件模板包来源,请参考表20

表6 source

参数

参数类型

描述

kind

String

组件来源类型。

  • code,源码。
  • package,软件包。
  • image,镜像包。

version

String

版本号。

url

String

包地址,类型为package和image时需要添加。

storage

String

存储方式,例如:obs。

auth

String

认证方式,例如:iam。

repo_auth

String

授权名称。

repo_namespace

String

代码仓库命名空间。

repo_ref

String

代码分支或者Tag,例如:master。

repo_type

String

代码仓类型,例如:CodeArts、Gitee、GitHub、BitBucket、GitLab。

web_url

String

代码跳转链接,例如:https://github.com/example/demo.git。

repo_url

String

代码仓url,例如:https://github.com/example/demo.git。

http_username

String

“storage”“http”时需要填写,支持用户名、密码认证,这里填写用户名。

http_password

String

“storage”“http”时需要填写,支持用户名、密码认证,这里填写密码。

http_command

String

“storage”“http”时需要填写,这里是用户定义软件包的地址。

http_headers

Map<String, String>

“storage”“http”时需要填写,支持用户自定义请求头,支持填写一个key,value,例如{"key":"xx","value":"xx""},其中的key和value关键字固定。

表7 runtime_stack

参数

参数类型

描述

name

String

技术栈名称。

type

String

技术栈类型,支持Java、Tomcat、Nodejs、Php、Docker、Python。

当部署模式为虚机部署时,仅支持Java、Tomcat、Nodejs;容器部署上述类型都支持。

version

String

技术栈版本,例如:1.1.4。

deploy_mode

String

部署模式。

  • 容器部署,container。
  • 虚机部署,virtualmachine。
表8 status参数

参数

参数类型

描述

component_status

String

组件状态。

  • INITIALIZING,初始化。
  • UPGRADING,升级中。
  • FAILED,失败。
  • RUNNING,运行中。
  • DOWN,下线。
  • DELETING,删除中。
  • DELETED,已删除。
  • RESERVED,保留。
  • STARTING,启动中。
  • STOPPING,停止中。
  • STOPPED,停止。
  • RESTARTING,重启中。
  • PENDING,未就绪。
  • UNKNOWN,未知。
  • PARTIALLY_FAILED,部分失败。

available_replica

Integer

可用实例。

replica

Integer

总实例。

succeeded_replica

Integer

普通任务工作负载执行成功的实例数。

fail_detail

String

失败原因。

  • cluster_deleted,集群被删除。
  • cluster_unavailable,集群不可用。
  • cluster_inaccessible,集群无法访问。
  • namespace_deleted,命名空间被删除。
  • namespace_unavailable,命名空间不可用。
  • namespace_inaccessible,命名空间无法访问。
  • resource_deleted,资源已删除。
  • create_failed,创建组件失败。
  • delete_failed,删除组件失败。

last_job_id

String

最后执行任务ID。

create_time

Integer

创建时间。

update_time

Integer

更新时间。

creator

String

创建人。

artifact

Object

组件构建信息,请参考表9

表9 artifact

参数

参数类型

描述

type

String

组件来源类型。

  • 软件包:package。
  • 镜像包:image。

url

String

软件包/镜像地址。

表10 labels

参数

参数类型

描述

key

String

标签名称。

value

String

标签值。

表11 external_accesses

参数

参数类型

描述

protocol

String

外部访问类型,取值范围为:http、https。

address

String

外部访问地址。

forward_port

Integer

外部访问端口。

表12 swimlane

参数

参数类型

描述

id

String

泳道ID。

name

String

泳道名称

swimlane_group_id

String

所属泳道组ID。

type

String

泳道类型。

  • BASE:基线泳道。
  • GRAY:灰度泳道。

tag

String

泳道标签,根据标签来控制流量的走向。

route_status

String

泳道路由状态。

  • ENABLE:开启路由。
  • DISABLED:关闭路由。

rule_match_mode

String

路由规则匹配模式。当泳道组灰度类型为基于内容,即gray_release_type为CONTENT时生效。

  • ALL:匹配所有的规则。
  • ANY:匹配任一规则。

rules

Array of objects

路由规则。当泳道组灰度类型为基于内容,即gray_release_type为CONTENT时生效。请参考表13

weight

Integer

泳道流量权重,范围在0-100之间。当泳道组灰度类型为基于流量,即gray_release_type为WEIGHT时生效。

project_id

String

项目ID。

create_time

Integer

创建时间。

update_time

Integer

更新时间。

creator

String

创建人。

swimlane_group

Object

所属泳道组,请参考表17

engine_ids

Array of String

引擎ID列表。

表13 rules

参数

参数类型

描述

type

String

灰度匹配规则类型。当前只支持HEADER,即基于Header头进行匹配。

key

String

键。

value

String

值。

condition

String

匹配条件。

  • EXACT:精确匹配。
  • PREFIX:前缀匹配。
  • REGEX:正则匹配。
表14 refer_resources

参数

参数类型

描述

id

String

资源ID。

instance_id

String

组件实例ID。

type

String

资源类型:

  • vpc:虚拟私有云
  • eip:弹性IP
  • elb:弹性负载均衡
  • cce:云容器引擎
  • ecs:弹性云服务器
  • customServer:自定义服务器
  • dcs:分布式缓存服务
  • rds:云数据库RDS
  • cse:ServiceComb引擎
  • nacos:注册配置中心
  • pvc:存储卷声明
  • gaussdb:云数据库GaussDB
  • dms_rocketmq:分布式消息服务RocketMQ
  • css_es:云搜索服务Elasticsearch
  • custom_k8s:自定义kubernetes集群

refer_type

String

资源类别。

  • platform:部署型。
  • service:服务型。

refer_alias

String

资源别名。

parameters

Object

资源参数,请参考表15

selectors

Objects

资源选择器,请参考表16

表15 refer_resource_parameter

参数

参数类型

描述

namespace

String

命名空间。

name

String

资源名称。

capacity

Integer

存储容量,单位GiB。

type

String

存储卷声明类型,当表14中的type为pvc时指定。

  • efs,极速文件存储。
  • obs,对象存储。
  • sfs,文件存储。
  • evs,云硬盘。

class

String

存储卷声明子类型。

  • csi-sfsturbo,type为efs时固定指定。
  • csi-obs,type为obs时固定指定。
  • csi-nas,type为sfs时固定指定。
  • csi-disk,type为evs时固定指定。

pv_name

String

存储卷名称。type为efs时展示。

share_id

String

存储卷句柄。type为efs时展示。

share_export_location

String

存储卷共享路径。type为efs时展示。

share_proto

String

存储卷文件系统类型。type为efs时展示。默认为NFS。

obs_volume_type

String

OBS存储卷类型,默认为STANDARD标准存储类型。

access_mode

String

存储卷访问模式。

  • ReadWriteOnce:卷可以被一个节点以读写方式挂载。
  • ReadWriteMany:卷可以被多个节点以读写方式挂载。

availableZone

String

可用区。

volume_type

String

存储卷类型。

表16 selectors

参数

参数类型

描述

name

String

资源选择器名称。

flavor

String

资源选择器规格。

labels

Map<String,String>

标签。

表17 swimlane_group

参数

参数类型

描述

id

String

泳道组ID。

name

String

泳道组名称。

description

String

泳道组描述。

creator

String

创建人。

project_id

String

项目ID。

gray_release_type

String

泳道组灰度类型。

  • WEIGHT:基于流量比例进行全链路灰度。
  • CONTENT:基于内容进行全链路灰度。

engine_ids

Array of string

网关目标服务引擎ID。

gateways

Array of objects

目标服务列表,请参考表18

create_time

Integer

创建时间。

update_time

Integer

更新时间。

表18 gateways

参数

参数类型

描述

id

String

网关ID。

name

String

网关名称。

engine_id

String

目标服务引擎ID,对应于目标服务对应的服务来源所用的引擎ID。

target_services

Array of objects

目标服务列表,对应于网关服务管理中的服务。请参考表19

表19 target_services

参数

参数类型

描述

id

String

目标服务ID。

name

String

目标服务名称。

host

String

目标服务host信息。

表20 template_source

参数

参数类型

描述

storage

String

组件模板包存储方式。

  • devcloud,CodeArts软件发布库。
  • obs,OBS对象存储。
  • http,自定义文件地址。

url

String

组件模板包地址。

组件模板包存储方式为自定义文件地址时有效。

http_username

String

用户名。

组件模板包存储方式为自定义文件地址且安全认证方式为用户名密码认证时有效。

http_password

String

密码。

组件模板包存储方式为自定义文件地址且安全认证方式为用户名密码认证时有效。

http_headers

Array of objects

请求头,请参考表21

组件模板包存储方式为自定义文件地址且安全认证方式为自定义Header认证时有效。

表21 http_headers

参数

参数类型

描述

key

String

请求key。

value

String

请求value。

请求示例

响应示例

{
    "components": [
        {
            "source": {
                "kind": "package",
                "url": "obs://bucket0001/weather-1.0.0.jar",
                "storage": "obs"
            },
            "name": "mycomponent",
            "id": "b8702b0f-94d3-4822-98a1-56815632a0a0",
            "labels": null,
            "runtime_stack": {
                "name": "OpenJDK8",
                "deploy_mode": "virtualmachine",
                "version": "1.1.1"
            },
            "external_accesses": null,
            "status": {
                "component_status": "RUNNING",
                "available_replica": 1,
                "replica": 1,
                "fail_detail": null,
                "last_job_id": "JOB8be53b2a-af9a-4e2b-8505-096688a52237",
                "creator": "ss-test",
                "create_time": 1679556221028,
                "update_time": 1679556318779
            },
            "environment_name": "sudo",
            "environment_id": "4d084044-0b80-4641-963c-b9c9f4092a4f",
            "application_name": "app-39mbbn",
            "application_id": "fc092465-a5fb-4a52-bc65-b735f18366d8",
            "creator": "ss-test",
            "platform_type": "cce",
            "version": "2023.0323.15181"
        }
    ],
    "count": 1
}

状态码

状态码

描述

200

操作成功

400

错误的请求

404

请求对象不存在

500

内部错误

错误码

请参考ServiceStage错误码

相关文档