Referência de tabela do sistema de preços

Este artigo fornece ao senhor uma visão geral da tabela do sistema de preços, incluindo o esquema e exemplos de consultas. A tabela de preços lhe dá acesso a um histórico log de SKU preços. Um registro é adicionado sempre que há uma alteração no preço de uma SKU. O site logs pode ajudar o senhor a realizar análises de custos e monitorar as mudanças nos preços.

Caminho da tabela: Essa tabela do sistema está localizada em system.billing.list_prices.

Esquema da tabela de preços

A tabela do sistema de preços usa o seguinte esquema:

Nome da coluna

Tipo de dados

Descrição

Exemplo

price_start_time

timestamp

A hora em que esse preço entrou em vigor em UTC

2023-01-01T09:59:59.999Z

price_end_time

timestamp

A hora em que esse preço deixou de ser efetivo na UTC

2023-01-01T09:59:59.999Z

account_id

string

ID do site account para o qual esse relatório foi gerado

1234567890123456

sku_name

string

Nome da SKU

STANDARD_ALL_PURPOSE_COMPUTE

cloud

string

Nome do site cloud ao qual este preço se aplica. Os valores possíveis são AWS, AZURE e GCP.

AWS, AZURE, ou GCP

currency_code

string

A moeda em que esse preço é expresso

USD

usage_unit

string

A unidade de medida que é monetizada.

DBU

pricing

struct

Um campo de dados estruturados que inclui informações de preços na taxa de preço de lista publicada. O key default sempre retornará um único preço que pode ser usado para estimativas simples de longo prazo. O key promotional representa um preço promocional temporário que todos os clientes recebem e que pode ser usado para a estimativa de custos durante o período temporário. O key effective_list resolve o preço de lista e o preço promocional e contém o preço de lista efetivo usado para calcular o custo. Alguns modelos de preços também podem incluir chaves adicionais que fornecem mais detalhes.

{

"default": "0.10",

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

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

}

Consultas de amostra

O senhor pode usar os exemplos de consultas a seguir para responder a perguntas comuns sobre preços de SKU:

Para exemplos de consultas relacionadas à observabilidade de custos do Job, consulte Monitorar custos do Job com tabelas de sistema.

Encontre o preço de tabela de uma SKU específica em uma data específica

Como a tabela só contém registros de momentos em que o preço da SKU muda, o senhor precisa procurar a mudança de preço mais recente na data ou antes dela.

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

Visualizar o custo total de tudo o que usou uma determinada tag personalizada durante o mês anterior

Observação

Certifique-se de substituir o tagpersonalizado key e o valor.

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"

Ver os preços que mudaram entre os meses

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"

Estimar os custos adicionais para uso no mês anterior

Essa consulta aplica uma porcentagem simples a todo o uso no período. Observe que isso pode diferir um pouco da monetização real devido à forma como os direitos de alguns add-ons são gerenciados. Substitua a tarifa adicional pela tarifa do site account.

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"