目前支持的事件包括:实例开机、实例关机、实例重置、实例升级镜像、实例重启、实例备份、实例还原、异步命令执行、实例安装应用、实例分发文件、实例上传文件、实例分发图片、实例截图、创建镜像。
一、网络协议
·请求:HTTP POST 请求,包体内容为 JSON,消息的具体包体内容参见后文。
·应答:HTTP STATUS CODE = 200,腾讯云忽略应答包具体内容。
二、通知可靠性
事件通知服务具备重试能力,重试间隔为1分钟,总计重试3次。
为了避免重试对你的服务器以及网络带宽造成冲击,请保持正常回包。触发重试条件如下:
·长时间(5 秒)未回包应答。
·应答 HTTP STATUS 不为200。
三、事件类型参数
| 事件类型 | 字段取值说明 |
| 实例开机 | CallbackType = START_INSTANCE |
| 实例关机 | CallbackType = STOP_INSTANCE |
| 实例重置 | CallbackType = RESET_INSTANCE |
| 实例升级镜像 | CallbackType = UPGRADE_INSTANCE |
| 实例重启 | CallbackType = REBOOT_INSTANCE |
| 实例备份 | CallbackType = BACKUP_INSTANCE |
| 实例还原 | CallbackType = RESTORE_INSTANCE |
| 异步命令执行 | CallbackType = INSTANCE_EXEC_COMMAND |
| 实例安装应用 | CallbackType = INSTALL_APP |
| 实例分发文件 | CallbackType = INSTANCE_DISTRIBUTE_FILE |
| 实例上传文件 | CallbackType = INSTANCE_UPLOAD_FILE |
| 实例分发图片 | CallbackType = DISTRIBUTE_PHOTO |
| 实例截图 | CallbackType = SCREEN_SHOT |
| 创建镜像 | CallbackType = CREATE_IMAGE |
四、回调消息参数
| 字段名称 | 类型 | 说明 |
| RequestId | string | 请求 ID。 |
| CallbackType | string | 事件类型。 |
| InstanceId | string | 实例 ID。 |
| TaskId | string | 任务 ID。 |
| TaskStatus | string | 任务状态:SUCCESS,FAILED,PROCESSING,PENDING, CANCELED。 |
| TaskResult | string | 任务执行结果描述。针对某些任务,内容是可解析的 JSON。 |
| Sign | string | 事件通知安全签名 sign = MD5(AuthKey + ExpiredTime)。说明:AuthKey 为创建回调配置时设置的参数,腾讯云把加密 AuthKey 和 ExpiredTime 进行字符串拼接后通过 MD5 计算得出 sign 值,并将其放在通知消息里,你的后台服务器在收到通知消息后可以根据同样的算法确认 sign 是否正确,进而确认消息是否确实来自腾讯云后台。 |
| ExpiredTime | int64 | 过期时间,事件通知签名过期 UNIX 时间戳。来自腾讯云的消息通知默认过期时间是10分钟,如果一条消息通知中的 t 值所指定的时间已经过期,则可以判定这条通知无效,进而可以防止网络重放攻击。格式为十进制 UNIX 时间戳,即从1970年01月01日(UTC/GMT 的午夜)开始所经过的秒数。 |
五、回调消息示例
{ "RequestId":"726789a2-1071-4aa0-b7d8-c082774665f6", "CallbackType":"START_INSTANCE", "InstanceId":"cai-82xkf291", "TaskId":"678a2fae-ace6-40db-a508-8457491a5c1b", "TaskStatus":"SUCCESS", "TaskResult":"", "Sign":"df49************************f5d4", "ExpiredTime":1703732078}