创建生命周期挂钩

最近更新时间:2019-05-16 19:39:24

1. 接口描述

接口请求域名: as.tencentcloudapi.com 。

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

  • 您可以为生命周期挂钩配置消息通知,弹性伸缩会通知您的CMQ消息队列,通知内容形如:
{
    "Service": "Tencent Cloud 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次/秒。

注意:本接口支持金融区地域。由于金融区和非金融区是隔离不互通的,因此当公共参数 Region 为金融区地域(例如 ap-shanghai-fsi)时,需要同时指定带金融区地域的域名,最好和 Region 的地域保持一致,例如:as.ap-shanghai-fsi.tencentcloudapi.com。

2. 输入参数

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

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

3. 输出参数

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

4. 示例

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

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

输入示例

https://as.tencentcloudapi.com/?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.tencentcloudapi.com/?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.tencentcloudapi.com/?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.tencentcloudapi.com/?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"
  }
}

5. 开发者资源

API Explorer

该工具提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力,能显著降低使用云 API 的难度,推荐使用。

SDK

云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

命令行工具

6. 错误码

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

错误码 描述
InternalError 内部错误
InvalidParameter 参数错误。
InvalidParameter.Conflict 参数冲突,指定的多个参数冲突,不能同时存在。
InvalidParameterValue 参数取值错误。
InvalidParameterValue.Filter 无效的过滤器。
InvalidParameterValue.LifecycleHookNameDuplicated 生命周期挂钩名称重复。
MissingParameter 缺少参数错误