计算巢服务通过获取账单中云资源的具体使用量,作为上报数据值推送至云市场。
使用说明
推送频次:1次/天。
服务类型:私有部署、全托管服务。
适用场景:本上报源适用大部分场景,但实时性较弱。
适用计量项:Unit、Memory、VirtualCpu、NetworkIn、NetworkOut。
原理说明
计算巢创建服务实例时,会将服务实例创建资源打上计算巢系统标签,这些系统标签也会同步打在账单上。
账单系统通过标签筛选,因此可通过标签筛选服务实例对应的所有账单。每条账单中除了费用外,还有云资源的具体使用量。
计算巢通过获取账单中云资源的具体使用量,作为上报数据值推送至云市场。
由于账单出账存在一定延时,因此云市场订单会在服务实例删除后一天关闭订单。
配置映射
服务商在计算巢中,需要配置推送计量项与账单中产品的映射关系,计算巢将读取配置的映射关系到对应账单项中取值,计算后推送至对应计量项。
映射关系表达式
计算巢预定义了如下映射关系表达式,若有特殊需求,欢迎联系计算巢官方增加映射关系表达式。
云市场计量项Unit支持所有的映射。
云市场计量项  | 单位  | 账单Code(BillingItemCode)  | 单位  | 产品Code(ProductCode)  | 映射关系表达式  | 
NetworkOut  | Bit  | NetworkOut  | GB  | 
  | Usage * 1073741824  | 
VirtualCpu  | 无  | InstanceType  | 无  | 
  | InstanceConfig.CPU * Usage  | 
VirtualCpu  | 无  | cpu  | 无  | 
  | Usage  | 
Storage  | Byte  | SystemDisk  | GB  | 
  | Usage * 1073741824  | 
Storage  | Byte  | Disk  | GB  | 
  | Usage * 1073741824  | 
Storage  | Byte  | Storage  | GB  | 
  | Usage * 1073741824  | 
Memory  | GB  | mem  | MB  | 
  | Usage / 1024  | 
上表中,账单Code、产品Code是与映射关系表达式中的变量,均为分账账单API DescribeSplitItemBill的返回值,映射关系表达式为账单值与计量项值的映射计算方法。
示例
如下为API DescribeSplitItemBill截取的部分返回值,本示例计算VirtualCpu的上报结果。
根据映射关系表达式表分析JSON代码可知:
VirtualCpu的映射关系表达式为
InstanceConfig.CPU * Usage。从返回示例中可获取该参数的值为:2 * 15 = 30 核。
在云市场最终的上报结果为:
[{"InstanceId":"xxxx","StartTime":"xxxx","EndTime":"xxxx","Entities":[{"Key":"VirtualCpu","Value":"30","meteringAssit":"cmapi0006xxxx-VirtualCpu-1"}]}]
{
    "Message":"Successful!",
    "Data":{
        "BillingCycle":"2023-12",
        "Items":[
            {
                "ProductName":"云服务器 ECS",
                "InstanceConfig":"I/O 优化实例:I/O 优化实例;操作系统位数:64位;实例规格族:企业级实例 g6;实例规格:2核 8GB;操作系统的类型:Linux;体检服务:是;地域:乌兰察布;可用区:可用区A;CPU:2核;系统盘种类:高效云盘;镜像平台:linux;公网带宽:10240Kbps;虚拟交换机:vsw-0jlueyydpuekou6m1s1nn;网络类型:专有网络;系统盘大小:200GB;实例系列:系列 V;操作系统:centos_7_9_x64_20G_alibase_20231109.vhd;内存:8GBMB;是否是按流量计费:按使用流量;操作系统许可费用:付费;挂载点:/dev/xvdaGB;管家服务:是(管家)",
                "ProductCode":"ecs",
                "ServicePeriodUnit":"秒",
                "ServicePeriod":"54000",
                "UsageUnit":"台",
                "BillingItemCode":"InstanceType",
                "CommodityCode":"ecs",
                "Usage":"15.000000"
            }
        ]
    },
    "Code":"Success",
    "Success":true
}
