Exporta datos de facturación a BigQuery

Las herramientas para supervisar, analizar y optimizar los costos se volvieron una parte importante de la administración de la programación. La exportación de facturación a BigQuery te permite exportar el uso diario y las estimaciones de costos automáticamente durante el día a un conjunto de datos de BigQuery que especifiques. Luego, puedes acceder a tus datos de facturación a través de BigQuery. También puedes usar este método de exportación para exportar datos a un archivo JSON.

La exportación común a archivos CSV y JSON también está disponible. Sin embargo, si usas la exportación común a archivos, debes tener en cuenta que esta captura un conjunto de datos más pequeño que la exportación a BigQuery. Para obtener más información acerca de la exportación común a archivos y los datos que captura, consulta Exporta datos de facturación a un archivo.

Cómo habilitar la exportación de facturación a BigQuery

Para habilitar la exportación de facturación a BigQuery, haz lo siguiente:

  1. Ve a Google Cloud Platform Console.
  2. Abre el menú lateral izquierdo y selecciona Facturación.
  3. Si tienes más de una cuenta de facturación, selecciona Ir a la cuenta de facturación vinculada para administrar la facturación del proyecto actual. Para ubicar otra cuenta de facturación, selecciona Administra cuentas de facturación.
  4. Haz clic en Exportación de la facturación.
  5. Selecciona Exportar a BigQuery.
  6. En la lista Proyecto, selecciona el proyecto en el que se almacena tu conjunto de datos de BigQuery. Si todavía no creaste un conjunto de datos de BigQuery, se te pedirá que crees uno.
  7. Si necesitas crear un conjunto de datos nuevo, haz lo siguiente:

    1. En la IU web de BigQuery, haz clic en la flecha hacia abajo junto al nombre del proyecto y, luego, haz clic en Crear un conjunto de datos nuevo.
    2. Especifica el ID del conjunto de datos, la Ubicación de los datos y el Vencimiento de los datos de tu conjunto de datos. Luego, haz clic en Aceptar.
  8. En la consola, en la lista Conjunto de datos para la exportación de facturación, especifica un conjunto de datos al que desees exportar los datos. Si acabas de crear un conjunto de datos, selecciona el nombre de tu conjunto de datos nuevo.

  9. Haz clic en Habilitar la exportación a BigQuery.

Después de habilitar la exportación a BigQuery, es posible que tardes un par de horas en ver tus datos. Los datos de facturación exportan tus datos a BigQuery de forma automática en intervalos regulares, pero la frecuencia de las cargas a BigQuery varía según los servicios que uses. Ten en cuenta que las cargas de BigQuery son compatibles con ACID, por lo que si consultas el conjunto de datos para la exportación de facturación de BigQuery mientras se suben los datos, no encontrarás datos que se hayan subido de forma parcial. Obtén más información sobre las características de BigQuery.

Acerca de las versiones de las tablas para la exportación de datos de facturación: originales y v1

Es posible que veas más de una tabla en tu conjunto de datos, según la fecha en la que habilites la exportación de datos a BigQuery. Si habilitaste la exportación de datos a BigQuery después de que la función se liberó como GA (a mediados de noviembre de 2017), solo verás la versión v1 y podrás ignorar el resto de esta sección.

Si habilitaste la exportación de datos a BigQuery mientras la función se encontraba en la etapa Beta, tus datos de facturación exportados se transfirieron a dos tablas diferentes en tu conjunto de datos. Las tablas contienen dos versiones diferentes de los mismos datos: la versión original y la versión nueva, v1.

En el caso de los participantes de la etapa Beta, seguiremos proporcionando ambos formatos por un tiempo limitado, de manera que puedas continuar analizando tus datos de facturación mientras cambias al esquema v1. Exportaremos los datos de facturación nuevos automáticamente a ambas tablas de BigQuery a medida que se transfieran.

Los nombres de las tablas indican la versión de los datos:

  • versión original: gcp_billingexportBILLING_ACCOUNT_ID
  • versión v1: gcp_billing_exportv1BILLING_ACCOUNT_ID

Diferencias entre la versión original y la versión v1

Hicimos varios cambios en el esquema de exportación. Cambiamos el nombre de algunas columnas para mantener la coherencia con el resto de Google Cloud Platform y agregamos algunas columnas para incluir información útil adicional sobre tus costos.

Resumen de los cambios en el esquema:

  • Cambiamos el nombre de la columna product a service.description
  • Cambiamos el nombre de la columna resource_type a sku.description
  • Cambiamos el nombre de las columnas start_time y end_time a usage_start_time y usage_end_time
  • Agregamos la columna service.id
  • Agregamos la columna sku.id
  • Agregamos la columna export_time

Puedes usar la columna sku.id para asignar cada uno de tus elementos de una sola línea a la lista de precios publicada en las páginas de precios de Google Cloud Platform y en la API del catálogo de facturación de Cloud. Usa la columna export_time para saber cuándo se actualizaron los datos de facturación por última vez.

Datos de facturación en BigQuery

La siguiente tabla describe los contenidos de los datos de facturación que se exportan a BigQuery.

Campo Tipo Descripción
billing_account_id String El ID de la cuenta de facturación con la que se asocia el uso.
invoice.month String

El año y el mes (AAAAMM) de la factura que incluye los elementos de una sola línea del costo. Por ejemplo: “201901” es equivalente a enero de 2019.

Puedes usar este campo para obtener los cargos totales en la factura. Consulta Ejemplos de consultas de exportación de facturación a BigQuery.

cost_type String

Tipo de costo que representa este elemento de una sola línea: regular, impuesto, ajuste o error de redondeo.

service.id (solo v1) String El ID del servicio con el que se asocia el uso.
service.description (v1)
product (original)
String El servicio de Google Cloud Platform que informó los datos de facturación.
sku.id (solo v1) String El ID del recurso que usa el servicio. Para ver la lista completa de SKU, consulta SKU de GCP.
sku.description (v1)
resource_type (original)
String Una descripción del tipo de recurso que usa el servicio. Por ejemplo, un tipo de recurso de Cloud Storage es Almacenamiento estándar EE.UU.
usage_start_time (v1)
start_time (original)
Marca de tiempo Una marca de tiempo UNIX que indica el inicio del servicio. Para obtener más información, consulta la documentación de BigQuery sobre los tipos de datos de las marcas de tiempo. También puedes consultar las Diferencias entre los datos exportados y las facturas a continuación.
usage_end_time (v1)
end_time (original)
Marca de tiempo Una marca de tiempo UNIX del momento en el que finalizó el uso del servicio. Para obtener más información, consulta la documentación de BigQuery sobre los tipos de datos de las marcas de tiempo. También puedes consultar las Diferencias entre los datos exportados y las facturas a continuación.
project.id String El ID del proyecto que generó los datos de facturación.
project.name String El nombre del proyecto que generó los datos de facturación.
project.ancestry_numbers String Los principales en la jerarquía de recursos para el proyecto que identifica el project.id especificado (por ejemplo, my-project-123).

Por ejemplo: /ParentOrgNumber/ParentFolderNumber/. Obtén más información sobre la Jerarquía de recursos.

project.labels.key String Si hay etiquetas presentes, la porción clave del par clave-valor que comprende la etiqueta en el proyecto donde ocurrió el uso. Para obtener más información sobre el uso de etiquetas, consulta Usa etiquetas.
project.labels.value String Si hay etiquetas presentes, la porción valor del par clave-valor que comprende la etiqueta en el proyecto donde ocurrió el uso. Para obtener más información sobre el uso de etiquetas, consulta Usa etiquetas.
labels.key String Si hay etiquetas presentes, la porción clave del par clave-valor que comprende la etiqueta en el recurso donde ocurrió el uso. Para obtener más información sobre el uso de etiquetas, consulta Usa etiquetas.
labels.value String Si hay etiquetas presentes, la porción valor del par clave-valor que comprende la etiqueta en el recurso donde ocurrió el uso. Para obtener más información sobre el uso de etiquetas, consulta Usa etiquetas.
system_labels.key String Si las etiquetas del sistema están presentes, la parte de la clave del par clave-valor que comprende la etiqueta generada por el sistema en el recurso en el que se produjo el uso. También puedes consultar Etiquetas disponibles del sistema a continuación.
system_labels.value String Si las etiquetas del sistema están presentes, la parte del valor del par clave-valor que comprende la etiqueta generada por el sistema en el recurso en el que se produjo el uso. También puedes consultar Etiquetas disponibles del sistema a continuación.
location.location String Ubicación del uso a nivel de un país, región o zona (o global para recursos que no tienen una ubicación específica). También puedes consultar Regiones y zonas para obtener más información.
location.country String Cuando location.location es un país, región o zona, este campo es el país de uso, por ejemplo, US. También puedes consultar Regiones y zonas para obtener más información.
location.region String Cuando location.location es un país o región, este campo es la región de uso, por ejemplo, us-central1. También puedes consultar Regiones y zonas para obtener más información.
location.zone String Cuando location.location es una zona, este campo es la zona de uso, por ejemplo, us-central1-a. También puedes consultar Regiones y zonas para obtener más información.
cost Float El importe cargado a tu cuenta de facturación.
currency String La moneda en la que se factura el costo. Para obtener más información, consulta Moneda local para facturación y pagos.
currency_conversion_rate Float El tipo de cambio de dólares estadounidenses a la moneda local. Es decir, cost/currency_conversion_rate es el costo en dólares estadounidenses.
usage.amount Float La cantidad de usage.unit usada.
usage.unit String La unidad base en la que se mide el uso del recurso. Por ejemplo, la unidad base para el almacenamiento estándar es bytes por segundos.
usage.amount_in_pricing_units Float La cantidad de usage.pricing_unit usada. Este campo muestra datos desde el 22 de enero de 2018 hasta la fecha actual.
usage.pricing_unit String La unidad en la que se mide el uso del recurso, según la API de Catalog (actualmente en versión Beta). Este campo muestra datos desde el 22 de enero de 2018 hasta la fecha actual.
credits.name String Una descripción del crédito aplicado a la cuenta de facturación.
credits.amount Float El importe del crédito aplicado al uso. Los créditos siempre son valores negativos y el importe total se calcula como cost + credits.amount.
export_time (solo v1) Marca de tiempo Un tiempo de procesamiento asociado con los datos nuevos agregados. Esto aumentará con cada exportación nueva.
También puedes consultar las Diferencias entre los datos exportados y las facturas a continuación.

Acerca de las etiquetas

Verás columnas para las etiquetas en el conjunto de datos de BigQuery, pero los valores de algunas etiquetas estarán vacíos en la versión actual. Los datos de exportación de las etiquetas de los distintos servicios se propagarán en momentos diferentes. Esto depende de cuándo los envíen los servicios.

Etiquetas del sistema disponibles

Las etiquetas del sistema son pares clave-valor para metadatos importantes sobre el recurso que generó el uso. Las siguientes etiquetas del sistema se incluyen en el uso aplicable de manera automática.

system_labels.key Ejemplo system_labels.value Descripción
compute.googleapis.com/machine_spec n1-standard-1, custom-2-2048 Configuración de la máquina virtual. Consulta Tipos de máquinas para obtener más información.
compute.googleapis.com/cores para n1-standard-4 es 4 y para custom-2-2048 es 2 El número de CPU virtuales disponibles para la máquina virtual.
compute.googleapis.com/memory para n1-standard-4 es 15360 (es decir, 15 GB * 1024 MB/GB) y para custom-2-2048 es 2048 La cantidad de memoria (en MB) disponible para la máquina virtual.

Diferencias entre los datos exportados y las facturas

Las consultas sobre campos de marca de tiempo pueden incluir el uso informado en forma tardía que no se incluyó en tu factura, por lo que los valores podrían no coincidir a la perfección.

Entre los campos de marca de tiempo se incluyen los siguientes:

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

Errores y ajustes

Debes tener en cuenta que, en el caso poco probable de que tus datos de facturación contengan un error o se deban ajustar, los datos de facturación incluirán datos que anulan el error. Todas las columnas se conservarán, excepto las siguientes:

  • cost
  • credit
  • usage.amount
  • export_time

Si necesitas determinar qué datos son nuevos, puedes hacerlo con una consulta a export_time (solo v1). Si usas la versión original, puedes usar una consulta como la del siguiente ejemplo:

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

En la consulta de ejemplo anterior, debes usar el SQL heredado, ya que el SQL estándar no admite el separador del decorador de partición ($).

¿Te sirvió esta página? Envíanos tu opinión: