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


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

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

Table пути: эта система table находится в system.billing.list_prices.

Цены tableschema

Система ценообразования table использует следующие schema:

Column имя Тип данных 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 строка Имя облака, к этому относится цена. Возможные values: это AWS, AZUREи GCP. AWS, AZURE или GCP
currency_code строка Валюта, в которую выражается цена USD
usage_unit строка Единица измерения, которая монетизирована. DBU
pricing struct Структурированное поле данных, включающее сведения о ценах по опубликованной тарификации list. Ключ default всегда возвращает одну цену, которую можно использовать для простых долгосрочных оценок. Ключ promotional представляет собой временную рекламную цену, которую все клиенты get могут использовать для оценки затрат в течение временного периода. Ключ effective_list устраняет list и рассчитывает рекламную цену, а также содержит действительную цену list, используемую для вычисления стоимости. Некоторые модели ценообразования также могут включать дополнительные ключи, которые предоставляют дополнительные сведения. {

"default": "0.10",

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

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

}

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

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

Примеры запросов по наблюдаемости затрат на задание можно найти в разделе Мониторинг затрат на задание & производительности с помощью системы tables.

Найти цену list определенного номера SKU на определенную дату

Так как table содержит только записи в течение времени, когда цены 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"