調用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)。 |