全部产品
Search
文档中心

弹性伸缩:ScaleWithAdjustment - 基于指定调整规则触发性扩缩容

更新时间:Aug 27, 2026

区别于ExecuteScalingRule接口,您无需提前创建伸缩规则,直接调用API ScaleWithAdjustment接口快速基于指定调整规则触发弹性扩缩容。

接口说明

  • 调用该接口前,请确保满足以下条件:
    • 伸缩组处于 Active 状态。

    • 伸缩组内没有执行中的伸缩活动。

  • 当伸缩组没有执行中的伸缩活动时,该接口可以绕过冷却时间(Cooldown)直接执行伸缩活动。

  • 如果伸缩规则需要增加的 ECS 实例数加上当前伸缩组的实例数(Total Capacity)大于最大实例数(MaxSize),则按 Total Capacity=MaxSize 执行伸缩活动。

  • 如果当前伸缩组内的实例数(Total Capacity)减去伸缩规则需要减少的 ECS 实例数小于最小实例数(MinSize),则按 Total Capacity=MinSize 执行伸缩活动。

调用该接口返回成功,只是表示弹性伸缩服务接受了该接口的调用请求,可以执行伸缩活动,但不代表伸缩活动能够执行成功。您需要通过返回的ScalingActivityId查看该伸缩活动的执行状态。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

调试

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

ess:ScaleWithAdjustment

update

*ScalingGroup

acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}

请求参数

名称

类型

必填

描述

示例值

ScalingGroupId

string

伸缩组的 ID。

asg-j6c1o397427hyjdc****

AdjustmentType

string

伸缩活动调整方式,取值范围:

  • QuantityChangeInCapacity:增加或减少指定数量的 ECS 实例。

  • PercentChangeInCapacity:增加或减少指定比例的 ECS 实例。

  • TotalCapacity:将当前伸缩组的 ECS 实例数量调整到指定数量。

QuantityChangeInCapacity

AdjustmentValue

integer

伸缩活动调整值。任何情况下,单次调整的 ECS 实例台数都不能超过 1000,否则会导致调整失败。不同调整方式对应的取值范围:

  • QuantityChangeInCapacity:-1000~1000。

  • PercentChangeInCapacity:-100~10000。

  • TotalCapacity:0~2000。

100

MinAdjustmentMagnitude

integer

伸缩活动最小调整实例数,仅当AdjustmentTypePercentChangeInCapacity时生效。

1

ClientToken

string

用于保证请求的幂等性,防止重复提交请求。由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过 64 个 ASCII 字符,且该参数值中不能包含非 ASCII 字符。

123e4567-e89b-12d3-a456-42665544****

SyncActivity

boolean

伸缩活动同步执行开关,仅对具有期望实例数配置项的伸缩组有效。取值范围:

  • true:同步流程,即执行伸缩规则时会直接触发伸缩组的扩缩容活动。

  • false:异步流程,即修改伸缩组内的期望实例数时,不会立刻触发伸缩组的实际扩缩容活动,需等待期望实例数变化后,系统自动检测期望实例数与伸缩组内当前实例数不一致,才会触发扩缩容活动。

说明

关于期望实例数的更多信息,请参见期望实例数

默认值:false。

false

ParallelTask

boolean

当前扩缩容任务是否支持并发。

false

Overrides

object

ECI 伸缩组扩容指定覆写参数。

Cpu

number

实例级别 vCPU 大小。单位:核。

2

Memory

number

实例级别内存大小。单位:GiB。

4

ContainerOverrides

array<object>

覆写容器列表参数。

array<object>

覆写容器列表参数。

Name

string

容器名称。当需要覆写容器参数时,必须指定容器名称,容器名称与伸缩配置容器名称相匹配时,方可覆写容器参数。

container-1

Args

array

容器启动命令对应的参数。最多 10 个。

string

容器启动命令对应的参数。最多 10 个。

arg

Commands

array

容器启动命令。最多 20 个。每个命令最多包含 256 个字符。

string

容器启动命令。最多 20 个。每个命令最多包含 256 个字符。

sleep

EnvironmentVars

array<object>

环境变量的信息列表。

object

环境变量的信息列表。

Key

string

环境变量名。长度为 1~128 个字符。格式要求:[0-9a-zA-Z],以及下划线(_),不能以数字开头。

PATH

Value

string

环境变量值。长度为 0~256 位。

/usr/local/tomcat

Cpu

number

容器 vCPU 核数。单位:核。

2

Memory

number

容器内存大小。单位:GiB。

4

UserData

string

ECS 实例的自定义数据,需要以 Base64 方式编码,编码前的原始数据最多为 32 KB。

ZWNobyBoZWxsbyBlY3Mh

LifecycleHookContext

object

生命周期挂钩上下文信息。

DisableLifecycleHook

boolean

伸缩活动禁用所有生命周期挂钩。取值范围:

  • true:禁用。

  • false:不禁用。

false

IgnoredLifecycleHookIds

array

伸缩活动禁用的生命周期挂钩 ID 列表。

string

伸缩活动禁用的生命周期挂钩 ID 列表。

ash-bp14zolna43z266bq***

LifecycleHookResult

string

ActivityMetadata

string

伸缩活动的元数据。

{"key":"value"}

ExecutionMode

string

执行模式 可选值:

  • None:未指定,正常扩缩容。

  • PlanOnly:不触发扩缩容,仅执行弹性规划,在 PlanResult 中返回规划的结果,包括实例规格、可用区 ID、付费类型和创建的实例数量等信息。

默认为 None。

PlanOnly

返回参数

名称

类型

描述

示例值

object

ScalingActivityId

string

伸缩活动的 ID。

asa-bp175o6f6ego3r2j****

RequestId

string

请求 ID。

473469C7-AA6F-4DC5-B3DB-A3DC0DE3****

ActivityType

string

伸缩活动的类型。

ActivityType 为 CapacityChange时,表示返回值ScalingActivityId对应伸缩活动仅修改伸缩组期望实例数,没有立刻执行扩缩。

适用范围:期望实例数类型伸缩组。

CapacityChange

PlanResult

object

当 ExecutionMode 为 PlanOnly 时,返回的弹性规划的结果。

ResourceAllocations

array<object>

弹性规划结果中的资源分配信息。

object

ZoneId

string

可用区 ID。

cn-beijing-g

InstanceType

string

实例规格。

ecs.u1-c1m8.large

SpotStrategy

string

实例的抢占策略。取值范围:

  • NoSpot:正常按量付费实例。

  • SpotWithPriceLimit:设置上限价格的抢占式实例。

  • SpotAsPriceGo:系统自动出价,跟随当前市场实际价格的抢占式实例。

NoSpot

Amount

integer

实例数量。

1

InstanceChargeType

string

付费类型,返回值如下:

  • Prepaid:包年包月

  • Postpaid:按量付费

PostPaid

示例

正常返回示例

JSON格式

{
  "ScalingActivityId": "asa-bp175o6f6ego3r2j****",
  "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
  "ActivityType": "CapacityChange",
  "PlanResult": {
    "ResourceAllocations": [
      {
        "ZoneId": "cn-beijing-g",
        "InstanceType": "ecs.u1-c1m8.large",
        "SpotStrategy": "NoSpot",
        "Amount": 1,
        "InstanceChargeType": "PostPaid"
      }
    ]
  }
}

错误码

访问错误中心查看更多错误码。

变更历史

更多信息,参考变更详情