Exportar os dados de faturamento para o BigQuery

Ferramentas para monitorar, analisar e otimizar os custos tornaram-se uma parte importante do gerenciamento do desenvolvimento. A exportação do faturamento para o BigQuery permite exportar seu uso diário e suas estimativas de custo automaticamente ao longo do dia para o conjunto de dados BigQuery que você especificar. Em seguida, você poderá acessar seus dados de cobrança no BigQuery. Também é possível usar este método de exportação para exportar dados em um arquivo JSON.

A exportação regular de arquivos para CSV e JSON também está disponível. No entanto, se você usa a exportação regular de arquivos, deve estar ciente de que esse método captura um conjunto de dados menor do que a exportação para o BigQuery. Para mais informações sobre a exportação regular de arquivos e quais dados são capturados, consulte Exportar dados de faturamento para um arquivo.

Como ativar a exportação de faturamento para o BigQuery

Para ativar a exportação de faturamento para o BigQuery:

  1. Acesse o Console do Google Cloud Platform.
  2. Abra o menu lateral à esquerda e selecione Faturamento.
  3. Se você tiver mais de uma conta, selecione Ir para a conta de faturamento vinculada e gerencie o faturamento do projeto atual. Para localizar uma conta diferente, selecione Gerenciar contas de faturamento.
  4. Clique em Exportação de faturamento.
  5. Selecione BigQuery Export.
  6. Na lista de projetos, selecione o projeto onde seu conjunto de dados do BigQuery está armazenado. Se você ainda não tiver criado um conjunto de dados do BigQuery, receberá uma solicitação para criar um.
  7. Se necessário, crie um novo conjunto de dados:

    1. Na IU da Web do BigQuery, clique na seta para baixo ao lado do nome do projeto e em Criar novo conjunto de dados.
    2. Especifique o ID do conjunto de dados, o Local dos dados e a Expiração de dados e clique em OK.
  8. No console, na lista de Conjunto de dados de exportação de faturamento, especifique o conjunto para onde você quer exportar dados. Se você acabou de criar um conjunto de dados, escolha o nome do novo conjunto.

  9. Clique em Ativar BigQuery Export.

Depois de ativar o BigQuery Export, pode levar algumas horas para você começar a ver os seus dados. Os dados de faturamento exportam automaticamente seus dados para o BigQuery em intervalos regulares, mas a frequência de atualizações no BigQuery varia de acordo com os serviços que você está usando. Os carregamentos do BigQuery são compatíveis com o ACID. Por isso, se você consultar o conjunto de dados de exportação de faturamento do BigQuery enquanto os dados estiverem sendo carregados, não haverá dados parcialmente carregados. Saiba mais sobre as características do BigQuery.

Sobre as versões da tabela de exportação de dados de faturamento: original e v1

Dependendo de quando você ativou a exportação de dados para o BigQuery, é possível que haja mais de uma tabela no seu conjunto de dados. Se você ativou a exportação de dados para o BigQuery depois que o recurso foi lançado como com disponibilidade geral (em meados de novembro de 2017), verá apenas a versão v1 e poderá ignorar o restante desta seção.

Se você ativou a exportação de dados para o BigQuery enquanto o recurso estava na fase Beta, seus dados de faturamento exportados foram transferidos para duas tabelas diferentes no seu conjunto de dados. As tabelas continham duas versões diferentes dos mesmos dados: a versão original e a nova versão, v1.

Para os participantes da versão Beta, continuaremos a fornecer ambos os formatos por tempo limitado. Assim, você poderá continuar analisando seus dados de faturamento durante a transição para o esquema v1. Exportaremos automaticamente seus novos dados de faturamento para ambas as tabelas do BigQuery à medida que eles forem recebidos.

A versão dos dados é indicada pelos nomes de tabelas:

  • versão original: gcp_billing_export_BILLING_ACCOUNT_ID
  • versão v1: gcp_billing_export_v1_BILLING_ACCOUNT_ID

Diferenças entre a versão original e a v1

Fizemos várias alterações no esquema de exportação. Algumas colunas foram renomeadas para manter a consistência com o restante do Google Cloud Platform, e outras foram adicionadas para incluir informações úteis adicionais sobre seus custos.

Resumo das alterações do esquema:

  • Renomeamos a coluna product como service.description.
  • Renomeamos a coluna resource_type como sku.description.
  • Renomeamos as colunas start_time e end_time como usage_start_time e usage_end_time.
  • Adicionamos uma coluna service.id.
  • Adicionamos uma coluna sku.id.
  • Adicionamos uma coluna export_time.

Você pode usar a coluna sku.id para mapear cada um dos seus itens de linha para os preços de tabela publicados nas páginas de preços do Google Cloud Platform e por meio da API do catálogo de faturamento na nuvem. Use a coluna export_time para entender quando os dados de faturamento foram atualizados pela última vez.

Dados de faturamento no BigQuery

A tabela a seguir descreve o conteúdo dos dados de faturamento que são exportados para o BigQuery.

Campo Tipo Descrição
billing_account_id String O ID da conta de faturamento à qual o uso está associado.
invoice.month String

O ano e o mês (AAAAMM) da fatura que inclui os itens de linha de custo. Por exemplo: "201901" equivale a janeiro de 2019.

Use esse campo para ver as cobranças totais na fatura. Consulte Exemplos de consulta de exportação de faturamento para o BigQuery.

cost_type String

O tipo de custo representado por este item de linha: erro regular, imposto, ajuste ou arredondamento.

service.id (somente v1) String O código do serviço que está associado ao uso.
service.description (v1)
product (original)
String O serviço do Google Cloud Platform que informou os dados de faturamento.
sku.id (somente v1) String O código do recurso usado pelo serviço. Para ver a lista completa de SKUs, consulte SKUs do GCP.
sku.description (v1)
resource_type (original)
String Uma descrição do tipo de recurso usado pelo serviço. Por exemplo, um tipo de recurso para o Cloud Storage é o armazenamento padrão dos EUA.
usage_start_time (v1)
start_time (original)
Carimbo de data/hora Um carimbo de data/hora UNIX de quando o uso do serviço começou. Para mais informações, consulte a documentação do BigQuery sobre os tipos de dados do carimbo de data/hora. Veja também Diferenças entre os dados exportados e as faturas abaixo.
usage_end_time (v1)
end_time (original)
Carimbo de data/hora Um carimbo de data/hora UNIX de quando o uso do serviço terminou. Para mais informações, consulte a documentação do BigQuery sobre os tipos de dados do carimbo de data/hora. Veja também Diferenças entre os dados exportados e as faturas abaixo.
project.id String O código do projeto que gerou os dados de faturamento.
project.name String O nome do projeto que gerou os dados de faturamento.
project.ancestry_numbers String Os ancestrais na hierarquia de recursos para o projeto identificado pelo project.id especificado (por exemplo, my-project-123).

Por exemplo: /ParentOrgNumber/ParentFolderNumber/. Saiba mais sobre a Hierarquia de recursos.

project.labels.key String Se rótulos estiverem presentes, a parte key do par key:value que compõe o rótulo no projeto em que ocorreu o uso. Para mais informações sobre o uso de rótulos, consulte Como usar rótulos.
project.labels.value String Se rótulos estiverem presentes, a parte value do par key:value que compõe o rótulo no projeto em que ocorreu o uso. Para mais informações sobre o uso de rótulos, consulte Como usar rótulos.
labels.key String Se rótulos estiverem presentes, a parte key do par key:value que compõe o rótulo no recurso em que ocorreu o uso. Para mais informações sobre o uso de rótulos, consulte Como usar rótulos.
labels.value String Se rótulos estiverem presentes, a parte value do par key:value que compõe o rótulo no recurso em que ocorreu o uso. Para mais informações sobre o uso de rótulos, consulte Como usar rótulos.
system_labels.key String Se os rótulos do sistema estiverem presentes, a parte de chave do par de chave-valor que compreende o rótulo gerado pelo sistema no recurso onde o uso ocorreu. Veja também Rótulos do sistema disponíveis abaixo.
system_labels.value String Se os rótulos do sistema estiverem presentes, a parte valor do par de chave-valor que compreende o rótulo gerado pelo sistema no recurso onde o uso ocorreu. Veja também Rótulos do sistema disponíveis abaixo.
location.location String Localização do uso no nível de um país, região ou zona; ou global para recursos que não têm localização específica. Veja mais informações em Regiões e zonas.
location.country String Quando location.location é um país, região ou zona, este campo é o país de uso, por exemplo, US. Consulte também Regiões e zonas para mais informações.
location.region String Quando location.location é um país ou região, esse campo é a região de uso, por exemplo, us-central1. Veja mais informações em Regiões e zonas.
location.zone String Quando location.location é uma zona, este campo é a zona de uso, por exemplo, us-central1-a. Veja mais informações em Regiões e zonas.
cost Flutuante Custo do uso antes de quaisquer créditos. Para conseguir o custo sem os créditos, adicione qualquer credits.amount ao custo. Veja esta consulta de exemplo para mais informações.
currency String A moeda em que o custo é cobrado. Para mais informações, consulte Moeda local para faturamento e pagamentos.
currency_conversion_rate Flutuante A taxa de câmbio de dólares americanos para a moeda local. Ou seja, cost/currency_conversion_rate é o custo em dólares americanos.
usage.amount Flutuante A quantidade de usage.unit usada.
usage.unit String A unidade base em que o uso do recurso é medido. Por exemplo, a unidade base para armazenamento padrão é byte-segundos.
usage.amount_in_pricing_units Flutuante A quantidade de usage.pricing_unitusage.units usadas. Este campo retorna dados de 22 de janeiro de 2018 para o presente.
usage.pricing_unit String A unidade em que o uso de recursos é medido, de acordo com a Catalog API (atualmente em versão Beta). Este campo retorna dados de 22 de janeiro de 2018 para o presente.
credits.name String Uma descrição do crédito aplicado à conta de faturamento.
credits.amount Flutuante Valor do crédito aplicado ao uso. Os créditos são sempre valores negativos.
export_time (somente v1) Carimbo de data/hora Um tempo de processamento associado a novos dados anexos. Ele sempre aumentará com cada nova exportação.
Veja também Diferenças entre os dados exportados e as faturas abaixo.

Sobre os marcadores

Você verá colunas para marcadores no conjunto de dados do BigQuery, mas na versão atual alguns valores de marcadores estarão vazios. Os dados de exportação de rótulos serão preenchidos em horários diferentes para serviços diferentes, dependendo de quando cada serviço fornece esses dados.

Rótulos do sistema disponíveis

Os rótulos do sistema são pares de chave-valor para metadados importantes sobre o recurso que gerou o uso. Os seguintes rótulos de sistema são automaticamente incluídos no uso aplicável.

system_labels.key Exemplo system_labels.value Descrição
compute.googleapis.com/machine_spec n1-standard-1, custom-2-2048 Configuração da máquina virtual. Consulte Tipos de máquina para saber mais.
compute.googleapis.com/cores para n1-standard-4 é 4; para custom-2-2048 é 2 O número de vCPUs disponíveis para a máquina virtual.
compute.googleapis.com/memory para n1-standard-4 é 15360 (isto é, 15 GB * 1024 MB/GB); para custom-2-2048 é 2048 A quantidade de memória (em MB) disponível para a máquina virtual.

Diferenças entre os dados exportados e as faturas

As consultas em campos do carimbo de data e hora podem incluir o uso informado posteriormente e que não foi incluído na sua fatura. Como resultado, os dados retornados podem não ser mapeados diretamente para sua fatura.

Os campos do carimbo de data e hora incluem o seguinte:

  • usage_start_time (v1) ou start_time (original)
  • usage_end_time (v1) ou end_time (original)
  • export_time

Erros e ajustes

Você deve estar ciente de que, caso os dados de faturamento contenham um erro ou precisem de um ajuste, seus dados de faturamento serão anexados com dados que negam o erro. Todas as colunas permanecerão as mesmas, exceto para as seguintes:

  • cost
  • credit
  • usage.amount
  • export_time

Se você precisar determinar quais dados são novos, poderá consultar export_time (somente v1). Se você usar a versão original, poderá usar uma consulta como a do seguinte exemplo:

SELECT partition_id, MSEC_TO_TIMESTAMP(last_modified_time)
FROM [dataset_name.table_name$__PARTITIONS_SUMMARY__]

Na consulta de exemplo acima, é necessário usar o SQL legado, já que o SQL padrão não é compatível com o separador de decoradores de partição ($).

Esta página foi útil? Conte sua opinião sobre: