调用PushMeteringData推送计量数据。
接口说明
该命令只支持推送按量付费的计算巢服务实例的计量数据,推送的计量项需要定义为服务商上报。
请求参数
名称 | 类型 | 是否必选 | 描述 | 示例值 |
Metering | String | 是 | 示例中的参数说明如下:
说明
|
|
Token | String | 是 | 用于计算巢对比,判断推送方是否是服务商。 使用MD5加密算法对
|
|
返回参数
名称 | 类型 | 描述 | 示例值 |
RequestId | String | 计算巢请求ID。 | e6862d3a-9305-4289-8dd3-9c52a680228b |
PushMeteringDataRequestId | String | 云市场请求ID。 | 7lc658a2-tr41-****-****-c25es45vc248 |
Token | String | 用于服务商对比数字签名。请参见计算巢校验数字签名说明。 | 50130a063c6acf833280d23169898bd4 |
Success | Boolean | 成功状态标识。 | true |
示例
本示例是云市场按量付费的计算巢商品创建的ECS中发起调用。
获取ECS地域信息
在调用PushMeteringData前,您需要获取应用部署的ECS地域(regionld)信息。获取到的地域信息会在后续步骤中使用,因此需要服务商记录。
访问如下网址,获得地域信息。
curl http://100.100.100.200/latest/meta-data/region-id
地域返回示例。
cn-hangzhou
准备入参
"Metering":"[{\"StartTime\":\"1664451045\",\"EndTime\":\"1664451198\",\"Entities\":[{\"Key\":\"Frequency\",\"Value\":\"6\"}]}]","Token":"7aa81300b2aea77984b772495c8e4e83"
Metering:
[{\"StartTime\":\"1664451045\",\"EndTime\":\"1664451198\",\"Entities\":[{\"Key\":\"Frequency\",\"Value\":\"6\"}]}]
。说明由于本示例通过curl调用PushMeteringData,需要加入转译符号
\
。若使用代码调用,则不需要转译。Token:将字符串Metering&服务Key通过MD5加密获取32位小写的值
7aa81300b2aea77984b772495c8e4e83
。
请求示例
curl -H "Content-Type: application/json" -XPOST https://cn-hangzhou.axt.aliyun.com/computeNest/marketplace/push_metering_data -d '{"Metering":"[{\"StartTime\":\"1664451045\",\"EndTime\":\"1664451198\",\"Entities\":[{\"Key\":\"Frequency\",\"Value\":\"6\"}]}]","Token":"7aa81300b2aea77984b772495c8e4e83"}'
说明https://cn-hangzhou.axt.aliyun.com
中cn-hangzhou
为步骤1中获取的地域,具体调用时请按实际情况更换地域信息。返回示例
{ "RequestId":"4ca591b5-bc30-****-****-c4d0ec5d24ed", "Success":"true", "PushMeteringDataRequestId":"7lc658a2-tr41-****-****-c25es45vc248", "Token":"50130a063c6acf833280d23169898bd4" }
错误码
错误码 | 错误信息 | 描述 |
OperationDenied | The serviceInstance does not supported push metering data. | 非按量付费服务实例不支持推送。 |
Only metering entities classified as Custom and associated with a service can be pushed. The entity ${EntityId} is invalid. | 计量项****不支持推送,需要设置为服务商上报且完成计量项绑定。 | |
MissingParameter.${parametersName} | The input parameter "${parametersName}" that is mandatory for processing this request is not supplied. | 参数缺失。 |
InvalidParameter.${parametersName} | The provided parameter "${parametersName}" is invalid. | 参数非法。 |
EntityNotExist.ServiceInstance | The specified service instance cannot be found. | 服务实例不存在(非计算巢创建的ECS)。 |