定价系统表引用
重要
此功能目前以公共预览版提供。
本文概述了定价系统表,包括架构和示例查询。 通过定价表可以访问 SKU 定价的历史日志。 每次更改 SKU 价格时,都会增加一条记录。 这些日志有助于执行成本分析和监视定价更改。
可在 system.billing.list_prices
找到定价系统表。
定价表架构
定价系统表使用以下架构:
列名称 | 数据类型 | 说明 | 示例 |
---|---|---|---|
price_start_time |
timestamp | 此价格生效的时间 | 2023-01-01T09:59:59.999Z |
price_end_time |
timestamp | 此价格停止生效的时间 | 2023-01-01T09:59:59.999Z |
account_id |
string | 生成此报告的帐户的 ID | 1234567890123456 |
sku_name |
string | SKU 的名称 | STANDARD_ALL_PURPOSE_COMPUTE |
cloud |
string | 此价格适用的云的名称。 可能的值为 AWS 、AZURE 和 GCP 。 |
AWS 、AZURE 或 GCP |
currency_code |
string | 此价格所用的货币 | USD |
usage_unit |
string | 货币化的度量单位。 | DBU |
pricing |
struct | 一个结构化数据字段,其中包含按已发布的标价计算的定价信息。 关键值 default 将始终返回可用于简单估算的单个价格。 某些定价模型可能包括提供更多详细信息的其他关键值。 |
{"default": "0.10"} |
示例查询
可以使用以下示例查询来回答有关 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.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.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"