Exportar datos de facturación a BigQuery

Las herramientas para supervisar, analizar y optimizar los costes se han convertido en una parte importante de la gestión del desarrollo. La exportación de la facturación a BigQuery te permite exportar automáticamente los datos de uso diario y los gastos estimados a lo largo del día al conjunto de datos de BigQuery que especifiques. Así podrás acceder a tus datos de facturación a través de BigQuery. Este método de exportación también sirve para exportar los datos a un archivo JSON.

También existe la posibilidad de realizar una exportación de archivos normales en formato CSV y JSON. Sin embargo, esta función captura un conjunto de datos más pequeño que la exportación a BigQuery. Para obtener más información sobre la exportación de archivos normales y los datos que se capturan con ella, consulta el artículo sobre cómo exportar datos de facturación a un archivo.

Habilitar la exportación de la facturación a BigQuery

Sigue estos pasos para habilitar la exportación de la facturación a BigQuery:

  1. Ve a la consola de Google Cloud Platform.
  2. Abre el menú situado en la parte izquierda 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 gestionar la facturación del proyecto actual. Si quieres utilizar otra cuenta de facturación, selecciona Administrar cuentas de facturación.
  4. Haz clic en Exportación de la facturación.
  5. Selecciona BigQuery Export.
  6. En la lista Proyecto, selecciona aquel en el que almacenas el conjunto de datos de BigQuery. Si aún no tienes un conjunto de datos de BigQuery, se te pedirá que lo crees.
  7. Si es necesario, sigue estos pasos para crear un conjunto de datos:

    1. En la interfaz de usuario web de BigQuery, haz clic en la flecha hacia abajo junto al nombre del proyecto y, a continuación, en Crear conjunto de datos.
    2. Especifica el ID del conjunto de datos, la Ubicación de datos y la Fecha de caducidad de tu conjunto de datos y haz clic en Aceptar.
  8. En la lista Conjunto de datos para exportar datos de facturación de la consola, especifica el conjunto de datos al que quieres exportar los datos. Si acabas de crear el conjunto de datos, deberás ponerle un nombre.

  9. Haz clic en Habilitar BigQuery Export.

Puede que tengas que esperar varias horas tras habilitar esta función antes de que puedas acceder a tus datos. La función de exportación de datos de facturación se encarga de trasladar tus datos a BigQuery de forma automática y en intervalos regulares. No obstante, la frecuencia de las actualizaciones en BigQuery varía en función de los servicios que utilices.

Información sobre las versiones de la tabla de exportación de datos de facturación: versión original y versión 1

Según cuando habilitaras la exportación de datos a BigQuery, es posible que veas más de una tabla en tu conjunto de datos. Si activaste esta función después de que se habilitara para el público general (a mediados de noviembre del 2017), solo se mostrará la versión 1 y puedes ignorar el resto de esta sección.

Si habilitaste la exportación de datos a BigQuery cuando dicha función se encontraba en fase beta, los datos de facturación exportados se transmitieron a dos tablas diferentes de tu conjunto de datos. Las tablas contenían dos versiones diferentes de los mismos datos: la versión original y la nueva versión 1.

Seguiremos ofreciendo ambos formatos por un tiempo limitado para que los participantes de la fase beta tengan acceso a ellos y, de este modo, puedan analizar sus datos de facturación mientras hacen la transición al esquema de la versión 1. Los nuevos datos de facturación se exportarán automáticamente a ambas tablas de BigQuery a medida que se vayan generando.

La versión de los datos se indica en el nombre de la tabla:

  • Versión original: gcp_billing_export_BILLING_ACCOUNT_ID
  • Versión 1: gcp_billing_export_v1_BILLING_ACCOUNT_ID

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

Hemos hecho varios cambios en el esquema de exportación: los nombres de algunas columnas se han cambiado para mantener la coherencia con el resto de productos de Google Cloud Platform y también hemos añadido algunas columnas más para incluir información útil relacionada con los costes.

Resumen de los cambios del esquema:

  • La columna product ahora se llama service.description.
  • La columna resource_type ahora se llama sku.description.
  • Las columnas start_time y end_time se llaman usage_start_time y usage_end_time respectivamente.
  • Hemos añadido la columna service.id.
  • Hemos añadido la columna sku.id.
  • Hemos añadido la columna export_time.

Puedes utilizar la columna sku.id para relacionar cada uno de tus elementos de línea con la lista de precios publicada en la página de precios de Google Cloud Platform y mediante la API Cloud Billing Catalog. En la columna export_time puedes consultar cuándo se actualizaron los datos de facturación por última vez.

Datos de facturación en BigQuery

En la siguiente tabla se detalla el contenido de los datos de facturación que se exportan a BigQuery.

Campo Tipo Descripción
billing_account_id Cadena El ID de la cuenta de facturación a la que está asociado el uso.
service.id (solo para la versión 1) Cadena El ID del servicio al que está asociado el uso.
service.description (versión 1)
product (versión original)
Cadena El servicio de Google Cloud Platform que informó sobre los datos de facturación.
sku.id (solo para la versión 1) Cadena El ID del recurso utilizado por el servicio. Para ver la lista completa de SKUs, consulta la página de SKUs de Google Cloud Platform.
sku.description (versión 1)
resource_type (versión original)
Cadena Descripción del tipo de recurso utilizado por el servicio. Por ejemplo, un tipo de recurso de Cloud Storage es Almacenamiento estándar EE. UU.
usage_start_time (versión 1)
start_time (versión original)
Marca de tiempo Marca de tiempo UNIX del momento en que empezó a utilizarse el servicio. Para obtener más información, consulta la documentación de BigQuery sobre los tipos de datos de las marcas de tiempo. Consulta también las diferencias entre los datos exportados y las facturas que aparecen más adelante.
usage_end_time (versión 1)
end_time (versión original)
Marca de tiempo Marca de tiempo UNIX del momento en que dejó de utilizarse el servicio. Para obtener más información, consulta la documentación de BigQuery sobre los tipos de datos de las marcas de tiempo. Consulta también las diferencias entre los datos exportados y las facturas que aparecen más adelante.
project.id Cadena El ID del proyecto que generó los datos de facturación.
project.name Cadena El nombre del proyecto que generó los datos de facturación.
project.labels.key Cadena Si hay etiquetas, la parte key del par clave/valor que incluye la etiqueta aplicada al proyecto en el que se produjo el uso. Para obtener más información, consulta el artículo sobre el uso de etiquetas.
project.labels.value Cadena Si hay etiquetas, la parte value del par clave/valor que incluye la etiqueta aplicada al proyecto en el que se produjo el uso. Para obtener más información, consulta el artículo sobre el uso de etiquetas.
labels.key Cadena Si hay etiquetas, la parte key del par clave/valor que incluye la etiqueta aplicada al recurso en el que se produjo el uso. Para obtener más información, consulta el artículo sobre el uso de etiquetas.
labels.value Cadena Si hay etiquetas, la parte value del par clave/valor que incluye la etiqueta aplicada al recurso en el que se produjo el uso. Para obtener más información, consulta el artículo sobre el uso de etiquetas.
cost Coma flotante La cantidad que se cargó en tu cuenta de facturación.
currency Cadena La moneda en la que se factura el coste. Para obtener más información, consulta el artículo dedicado a la moneda local para la facturación y los pagos.
currency_conversion_rate Coma flotante El tipo de cambio de dólares estadounidenses a la moneda local. Es decir, cost/currency_conversion_rate es el coste en dólares estadounidenses.
usage.amount Coma flotante La cantidad de usage.unit que se ha utilizado.
usage.unit Cadena La unidad básica en la que se mide el uso de los recursos. Por ejemplo, la unidad básica para medir el almacenamiento estándar es byte/segundo.
usage.amount_in_pricing_units Coma flotante La cantidad de usage.pricing_unit que se ha utilizado. Este campo muestra los datos desde el 22 de enero del 2018 hasta la actualidad.
usage.pricing_unit Cadena La unidad en la que se mide el uso de los recursos, en función de la API Catalog (actualmente en versión beta). Este campo muestra los datos desde el 22 de enero del 2018 hasta la actualidad.
credits.name Cadena Descripción del crédito aplicado a la cuenta de facturación.
credits.amount Coma flotante La cantidad de crédito que se aplica al uso. El crédito se muestra siempre como un importe negativo y el coste total se calcula de la siguiente forma: cost + credits.amount.
export_time (solo para la versión 1) Marca de tiempo El tiempo de procesamiento asociado a los nuevos datos añadidos. Este tiempo aumenta con cada nueva exportación.
Consulta también las diferencias entre los datos exportados y las facturas que aparecen más adelante.

Información sobre las etiquetas

En los conjuntos de datos de BigQuery aparecen columnas para las etiquetas, pero algunos de los valores estarán vacíos en la versión actual. Los datos de exportación de las etiquetas se rellenarán de forma progresiva a medida que cada servicio lo proporcione.

Diferencias entre los datos exportados y las facturas

Las consultas en los campos de marca de tiempo pueden ofrecer información sobre el uso reciente que no se ha incluido en la factura, por eso puede que los datos que devuelve la consulta no coincidan exactamente con los de tu factura.

Estos son algunos de los campos de marca de tiempo:

  • usage_start_time (versión 1) o start_time (versión original)
  • usage_end_time (versión 1) o end_time (versión original)
  • export_time

Errores y ajustes

Es muy poco probable que los datos de facturación contengan errores o que sea necesario ajustarlos. No obstante, en tal caso se añadirán datos de facturación con los que rectificar la información. Todas las columnas permanecerán igual, salvo las siguientes:

  • cost
  • credit
  • usage.amount
  • export_time

Si necesitas saber cuáles son los datos nuevos, puedes realizar una consulta sobre export_time (solo para la versión 1). Si utilizas la versión original, puedes realizar una consulta siguiendo este ejemplo:

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

Para la consulta del ejemplo anterior, deberás utilizar el SQL antiguo, ya que el estándar no admite el separador del decorador de partición ($).