Я стараюсь глубоко разбираться в биллинге Google, особенно в правилах, которым вы следуете.
Рассмотрим случай с «управляемыми зонами» на платформе Google Cloud. Согласно документации "Managed Zones" в Google DNS - это почасовая оплата на ежемесячной основе.
Стоимость управляемых зон рассчитывается на основе количества управляемых зон, существующих одновременно, пропорционально проценту месяца, в котором они существуют. Эта пропорциональная ставка измеряется по часам. Зоны, которые существуют в течение доли часа, считаются существующими в течение всего часа.
Однако согласно «Cloud Billing Catalog API» счет за единицу «services / FA26-5236-B8B5 / skus / 8C22-6FC3-D478» выставляется посекундно на ежемесячной основе.
{
"name": "services/FA26-5236-B8B5/skus/8C22-6FC3-D478",
"skuId": "8C22-6FC3-D478",
"description": "ManagedZone",
"category": {
"serviceDisplayName": "Cloud DNS",
"resourceFamily": "Network",
"resourceGroup": "DNS",
"usageType": "OnDemand"
},
"serviceRegions": [
"global"
],
"pricingInfo": [
{
"summary": "",
"pricingExpression": {
"usageUnit": "mo",
"usageUnitDescription": "month",
"baseUnit": "s",
"baseUnitDescription": "second",
"baseUnitConversionFactor": 2505600,
"displayQuantity": 1,
"tieredRates": [
{
"startUsageAmount": 0,
"unitPrice": {
"currencyCode": "USD",
"units": "0",
"nanos": 200000000
}
},
{
"startUsageAmount": 25,
"unitPrice": {
"currencyCode": "USD",
"units": "0",
"nanos": 100000000
}
},
{
"startUsageAmount": 10000,
"unitPrice": {
"currencyCode": "USD",
"units": "0",
"nanos": 30000000
}
}
]
},
"aggregationInfo": {
"aggregationLevel": "ACCOUNT",
"aggregationInterval": "MONTHLY",
"aggregationCount": 1
},
"currencyConversionRate": 1,
"effectiveTime": "2020-02-07T17:41:49.051Z"
}
],
"serviceProviderName": "Google"
}
В поле pricingInfo.0.pricingExpression.baseUnit
указывается s
как базовая единица.
В этом случае мне кажется, что документация несовместима с ответом API.
Он неправильно интерпретирует ответ API? Если да, то как в целом определить через API, какова основная единица измерения использования при выставлении счетов?
baseUnit
- временной интервал дляunitPrice
. Мне неизвестен API для пропорциональной расчетной единицы. - person John Hanley   schedule 12.02.2020