Dokumentacja tabeli systemu cenowego
Ten artykuł zawiera omówienie tabeli systemu cen, w tym schematu i przykładowych zapytań. Tabela cen zapewnia dostęp do historycznego dziennika cen jednostek SKU. Rekord jest dodawany za każdym razem, gdy następuje zmiana ceny jednostki SKU. Te dzienniki mogą ułatwić przeprowadzanie analizy kosztów i monitorowanie zmian cen.
Ścieżka tabeli: ta tabela systemowa znajduje się w lokalizacji system.billing.list_prices
.
Schemat tabeli cen
Tabela systemu cenowego używa następującego schematu:
Nazwa kolumny | Typ danych | opis | Przykład |
---|---|---|---|
price_start_time |
timestamp | Czas obowiązywania tej ceny w formacie UTC | 2023-01-01T09:59:59.999Z |
price_end_time |
timestamp | Czas, w jaki ta cena przestała obowiązywać w formacie UTC | 2023-01-01T09:59:59.999Z |
account_id |
string | Identyfikator konta, dla którego został wygenerowany ten raport | 1234567890123456 |
sku_name |
string | Nazwa jednostki SKU | STANDARD_ALL_PURPOSE_COMPUTE |
cloud |
string | Nazwa chmury, do których ma zastosowanie ta cena. Możliwe wartości to AWS , AZURE i GCP . |
AWS , AZURE lub GCP |
currency_code |
string | Waluta, w jakiej ta cena jest wyrażona | USD |
usage_unit |
string | Jednostka miary, która jest zarabiana. | DBU |
pricing |
struktura | Pole danych ustrukturyzowanych, które zawiera informacje o cenach według opublikowanej stawki cenowej. Klucz default zawsze zwraca pojedynczą cenę, która może być używana do prostych szacunków długoterminowych. Klucz promotional reprezentuje tymczasową cenę promocyjną, którą otrzymują wszyscy klienci, które mogą być używane do szacowania kosztów w okresie tymczasowym. Klucz effective_list rozwiązuje listę i cenę promocyjną oraz zawiera obowiązującą cenę cennika używaną do obliczania kosztów. Niektóre modele cenowe mogą również zawierać dodatkowe klucze, które zapewniają więcej szczegółów. |
{ "default": "0.10", "promotional": {"default": "0.07"}, "effective_list": {"default": "0.07"} } |
Przykładowe zapytania
Aby odpowiedzieć na często zadawane pytania dotyczące cen jednostek SKU, możesz użyć następujących przykładowych zapytań:
- Znajdź cenę konkretnej jednostki SKU w określonej dacie
- Wyświetl całkowity koszt wszystkich elementów, które używały określonego tagu niestandardowego w poprzednim miesiącu kalendarzowym
- Wyświetl ceny, które uległy zmianie między miesiącami
- Oszacuj koszty dodatków do użycia w poprzednim miesiącu kalendarzowym
Aby zapoznać się z przykładami zapytań dotyczących możliwości obserwowania kosztów zadań, zobacz Monitorowanie kosztów zadań & wydajności za pomocą tabel systemowych.
Znajdź cenę katalogową konkretnej jednostki SKU w określonej dacie
Ponieważ tabela zawiera tylko rekordy czasu zmiany ceny jednostki SKU, należy wyszukać najnowszą zmianę ceny w dniu lub przed datą.
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
Wyświetlanie całkowitego kosztu wszystkich elementów, które używały określonego tagu niestandardowego w poprzednim miesiącu kalendarzowym
Uwaga
Pamiętaj, aby zastąpić klucz i wartość tagu niestandardowego.
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"
Wyświetlanie cen, które uległy zmianie między miesiącami
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"
Szacowanie kosztów dodatków do użycia w poprzednim miesiącu kalendarzowym
To zapytanie stosuje prostą wartość procentową do wszystkich użycia w danym okresie. Należy pamiętać, że może się to nieco różnić od rzeczywistej monetyzacji ze względu na sposób zarządzania uprawnieniami dla niektórych dodatków. Zastąp stawkę dodatku stawką swojego konta.
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"