CreateLifecycleHook
为一个伸缩组创建生命周期挂钩(`CreateLifecycleHook`)。
描述
一个伸缩组最多可以创建 6 个生命周期挂钩。创建了生命周期挂钩的伸缩组,在发生伸缩活动时,生命周期挂钩会暂停伸缩活动一段时间,我们称之为伸缩活动等待状态,具体等待时长您可以通过 HeartbeatTimeout
参数指定。 伸缩活动处于等待状态时,伸缩组弹性扩张活动之前或者弹性收缩活动之前为您保留指定时长的操作时间。您可以在等待期间初始化 ECS 实例配置或者获取 ECS 实例数据等。等待状态的进程在处于加入或移除 RDS 实例 IP 白名单和加入或移除 SLB 实例 IP 白名单之间,如下图所示: 推荐您利用消息服务 MNS 的主题或者队列创建消息通知,掌握伸缩组内正在启动或者即将释放的 ECS 实例的动态。
调试
前往【】在线调试,API Explorer 提供在线调用 API、动态生成 SDK Example 代码和快速检索接口等能力,能显著降低使用云 API 的难度,强烈推荐使用。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
LifecycleTransition | String | 是 | SCALE_OUT |
生命周期挂钩适用的伸缩活动类型。取值范围:
|
ScalingGroupId | String | 是 | AG6CQdPU8OKdwLjgZcJ**** |
伸缩组 ID。 |
Action | String | 否 | CreateLifecycleHook |
系统规定参数。取值:CreateLifecycleHook。 |
DefaultResult | String | 否 | CONTINUE |
等待状态结束后的下一步动作。取值范围:
默认值:CONTINUE 当伸缩组发生弹性收缩活动( |
HeartbeatTimeout | Integer | 否 | 600 |
生命周期挂钩为伸缩组活动设置的等待时间,等待状态超时后会执行下一步动作。取值范围:30~21600,单位为秒,默认值:600。创建了生命周期挂钩后,您可以调用 延长 ECS 实例的等待时间,也可以调用 提前结束伸缩活动的等待状态。 |
LifecycleHook.N.DefaultResult | String | 否 | CONTINUE |
等待状态结束后的下一步动作。取值范围:
默认值:CONTINUE 当伸缩组发生弹性收缩活动( |
LifecycleHook.N.HeartbeatTimeout | Integer | 否 | 600 |
生命周期挂钩为伸缩组活动设置的等待时间,等待状态超时后会执行下一步动作。取值范围:30~21600,单位为秒,默认值:600。创建了生命周期挂钩后,您可以调用 延长 ECS 实例的等待时间,也可以调用 提前结束伸缩活动的等待状态。 |
LifecycleHook.N.LifecycleHookName | String | 否 | 测试SCALE_OUT |
生命周期挂钩名称,不能与当前伸缩组其他生命周期挂钩重名。长度为 2~40 个英文或中文字符,以数字、大小字母或中文开头,可包含数字、下划线(_)、连字符(-)和小数点(.)。 默认值为生命周期挂钩 ID。 |
LifecycleHook.N.LifecycleTransition | String | 否 | SCALE_OUT |
生命周期挂钩适用的伸缩活动类型。取值范围:
|
LifecycleHook.N.NotificationArn | String | 否 | acs:ess:cn-hangzhou:1111111111:queue/queue1 |
生命周期挂钩通知对象标识符。目前我们支持消息服务 MNS 队列或主题,参数取值格式:acs:ess:{region}:{account-id}:{resource-relative-id}。
例如:
|
LifecycleHook.N.NotificationMetadata | String | 否 | Test |
伸缩活动的等待状态的固定字符串信息。参数长度不能超过 128 个字符。弹性伸缩每次推送消息到通知对象时,会同时发送您预先指定的 |
LifecycleHookName | String | 否 | 测试SCALE_OUT |
生命周期挂钩名称,不能与当前伸缩组其他生命周期挂钩重名。长度为 2~40 个英文或中文字符,以数字、大小字母或中文开头,可包含数字、下划线(_)、连字符(-)和小数点(.)。 默认值为生命周期挂钩 ID。 |
NotificationArn | String | 否 | acs:ess:cn-hangzhou:1111111111:queue/queue1 |
生命周期挂钩通知对象标识符。目前我们支持消息服务 MNS 队列或主题,参数取值格式:acs:ess:{region}:{account-id}:{resource-relative-id}。
例如:
|
NotificationMetadata | String | 否 | Test |
伸缩活动的等待状态的固定字符串信息。参数长度不能超过 128 个字符。弹性伸缩每次推送消息到通知对象时,会同时发送您预先指定的 |
返回参数
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
LifecycleHookId | String | ash-**** |
生命周期挂钩 ID。 |
RequestId | String | 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E |
请求 ID。无论调用接口成功与否,我们都会返回请求 ID。 |
示例
请求示例
http://ess.aliyuncs.com/?Action=CreateLifecycleHook
&ScalingGroupId=AG6CQdPU8OKdwLjgZcJ****
&LifecycleHookName=测试SCALE_OUT
&LifecycleTransition=SCALE_OUT
&NotificationArn=acs:ess:cn-hangzhou:1111111111:queue/queue1
&NotificationMetadata=Test
&<公共请求参数>
正常返回示例
XML
格式
<CreateLifecycleHookResponse>
<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>
<LifecycleHookId>ash-****</LifecycleHookId>
</CreateLifecycleHookResponse>
JSON
格式
{
"LifecycleHookId":"ash-****",
"RequestId":"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E"
}
错误码
HttpCode |
错误码 |
错误信息 |
描述 |
---|---|---|---|
400 |
InvalidParamter |
The specified value of parameter is not valid. |
参数值不合法。 |
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 |
QueueNotExist |
The specified queue does not exist. |
指定的 MNS 队列不存在。 |
400 |
TopicNotExist |
The specified topic does not exist. |
指定的 MNS 主题不存在。 |
400 |
InvalidLifecycleHookName.Duplicate |
The specified value of parameter lifecycleHookName is duplicated. |
生命周期挂钩已存在。 |
400 |
QuotaExceeded.LifecycleHook |
Lifecycle hook quota exceeded in the specified scaling group. |
一个伸缩组最多可以创建 6 个生命周期挂钩。 |
发布者:lidazhuang,转转请注明出处:https://www.cms2.cn/aliyun/4551.html