全部產品
Search
文件中心

Auto Scaling:ModifyLifecycleHook

更新時間:Jan 14, 2025

如果當前伸縮組的生命週期掛鈎不能滿足業務需求,您無需做刪除操作,調用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

等待狀態結束後的下一步動作。取值範圍:

  • CONTINUE:繼續響應彈性擴張活動或者繼續響應彈性收縮活動。
  • ABANDON:直接釋放彈性擴張活動建立出來的ECS執行個體或者直接將彈性收縮活動中的ECS執行個體從伸縮組移除。
  • ROLLBACK:針對彈性收縮活動,會拒絕釋放ECS執行個體,進行復原;針對彈性擴張活動,會直接釋放建立出來的ECS執行個體,效果同ABANDON一樣。

當伸縮組發生彈性收縮活動(SCALE_IN)並觸發多個生命週期掛鈎時,如果一個生命週期掛鈎的DefaultResult取值為ABANDONROLLBACK,且該掛鈎等待狀態結束時,會提前將其他生命週期掛鈎對應的等待狀態提前結束。其他情況下,下一步動作均以最後一個結束等待狀態的下一步動作為準。

HeartbeatTimeout Integer 600

生命週期掛鈎為伸縮組活動設定的等待時間,等待狀態逾時後會執行下一步動作。取值範圍:30~21600,單位:秒。

您可以調用RecordLifecycleActionHeartbeat延長ECS執行個體的等待時間,也可以調用CompleteLifecycleAction提前結束伸縮活動的等待狀態。

LifecycleTransition String SCALE_IN

生命週期掛鈎適用的伸縮活動類型,取值範圍:

  • SCALE_OUT:伸縮組彈性擴張活動。
  • SCALE_IN:伸縮組彈性收縮活動。
NotificationMetadata String Test

伸縮活動的等待狀態的固定字串資訊。參數長度不能超過4096個字元。

Auto Scaling每次推送訊息到通知對象時,會同時發送您預先指定的NotificationMetadata參數值,便於管理和標記不同類別的通知資訊。當您同時指定了NotificationArn參數時,NotificationMetadata參數方可生效。

NotificationArn String acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****

生命週期掛鈎通知物件識別碼。設定本參數時支援以下通知方式:

  • MNS隊列,參數取值格式:acs:mns:{region-id}:{account-id}:queue/{queuename}
  • MNS主題,參數取值格式:acs:mns:{region-id}:{account-id}:topic/{topicname}
  • OOS模板,參數取值格式:acs:oos:{region-id}:{account-id}:template/{templatename}
  • 事件匯流排 ,參數取值格式:acs:eventbridge:{region-id}:{account-id}:eventbus/default

參數格式中的變數含義如下:

  • region-id:伸縮組所在的地區的ID。
  • account-id:阿里雲帳號ID。
  • queuename:MNS隊列的名稱。
  • topicname:MNS主題的名稱。
  • templatename:OOS模板的名稱。
RegionId String cn-beijing

伸縮組所屬的地區ID。

LifecycleHookStatus String Active

修改當前生命週期掛鈎的狀態。取值範圍:

  • Active:表示啟動生命週期掛鈎。
  • InActive:表示暫停生命週期掛鈎。

如果不設定該參數,則當前生命週期掛鈎狀態保持為原有狀態。

說明 生命週期掛鈎建立成功後,系統預設為啟動狀態。

返回資料

名稱

類型

樣本值

描述

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主題不存在。