如果当前伸缩组的生命周期挂钩不能满足业务需求,您无需做删除操作,调用ModifyLifecycleHook,通过待修改生命周期挂钩的ID或名称,伸缩组的ID等参数,修改一个生命周期挂钩的信息,包括生命周期挂钩适用的伸缩活动类型,生命周期挂钩为伸缩组活动设置的等待时间,等待状态结束后的下一步动作等信息。
接口说明
您可以通过以下两种方式指定待修改的生命周期挂钩:
- 只指定生命周期挂钩ID(
LifecycleHookId
),此时将忽略伸缩组ID(ScalingGroupId
)和生命周期挂钩名称(LifecycleHookName
)参数。 - 同时指定伸缩组ID(
ScalingGroupId
)与生命周期挂钩名称(LifecycleHookName
),因为在一个伸缩组内同一个生命周期挂钩名称是唯一的。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 |
类型 |
是否必选 |
示例值 |
描述 |
Action | String | 是 | ModifyLifecycleHook | 系统规定参数。取值:ModifyLifecycleHook。 |
LifecycleHookId | String | 否 | ash-bp1fxuqyi98w0aib**** | 待修改生命周期挂钩的ID,用于指定生命周期挂钩。 |
ScalingGroupId | String | 否 | asg-bp18p2yfxow2dloq**** | 伸缩组的ID,用于指定生命周期挂钩。 |
LifecycleHookName | String | 否 | test_SCAL**** | 待修改生命周期挂钩的名称,用于指定生命周期挂钩。 |
DefaultResult | String | 否 | CONTINUE | 等待状态结束后的下一步动作。取值范围:
当伸缩组发生弹性收缩活动(SCALE_IN)并触发多个生命周期挂钩时,如果一个生命周期挂钩的 |
HeartbeatTimeout | Integer | 否 | 600 | 生命周期挂钩为伸缩组活动设置的等待时间,等待状态超时后会执行下一步动作。取值范围:30~21600,单位:秒。 您可以调用RecordLifecycleActionHeartbeat延长ECS实例的等待时间,也可以调用CompleteLifecycleAction提前结束伸缩活动的等待状态。 |
LifecycleTransition | String | 否 | SCALE_IN | 生命周期挂钩适用的伸缩活动类型,取值范围:
|
NotificationMetadata | String | 否 | Test | 伸缩活动的等待状态的固定字符串信息。参数长度不能超过4096个字符。 弹性伸缩每次推送消息到通知对象时,会同时发送您预先指定的 |
NotificationArn | String | 否 | acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo**** | 生命周期挂钩通知对象标识符。设置本参数时支持以下通知方式:
参数格式中的变量含义如下:
|
RegionId | String | 否 | cn-beijing | 伸缩组所属的地域ID。 |
LifecycleHookStatus | String | 否 | Active | 修改当前生命周期挂钩的状态。取值范围:
如果不设置该参数,则当前生命周期挂钩状态保持为原有状态。 说明 生命周期挂钩创建成功后,系统默认为启动状态。 |
返回数据
名称 |
类型 |
示例值 |
描述 |
RequestId | String | 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** | 请求ID。 |
示例
请求示例
http(s)://ess.aliyuncs.com/?Action=ModifyLifecycleHook
&LifecycleHookId=ash-bp1fxuqyi98w0aib****
&ScalingGroupId=asg-bp18p2yfxow2dloq****
&LifecycleHookName=test_SCALE_IN
&DefaultResult=CONTINUE
&HeartbeatTimeout=600
&LifecycleTransition=SCALE_IN
&NotificationMetadata=Test
&NotificationArn=acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****
&RegionId=cn-beijing
&LifecycleHookStatus=Active
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<ModifyLifecycleHookResponse>
<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
</ModifyLifecycleHookResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}
错误码
访问错误中心查看更多错误码。
HttpCode |
错误码 |
错误信息 |
描述 |
400 |
InvalidParamter |
The specified value of parameter is not valid. |
参数值不合法。 |
400 |
InvalidLifecycleHookId.NotExist |
The specified lifecycleHookId not exist. |
指定的LifecycleHookId不存在。 |
400 |
InvalidLifecycleHookName.NotExist |
The specified lifecycleHookName you provided not exist. |
指定的LifecycleHookName不存在。 |
400 |
InvalidNotificationArn |
The specified parameter NotificationArn is invalid. |
指定的NotificationArn不存在。 |
400 |
UnsupportedNotificationType.CurrentRegion |
The NotificationType is not supported in the special region which scalingGroup belongs to. |
当前地域不支持该通知方式。 |
400 |
LifecycleHook |
The specified queue does not exist. |
指定的MNS队列不存在。 |
400 |
TopicNotExist |
The specified topic does not exist. |
指定的MNS主题不存在。 |