调用CreateApplicationScalingRule接口创建应用的弹性伸缩规则。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息
操作 |
访问级别 |
资源类型 |
条件关键字 |
关联操作 |
edas:ManageApplication |
create |
*Cluster
|
无 | 无 |
请求语法
POST /pop/v1/eam/scale/application_scaling_rule HTTP/1.1
请求参数
名称 |
类型 |
必填 |
描述 |
示例值 |
AppId |
string |
否 |
应用 ID,可调用 ListApplication 接口获取。 |
78194c76-3dca-418e-a263-cccd1ab4**** |
ScalingRuleName |
string |
否 |
弹性伸缩策略的名称。支持以小写字母开头,允许小写字母、数字、中划线(-)组成,长度为 1~32 字符的字符串。 |
cpu-trigger |
ScalingRuleType |
string |
否 |
弹性伸缩策略类型,仅支持 trigger 类型。 |
trigger |
ScalingRuleEnable |
boolean |
否 |
是否启用弹性伸缩策略。
|
true |
ScalingRuleMetric |
string |
否 |
此参数已废弃。 |
1 |
ScalingRuleTimer |
string |
否 |
此参数已废弃。 |
1 |
ScalingRuleTrigger |
string |
否 |
触发器策略。设置为 ScalingRuleTriggerDTO 的 JSON 格式,具体样式,请参见请求参数补充说明。 |
ScalingRuleTriggerDTO{......} |
ScalingBehaviour |
string |
否 |
配置自定义弹性行为,具体数据结构参考样例。 |
{ "scaleUp": { "stabilizationWindowSeconds": "0", "selectPolicy": "Max", "policies": [ { "type": "Pods", "value": 5, "periodSeconds": 15 } ] }, "scaleDown": { "stabilizationWindowSeconds": "300", "selectPolicy": "Max", "policies": [ { "type": "Percent", "value": 200, "periodSeconds": 15 } ] } } |
请求参数补充说明
public class ScalingRuleTriggerDTO {
/**
* 最大实例数,上限 1000。
*/
Integer maxReplicas;
/**
* 最小实例数,下限 0。
*/
Integer minReplicas;
/**
* 触发器列表,支持多个触发器。
*/
List<Trigger> triggers;
@Data
@ToString
@Builder
@AllArgsConstructor
@NoArgsConstructor
public static class Trigger {
/**
* 触发器类型,支持 cron(定时), app_metric(应用监控)。
*/
String type;
/**
* 触发器名称,必须以字母开头,允许数字、字母、短划线(-)或下划线(_)组成。最大长度 30 个字符。
*/
String name;
/**
触发器元数据,string->string 的 map Json,不同类型的触发器支持的元数据不同。
1. cron
{"period":"weekly","dryRun":"false","timerInDay":[{"atTime":"08:00","targetReplicas":2},{"atTime":"20:00","targetReplicas":1}],"timerInWeek":["Sat","Thu"]}
* period 周期:daily, weekly, monthly。
* dryRun: false 是观测并扩缩,true 是仅观测。
* timerInDay:描述每天的扩缩周期,指在什么时候开始维持多少副本数。
* timerInWeek:cron 表达式的周,比如 Fri。
2. app_metric
{\"metricName\":\"arms_appstat.incall_QPS\",\"dryRun\":\"false\",\"targetValAvg\":\"true\",\"targetAverageValue\":\"100\"}
* metricName:
* arms_appstat.incall_QPS(qps)
* arms_appstat.incall_rt(rt)
* arms_appstat.system_CPU(cpu 使用率)
* arms_appstat.system_MEM(内存使用率)
* dryRun 同 cron。
* targetValAvg:true 为需要进行平均,false 为不需要平均, 除了 qps 为 true,其他均为 false。
* targetAverageValue/targetValue: targetValAvg 为 true 则为 targetAverageValue,targetValAvg 为 false 则为 targetValue。
*/
String metadata;
}
}
返回参数
名称 |
类型 |
描述 |
示例值 |
object |
|||
Code |
integer |
接口状态码。 |
200 |
Message |
string |
返回信息。 |
success |
RequestId |
string |
请求唯一标识 ID。 |
a5281053-08e4-47a5-b2ab-5c0323de7b5a |
AppScalingRule |
object |
弹性伸缩策略。 |
|
UpdateTime |
integer |
更新弹性伸缩策略的时间戳。 |
23212323123 |
CreateTime |
integer |
创建弹性伸缩策略的时间戳。 |
23212323123 |
AppId |
string |
弹性伸缩策略所属应用的应用 ID。 |
78194c76-3dca-418e-a263-cccd1ab4**** |
LastDisableTime |
integer |
弹性伸缩策略最近一次被禁用的时间戳。 |
23212323123 |
MaxReplicas |
integer |
此参数已废弃。 |
1 |
ScaleRuleEnabled |
boolean |
弹性伸缩策略的启用状态。
|
true |
ScaleRuleType |
string |
规则类型,只支持 trigger。 |
trigger |
MinReplicas |
integer |
此参数已废弃。 |
1 |
ScaleRuleName |
string |
弹性伸缩的策略名称。 |
cpu |
Metric |
object |
此参数已废弃。 |
|
MinReplicas |
integer |
此参数已废弃。 |
1 |
MaxReplicas |
integer |
此参数已废弃。 |
1 |
Metrics |
array<object> |
此参数已废弃。 |
|
object |
|||
MetricTargetAverageUtilization |
integer |
此参数已废弃。 |
1 |
MetricType |
string |
此参数已废弃。 |
cpu |
Trigger |
object |
触发器配置。 |
|
MinReplicas |
integer |
最小副本数,不能低于 0。 |
2 |
MaxReplicas |
integer |
最大副本数,不能超过 1000。 |
122 |
Triggers |
array<object> |
触发器列表。 |
|
object |
触发器列表。 |
||
Type |
string |
触发器类型,只支持 cron 和 app_metric。 |
cron |
MetaData |
string |
触发器元信息。 |
{"dryRun":true} |
Name |
string |
触发器名称。 |
cpu |
Behaviour |
object |
弹性行为。 |
|
ScaleUp |
object |
弹性扩容行为配置。 |
|
StabilizationWindowSeconds |
integer |
扩容冷却时间。取值范围[0, 3600],单位为秒。默认为 0 秒。 |
0 |
SelectPolicy |
string |
弹性扩容步长策略,可选值 Max、Min、Disable。 |
Max |
Policies |
array<object> |
策略配置。 |
|
object |
策略配置。 |
||
PeriodSeconds |
integer |
检查执行的周期,取值范围[0, 1800],单位为秒。 |
15 |
Type |
string |
策略类型,可为 Pods 或 Percent。 |
Pods |
Value |
string |
弹性行为的策略值,大于零的整数。若策略类型为 Pods,则该值表示 Pods 数量;若策略类型为 Percent,则该值表示百分比,允许超过 100%。 |
10 |
ScaleDown |
object |
弹性缩容行为配置。 |
|
StabilizationWindowSeconds |
integer |
缩容冷却时间。取值范围[0, 3600],单位为秒。默认为 300 秒。 |
300 |
SelectPolicy |
string |
弹性缩容步长策略,可选值 Max、Min、Disable。 |
Max |
Policies |
array<object> |
策略配置。 |
|
object |
策略配置。 |
||
PeriodSeconds |
integer |
检查执行的周期,取值范围[0, 1800],单位为秒。 |
15 |
Type |
string |
策略类型,可为 Pods 或 Percent。 |
Pods |
Value |
string |
弹性行为的策略值,大于零的整数。若策略类型为 Pods,则该值表示 Pods 数量;若策略类型为 Percent,则该值表示百分比,允许超过 100%。 |
10 |
示例
正常返回示例
JSON
格式
{
"Code": 200,
"Message": "success",
"RequestId": "a5281053-08e4-47a5-b2ab-5c0323de7b5a",
"AppScalingRule": {
"UpdateTime": 23212323123,
"CreateTime": 23212323123,
"AppId": "78194c76-3dca-418e-a263-cccd1ab4****",
"LastDisableTime": 23212323123,
"MaxReplicas": 1,
"ScaleRuleEnabled": true,
"ScaleRuleType": "trigger",
"MinReplicas": 1,
"ScaleRuleName": "cpu",
"Metric": {
"MinReplicas": 1,
"MaxReplicas": 1,
"Metrics": [
{
"MetricTargetAverageUtilization": 1,
"MetricType": "cpu"
}
]
},
"Trigger": {
"MinReplicas": 2,
"MaxReplicas": 122,
"Triggers": [
{
"Type": "cron",
"MetaData": "{\"dryRun\":true}",
"Name": "cpu"
}
]
},
"Behaviour": {
"ScaleUp": {
"StabilizationWindowSeconds": 0,
"SelectPolicy": "Max",
"Policies": [
{
"PeriodSeconds": 15,
"Type": "Pods",
"Value": "10"
}
]
},
"ScaleDown": {
"StabilizationWindowSeconds": 300,
"SelectPolicy": "Max",
"Policies": [
{
"PeriodSeconds": 15,
"Type": "Pods",
"Value": "10"
}
]
}
}
}
}
错误码
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。