Поделиться через


Справочник по системе ценообразования

В этой статье представлен обзор таблицы системы ценообразования, включая схему и примеры запросов. Таблица цен предоставляет доступ к журналу цен SKU журнала. Запись добавляется при каждом изменении цены SKU. Эти журналы помогают выполнять анализ затрат и отслеживать изменения цен.

Путь к таблице: эта системная таблица расположена по адресу system.billing.list_prices.

Схема таблицы цен

В таблице ценовой системы используется следующая схема:

Имя столбца Тип данных Description Пример
price_start_time TIMESTAMP Время, когда эта цена стала эффективной в формате UTC 2023-01-01T09:59:59.999Z
price_end_time TIMESTAMP Время, когда эта цена перестала быть эффективной в формате UTC 2023-01-01T09:59:59.999Z
account_id строка Идентификатор учетной записи, для который был создан отчет 1234567890123456
sku_name строка Имя номера SKU STANDARD_ALL_PURPOSE_COMPUTE
cloud строка Имя облака, к этому относится цена. Возможные значения: AWS, AZUREи GCP. AWS, AZURE или GCP
currency_code строка Валюта, в которую выражается цена USD
usage_unit строка Единица измерения, которая монетизирована. DBU
pricing struct Структурированное поле данных, включающее сведения о ценах на опубликованный список цен. Ключ default всегда возвращает одну цену, которую можно использовать для простых долгосрочных оценок. Ключ promotional представляет временную рекламную цену, которую все клиенты получают для оценки затрат в течение временного периода. Ключ effective_list разрешает список и рекламную цену и содержит эффективную цену по списку, используемую для вычисления стоимости. Некоторые модели ценообразования также могут включать дополнительные ключи, которые предоставляют дополнительные сведения. {

"default": "0.10",

"promotional": {"default": "0.07"},

"effective_list": {"default": "0.07"}

}

Примеры запросов

Для ответов на распространенные вопросы о ценах SKU можно использовать следующие примеры запросов:

Примеры запросов, касающихся наблюдаемости затрат на задание, см. в разделе "Мониторинг затрат на задание" с помощью системных таблиц.

Найдите цену на определенный номер SKU по определенной дате.

Так как таблица содержит только записи в течение времени, когда цена SKU изменяется, необходимо искать самые последние изменения цен на или до даты.

SELECT sku_name, price_start_time, pricing.default
FROM system.billing.list_prices
WHERE sku_name = 'STANDARD_ALL_PURPOSE_COMPUTE'
AND price_start_time <= "2023-01-01"
ORDER BY price_start_time DESC
LIMIT 1

Просмотр общих затрат на все, что использовал определенный настраиваемый тег в течение предыдущего календарного месяца

Примечание.

Обязательно замените ключ и значение пользовательского тега.

SELECT
 SUM(usage.usage_quantity * list_prices.pricing.effective_list.default)
 as `Total Dollar Cost`
FROM system.billing.usage
JOIN system.billing.list_prices ON list_prices.sku_name = usage.sku_name
WHERE usage.custom_tags.{{ tag_key }} = {{ tag_value }}
AND usage.usage_end_time >= list_prices.price_start_time
AND (list_prices.price_end_time IS NULL OR usage.usage_end_time < list_prices.price_end_time)
AND usage.usage_date BETWEEN "2023-05-01" AND "2023-05-31"

Просмотр цен, изменившихся в течение нескольких месяцев

SELECT sku_name, price_start_time, pricing.default
FROM system.billing.list_prices
WHERE price_start_time BETWEEN "2023-05-01" AND "2023-07-01"

Оценка затрат на надстройку на использование в предыдущем календарном месяце

Этот запрос применяет простую процентную долю для всего использования за период. Обратите внимание, что это может немного отличаться от фактической монетизации из-за того, как управляются права для некоторых надстроек. Замените ставку надстроек на ставку учетной записи.

SELECT SUM(usage.usage_quantity * list_prices.pricing.effective_list.default) * {{ add_on_rate }} as `Total Add-On Dollar Cost`
FROM system.billing.usage
JOIN system.billing.list_prices ON list_prices.sku_name = usage.sku_name
  WHERE usage.usage_end_time >= list_prices.price_start_time
  AND (list_prices.price_end_time IS NULL OR usage.usage_end_time < list_prices.price_end_time)
  AND usage.usage_date BETWEEN "2024-02-01" AND "2024-02-29"