创建生命周期挂钩

最近更新时间: 2026-09-17 00:04:45

1. 接口描述

接口请求域名: as.api3.fincloud.tencent.cn。

本接口(CreateLifecycleHook)用于创建生命周期挂钩。

  • 您可以为生命周期挂钩配置消息通知,弹性伸缩会通知您的CMQ消息队列,通知内容形如:
{
    "Service": "Cloud Platform Auto Scaling",
    "Time": "2019-03-14T10:15:11Z",
    "AppId": "1251783334",
    "ActivityId": "asa-fznnvrja",
    "AutoScalingGroupId": "asg-rrrrtttt",
    "LifecycleHookId": "ash-xxxxyyyy",
    "LifecycleHookName": "my-hook",
    "LifecycleActionToken": "3080e1c9-0efe-4dd7-ad3b-90cd6618298f",
    "InstanceId": "ins-aaaabbbb",
    "LifecycleTransition": "INSTANCE_LAUNCHING",
    "NotificationMetadata": ""
}

默认接口请求频率限制:20次/秒。

接口更新时间:2019-10-31 18:27:50。

接口只验签名不鉴权。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见公共请求参数

参数名称 必选 允许NULL 类型 描述
Action String 公共参数,本接口取值:CreateLifecycleHook
Version String 公共参数,本接口取值:2018-04-19
Region String 公共参数,地域信息可通过DescribeRegions接口查看产品支持的地域列表
AutoScalingGroupId String 伸缩组ID
示例值: asg-8fbozqja
DefaultResult String 定义伸缩组在生命周期挂钩超时的情况下应采取的操作,取值范围是“CONTINUE”或“ABANDON”,默认值为“CONTINUE”
示例值: CONTINUE
HeartbeatTimeout Int64 生命周期挂钩超时之前可以经过的最长时间(以秒为单位),范围从30到3600秒,默认值为300秒
示例值: 300
LifecycleHookName String 生命周期挂钩名称。名称仅支持中文、英文、数字、下划线、分隔符"-"、小数点,最大长度不能超128个字节。
示例值: one-hook-default
LifecycleTransition String 进行生命周期挂钩的场景,取值范围包括“INSTANCE_LAUNCHING”和“INSTANCE_TERMINATING”
示例值: INSTANCE_LAUNCHING
NotificationMetadata String 弹性伸缩向通知目标发送的附加信息,默认值为''。最大长度不能超过1024个字节。
示例值: ""
NotificationTarget NotificationTarget 通知目标
示例值:查看

3. 输出参数

参数名称 类型 描述
LifecycleHookId String 生命周期挂钩ID
示例值: ash-8azjzxj9
RequestId String 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。

4. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见公共错误码

错误码 描述
InvalidParameterValue.LifecycleHookNameDuplicated 生命周期挂钩名称重复。
InvalidParameter.Conflict 参数冲突,指定的多个参数冲突,不能同时存在。
InvalidParameter 参数错误。
MissingParameter 缺少参数错误
InvalidParameterValue.Filter 无效的过滤器。
InternalError 内部错误
InvalidParameterValue 参数取值错误。
InternalError.CallTDMQError TDMQ接口调用失败
ResourceNotFound.ResourceNotFoundTDMQPulsarTopicNotFound TDMQ-Pulsar主题不存在

5. 示例

示例1 创建生命周期挂钩,采用默认值

创建生命周期挂钩,在实例创建场景下生效。DefaultResult采用默认值,即CONTINUE。HeartbeatTimeout采用默认值,即300秒。

输入示例

https://as.api3.fincloud.tencent.cn/?Action=CreateLifecycleHook
&AutoScalingGroupId=asg-8fbozqja
&LifecycleHookName=one-hook-default
&LifecycleTransition=INSTANCE_LAUNCHING
&<公共请求参数>

输出示例

{
    "Response": {
        "LifecycleHookId": "ash-8azjzxj9",
        "RequestId": "4fa9fd2e-5b6c-49fe-9ba7-ed2ee62d8271"
    }
}

示例2 创建生命周期挂钩

创建生命周期挂钩,在实例创建场景下生效,DefaultResult设置为ABANDON,HeartbeatTimeout设置为360秒。

输入示例

https://as.api3.fincloud.tencent.cn/?Action=CreateLifecycleHook
&AutoScalingGroupId=asg-8fbozqja
&DefaultResult=ABANDON
&HeartbeatTimeout=360
&LifecycleHookName=one-hook
&LifecycleTransition=INSTANCE_LAUNCHING
&<公共请求参数>

输出示例

{
    "Response": {
        "LifecycleHookId": "ash-heyubibl",
        "RequestId": "5e414011-3359-45bd-8ba4-5b503d3fd3f6"
    }
}

示例3 创建生命周期挂钩,通知CMQ队列模型

创建生命周期挂钩,在实例创建场景下生效,DefaultResult设置为CONTINUE,HeartbeatTimeout设置为120秒,通知名为“one-queue”的CMQ队列模型。

输入示例

https://as.api3.fincloud.tencent.cn/?Action=CreateLifecycleHook
&AutoScalingGroupId=asg-8fbozqja
&DefaultResult=CONTINUE
&HeartbeatTimeout=120
&LifecycleHookName=launch-queue
&LifecycleTransition=INSTANCE_LAUNCHING
&NotificationMetadata=queue
&NotificationTarget.TargetType=CMQ_QUEUE
&NotificationTarget.QueueName=one-queue
&<公共请求参数>

输出示例

{
    "Response": {
        "LifecycleHookId": "ash-fbjiexz7",
        "RequestId": "d3cf27b7-3090-4317-9107-d2eac986a446"
    }
}

示例4 创建生命周期挂钩,通知CMQ主题模型

创建生命周期挂钩,在实例销毁场景下生效,DefaultResult设置为ABANDON,HeartbeatTimeout设置为120秒,通知名为“one-topic”的CMQ主题模型。

输入示例

https://as.api3.fincloud.tencent.cn/?Action=CreateLifecycleHook
&AutoScalingGroupId=asg-8fbozqja
&DefaultResult=ABANDON
&HeartbeatTimeout=120
&LifecycleHookName=terminate-topic
&LifecycleTransition=INSTANCE_TERMINATING
&NotificationMetadata=topic
&NotificationTarget.TargetType=CMQ_TOPIC
&NotificationTarget.TopicName=one-topic
&<公共请求参数>

输出示例

{
    "Response": {
        "LifecycleHookId": "ash-oq76wsrx",
        "RequestId": "cdb7670b-0412-444f-9d2f-0da9cd07c410"
    }
}