本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
本文为您介绍如何通过接口CheckOutLicense校验服务实例有效期。
使用限制
需满足以下任意一个。
计算巢服务配置了自定义售卖。
计算巢服务上架在云市场。
校验原理
对于计算巢创建的资源,计算巢会将服务实例ID、服务ID等标签打在资源上,CheckOutLicense通过资源所属标签判断所属服务实例。
针对满足使用限制的计算巢服务,若其服务实例需新建ECS(ACK),由于ECS(ACK)打有标签,计算巢可判断资源归属服务实例进而获取相关信息,因此服务实例调用ChekcoutLicense会成功。
针对需使用已有ECS(ACK)部署的计算巢服务,若已有ECS(ACK)不是计算巢创建,则ECS(ACK)上没有标签,计算巢无法获取实例数据,因此服务实例调用CheckoutLicense会失败。
接口调用示例
本示例是在符合使用限制的前提下,创建的ECS实例并调用CheckOutLicense。
获取ECS地域信息
在调用CheckOutLicense前,您需要获取应用部署的ECS地域(regionld)信息。获取到的地域信息会在后续步骤中使用,因此需要服务商记录。
访问如下网址,获得地域信息。
curl http://100.100.100.200/latest/meta-data/region-id
地域返回示例。
cn-hangzhou
请求示例
此处以在杭州地域发起调用为例,实际测试时应根据具体地域替换地域信息。
curl -H "Content-Type: application/json" -XPOST https://cn-hangzhou.axt.aliyun.com/computeNest/license/check_out_license -d '{}'
警告在实际生产中服务商需要根据不同场景,对该请求示例进行定制化修改。
当服务实例部署在ECS上时会存在盗版问题,请参见解决软件的盗版问题进行定制化修改。
当服务实例部署在已有ACK时调用CheckOutLicense会失败,请参见调用CheckOutLicense失败进行定制化修改。
当服务实例部署在新建ACK并引入其他软件服务时,会产生数据泄露的问题,请参见如何解决数据泄露进行定制化修改。
返回示例
{ "code":200, "requestId":"6af1efb7-c59c-4cee-9094-e1e3bbefb639", "instanceId":"i-0jl957dfri612gxxxxxx", "result":{ "RequestId":"B22723B7-FC31-18F5-A33E-1AF4C82736AA", "ServiceInstanceId":"si-8722386303094axxxxxx", "LicenseMetadata":"{\"TemplateName\":\"Custom_Image_Ecs\",\"SpecificationName\":\"\",\"CustomData\":\"xxxx\"}", "TrialType":"NotTrial", "Token":"58d4574bd0d967bb431cd8936b5e80c4", "ExpireTime":"2024-08-28T06:27:08Z", "ServiceId":"service-1e2e93c150084exxxxxx", "Components":"{\"package_version\":\"yuncode55xxxxxxxx\",\"SystemDiskSize\":\"40\",\"DataDiskSize\":\"100\"}" } }
主要参数解释如下。
参数
描述
示例值
ServiceInstanceId
服务实例ID。
si-8722386303094axxxxxx
ServiceId
服务ID。
service-1e2e93c150084exxxxxx
ExpireTime
服务实例的到期时间。
2024-08-28T06:27:08Z
LicenseMetadata
元数据。
需要在自定义售卖配置中定义该数据。
{\"TemplateName\":\"Custom_Image_Ecs\",\"SpecificationName\":\"\",\"CustomData\":\"xxxx\"}
Components
云市场额外计费项信息。
{\"package_version\":\"yuncode55xxxxxxxx\",\"SystemDiskSize\":\"40\",\"DataDiskSize\":\"100\"}