Estructura de la exportación de datos estándar

En este documento se proporciona información de referencia sobre el esquema de los datos de costes de uso estándar de Facturación de Cloud que se exportan a cada tabla de BigQuery.

Esquema de los datos de costes de uso estándar

En el conjunto de datos de BigQuery, los datos de costes de uso estándar de Google Cloudse cargan en una tabla de datos llamada gcp_billing_export_v1_<BILLING_ACCOUNT_ID>.

En la siguiente información se describe el esquema de los Google Cloud datos de costes de uso estándar que se exportan a BigQuery. El esquema contiene información estándar sobre el uso de los costes de la cuenta de facturación de Cloud, como el ID de la cuenta, la fecha de la factura, los servicios, los SKUs, los proyectos, las etiquetas, las ubicaciones, los costes, el uso, los créditos, los ajustes y la moneda.

Cuando uses los datos de costes de uso estándar en BigQuery, ten en cuenta lo siguiente:

  • El esquema de la tabla de la exportación de datos estándar de Facturación de Cloud puede cambiar con el tiempo, por ejemplo, cuando se añaden campos nuevos a la exportación estándar. Para proteger tus consultas de futuros cambios en el esquema, en lugar de usar consultas que hagan referencia directamente a las columnas exportadas, te recomendamos que uses vistas de BigQuery para normalizar los datos de forma que la tabla presente el mismo esquema a tus consultas. Más información sobre esta limitación
  • Al seleccionar o crear un conjunto de datos de BigQuery para obtener datos de costes de uso estándar, puedes seleccionar cualquier ubicación de conjunto de datos que se pueda usar con datos de Facturación de Cloud.
  • Cuando habilites la exportación de datos de costes de uso estándar por primera vez en Facturación de Cloud, si seleccionas un conjunto de datos configurado para usar una ubicación multirregional (UE o EE. UU.), los datos de Facturación de Cloud estarán disponibles de forma retroactiva desde el inicio del mes anterior. Los datos se exportan en orden cronológico. Para el relleno inicial de los datos exportados, pueden transcurrir hasta cinco días antes de que se complete la exportación de tus datos de Facturación de Cloud retroactivos y empieces a ver tus datos de uso más recientes.
  • Si habilita la exportación de datos de costes de uso estándar y selecciona un conjunto de datos configurado para usar una ubicación de región admitida, sus datos de Facturación de Cloud estarán disponibles a partir de la fecha en la que haya habilitado la exportación.
  • Si has habilitado, inhabilitado y vuelto a habilitar la exportación de datos de costes de uso estándar, es posible que los datos de Facturación de Cloud no estén disponibles durante el periodo en el que la exportación de datos se haya inhabilitado explícitamente.
  • Más información sobre la frecuencia de las cargas de datos en tus tablas de BigQuery
  • Los datos de costes de uso estándar no incluyen datos de costes a nivel de recurso, como una máquina virtual o un SSD que genera uso del servicio. Si quieres exportar datos de costes a nivel de recurso a BigQuery para analizarlos, te recomendamos que habilites la exportación de datos de costes de uso detallados. Los datos de costes de uso detallados exportados incluyen todos los campos y la información que contienen los datos de costes de uso estándar.
  • Consulta otras limitaciones que pueden afectar a la exportación de tus datos de facturación a BigQuery, como los conjuntos de datos con claves de cifrado gestionadas por el cliente (CMEK) habilitadas.
Campo Tipo Descripción
billing_account_id Cadena

ID de la cuenta de facturación de Cloud a la que está asociado el uso.

En el caso de los distribuidores: en los costes de uso generados por una subcuenta de Facturación de Cloud, se trata del ID de la subcuenta, no del ID de la cuenta de Facturación de Cloud del distribuidor principal.

invoice.month Cadena

Muestra el año y el mes (en formato AAAAMM) de la factura que incluye los elementos de línea de coste. Por ejemplo, "201901" sería enero del 2019.

En este campo puedes consultar el total de los cargos de la factura. Consulta los ejemplos de consultas de BigQuery sobre datos de facturación exportados.

invoice.publisher_type Cadena

Indica el editor asociado a la transacción. Este campo admite la división de facturas entre transacciones realizadas directamente con Google (propias) y transacciones realizadas con un partner (terceros), lo que también indica qué normativas se pueden aplicar a la transacción.

Los valores posibles son:
  • GOOGLE: transacción propia no regulada por Google Cloud.
  • PARTNER: transacción de terceros, regulada o no, realizada por un partner.
cost_type Cadena

Es el tipo de coste que representa este elemento de línea: normal, impuestos, ajuste o error de redondeo.

service.id Cadena Se trata del ID del servicio al que está asociado el uso.
service.description Cadena El Google Cloud servicio que ha generado los datos de Facturación de Cloud.
sku.id Cadena El ID del recurso utilizado por el servicio. Para ver la lista completa de SKUs, consulta Google Cloud SKUs. Google Cloud
sku.description Cadena Es una descripción del tipo de recurso que el servicio ha usado. Por ejemplo, un tipo de recurso de Cloud Storage sería Standard Storage EE. UU..
usage_start_time Marca de tiempo Es la hora de inicio del periodo de uso horario en el que se ha calculado el coste indicado. El uso y los costes de todos los servicios se muestran desglosados por hora. Es decir, si se utiliza un servicio durante mucho tiempo, este uso estará distribuido en varios periodos de una hora.

Para obtener más información, consulta la documentación de BigQuery sobre los tipos de datos de marca de tiempo. Consulte también las diferencias entre los datos exportados y las facturas.

usage_end_time Marca de tiempo Es la hora de finalización del periodo de uso horario en el que se ha calculado el coste indicado. El uso y los costes de todos los servicios se muestran desglosados por hora. Es decir, si se utiliza un servicio durante mucho tiempo, este uso estará distribuido en varios periodos de una hora.

Para obtener más información, consulta la documentación de BigQuery sobre los tipos de datos de marca de tiempo. Consulte también las diferencias entre los datos exportados y las facturas.

project Estructura project contiene campos que describen el proyecto de facturación de Cloud, como el ID, el número, el nombre, ancestry_numbers y las etiquetas.
project.id Cadena Es el ID del Google Cloud proyecto que ha generado los datos de Facturación de Cloud.
project.number Cadena Es un identificador único, anonimizado y generado internamente del Google Cloud proyecto que ha generado los datos de Facturación de Cloud. En tus casos de asistencia y otras comunicaciones con los clientes, Google hará referencia a tus proyectos con este número.
project.name Cadena Es el nombre del Google Cloud proyecto que ha generado los datos de Facturación de Cloud.
project.ancestry_numbers Cadena Son los antecesores que tiene en la jerarquía de recursos el proyecto identificado por el valor project.id indicado (por ejemplo, mi-proyecto-123).

Por ejemplo: /ParentOrgNumber/ParentFolderNumber/. Consulta más información sobre la jerarquía de recursos.

project.ancestors Estructura

Este campo describe la estructura y el valor de la jerarquía de recursos de un elemento de línea de coste, incluidos los proyectos, las carpetas y las organizaciones. Los ancestros se ordenan del nodo a la raíz (proyecto, carpeta y, por último, organización).

project.ancestors.resource_name Cadena El nombre de recurso relativo de cada ancestro con el formato "resourceType/resourceNumber". Si usas project.ancestors.resource_name, obtendrás una visión más completa de project.ancestry_numbers.
project.ancestors.display_name Cadena El nombre que has creado para tu recurso en la consola.
project.labels.key Cadena Si hay etiquetas, es la parte correspondiente a la clave del par clave-valor que incluye la etiqueta del Google Cloud proyecto en el que se ha producido el uso. Para obtener más información sobre el uso de etiquetas, consulta el artículo Usar etiquetas.
project.labels.value Cadena Si hay etiquetas, es la parte correspondiente al valor del par clave-valor que incluye la etiqueta del Google Cloud proyecto en el que se ha producido el uso. Para obtener más información sobre el uso de etiquetas, consulta el artículo Usar etiquetas.
labels.key Cadena Si hay etiquetas, es la parte correspondiente a la clave del par clave-valor que incluye la etiqueta del Google Cloud recurso en el que se ha producido el uso. Para obtener más información sobre el uso de etiquetas, consulta el artículo Usar etiquetas.
labels.value Cadena Si hay etiquetas, es la parte correspondiente al valor del par clave-valor que incluye la etiqueta del Google Cloud recurso en el que se ha producido el uso. Para obtener más información sobre el uso de etiquetas, consulta el artículo Usar etiquetas.
system_labels.key Cadena Si hay etiquetas del sistema, es la parte correspondiente a la clave del par clave-valor que incluye la etiqueta generada por el sistema del recurso en el que se ha producido el uso. Consulta también las etiquetas disponibles del sistema.
system_labels.value Cadena Si hay etiquetas del sistema, es la parte correspondiente al valor del par clave-valor que incluye la etiqueta generada por el sistema del recurso en el que se ha producido el uso. Consulta también las etiquetas disponibles del sistema.
location.location Cadena Es la multirregión, el país, la región o la zona del uso. Si un recurso no está asociado a ninguna ubicación en concreto, se usa el valor global. Para obtener más información, consulta los artículos sobre geografía y regiones y Google Cloud ubicaciones.
location.country Cadena Cuando location.location es un país, una región o una zona, este campo es el país de uso (por ejemplo, US). Para obtener más información, consulta los artículos sobre geografía y regiones y Google Cloud ubicaciones.
location.region Cadena Cuando location.location es una región o una zona, este campo es la región de uso (por ejemplo, us-central1). Para obtener más información, consulta los artículos sobre geografía y regiones y Google Cloud ubicaciones.
location.zone Cadena Cuando location.location es una zona, este campo es la zona de uso (por ejemplo, us-central1-a). Para obtener más información, consulta los artículos sobre geografía y regiones y Google Cloud ubicaciones.
cost Flotante

Coste según el modelo de consumo aplicable, incluidos los descuentos negociados que se reflejan en los precios personalizados del contrato vinculado a tu cuenta de facturación de Cloud (si procede).

currency Cadena Es la moneda en la que se factura el coste. Para obtener más información, consulta el artículo sobre la moneda local de facturación y pago.
currency_conversion_rate Flotante Es 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 Flotante Es la cantidad de usage.unit que se ha utilizado.
usage.unit Cadena Es la unidad básica en la que se mide el uso del recurso. Por ejemplo, la unidad básica para medir el almacenamiento estándar es byte-seconds (bytes por segundo).
usage.amount_in_pricing_units Flotante Es la cantidad de usage.pricing_unit que se ha utilizado.
usage.pricing_unit Cadena Se trata de la unidad en la que se mide el uso del recurso, según la API Catalog de Facturación de Cloud.
credits Estructura credits contiene campos que describen la estructura y el valor de los créditos asociados a los SKUs de Google Cloud y de Google Maps Platform.
credits.id Cadena Si está, indica que hay un crédito asociado al SKU del producto. Los valores de credits.id pueden ser un identificador único alfanumérico (por ejemplo, 12-b34-c56-d78) o una descripción del tipo de crédito (por ejemplo, Descuento por compromiso de uso: CPU).

Si el campo credits.id está vacío, el SKU del producto no está asociado a ningún crédito.

credits.full_name Cadena Se trata del nombre del crédito asociado al SKU del producto. Es una descripción textual de un código alfanumérico credits.id. Por ejemplo: Crédito de prueba gratuita o Descuento por compromiso de uso basado en el gasto.

Los valores de credits.full_name solo están presentes en los SKUs que tienen un credits.id alfanumérico. Si el valor de credits.id es una descripción del tipo de crédito (por ejemplo, Descuento por compromiso de uso: CPU), el campo credits.full_name estará vacío.

credits.type Cadena Este campo describe la finalidad o el origen de credits.id. Entre los tipos de crédito, se incluyen los siguientes:
  • COMMITTED_USAGE_DISCOUNT: Contratos con compromiso de uso basados en recursos que se compran para usar Compute Engine a cambio de importantes descuentos en el uso de máquinas virtuales.
  • COMMITTED_USAGE_DISCOUNT_DOLLAR_BASE: Contratos con compromiso de uso basados en gastos que se compran para usar determinados servicios a cambio del compromiso de gastar un importe mínimo.
  • DISCOUNT: se usa cuando se obtienen créditos después de alcanzar un umbral de gasto definido en un contrato. En los informes de Facturación de Cloud que están disponibles en la consola de Google Cloud , este tipo de crédito aparece como Descuentos en función del gasto (contractuales).
  • FREE_TIER: algunos servicios permiten usar recursos sin coste económico hasta alcanzar ciertos límites. Para ofrecer este uso, esos servicios utilizan créditos.
  • PROMOTION: en este tipo de crédito están incluidos la Google Cloud prueba gratuita, los créditos de campañas de marketing y otras ayudas para usar Google Cloud. Cuando hay créditos promocionales disponibles, se considera que esos créditos son una forma de pago y se incluyen automáticamente en las facturas para reducir el importe total.
  • RESELLER_MARGIN: si eres distribuidor, este tipo de crédito margen de distribuidor indica los descuentos del programa para distribuidores que se han obtenido por cada elemento de línea que cumplía los requisitos.
  • SUBSCRIPTION_BENEFIT: crédito que se ha obtenido por adquirir suscripciones de larga duración a servicios a cambio de descuentos.
  • SUSTAINED_USAGE_DISCOUNT: este tipo de crédito es un descuento automático que se obtiene por ejecutar determinados recursos de Compute Engine durante gran parte de un mes de facturación.
credits.name Cadena Es una descripción del crédito que se aplica a la cuenta de Facturación de Cloud.
credits.amount Flotante Es la cantidad de crédito que se aplica al uso.
adjustment_info Estructura adjustment_info contiene campos que describen la estructura y el valor de un ajuste hecho en elementos de línea de coste asociados a una cuenta de Facturación de Cloud.

Los valores de adjustment_info solo están presentes si el elemento de línea de coste se ha generado en una modificación de Facturación de Cloud. La modificación puede ocurrir por motivos de corrección o de no corrección. El tipo adjustment_info contiene detalles sobre el ajuste tanto si se ha emitido para corregir un error como si se ha hecho por otros motivos.

adjustment_info.id Cadena Si está presente, indica que hay un ajuste asociado a un elemento de línea de coste. adjustment_info.id es el ID único de todos los ajustes asociados a un problema.
adjustment_info.description Cadena Es una descripción del ajuste y del motivo por el que se ha hecho.
adjustment_info.type Cadena

Indica el tipo de ajuste.

Entre los tipos se incluyen los siguientes:

  • USAGE_CORRECTION: corrección aplicada porque se ha registrado un uso que no era correcto.
  • PRICE_CORRECTION: corrección aplicada debido a reglas de precios incorrectas.
  • METADATA_CORRECTION: corrección de los metadatos que no cambia el coste.
  • GOODWILL: crédito que se da al cliente como cortesía.
  • SALES_BASED_GOODWILL: crédito que se da al cliente como cortesía porque figura en un contrato.
  • SLA_VIOLATION: crédito que se da al cliente debido a una infracción del objetivo de nivel de servicio.
  • BALANCE_TRANSFER: ajuste para transferir fondos de una cuenta de pagos a otra.
  • ACCOUNT_CLOSURE: ajuste para dejar a cero una cuenta cerrada.
  • GENERAL_ADJUSTMENT: modificación general de una cuenta de facturación.
adjustment_info.mode Cadena

Indica cómo se ha hecho el ajuste.

Entre los modos se incluyen los siguientes:

  • PARTIAL_CORRECTION: la corrección niega parcialmente el uso y el coste originales.
  • COMPLETE_NEGATION_WITH_REMONETIZATION: la corrección niega por completo el uso y el coste originales. Se emiten elementos de línea con el uso y el coste actualizados.
  • COMPLETE_NEGATION: la corrección niega por completo el uso y el coste originales. No se vuelve a monetizar ningún uso adicional.
  • MANUAL_ADJUSTMENT: el ajuste se asigna al coste y al uso de forma manual.
export_time Marca de tiempo Es la marca de tiempo asociada a una inclusión de datos de Facturación de Cloud. Este valor aumenta con cada nueva exportación.
Consulta también las diferencias entre los datos exportados y las facturas más abajo.
tags Estructura

Campos que describen la etiqueta, como clave, valor y espacio de nombres.

tags.key Cadena

Nombre abreviado o visible de la clave asociada a esta etiqueta concreta.

tags.value Cadena

Los recursos adjuntos a un tags.key. En un momento dado, solo se puede asociar un valor a un recurso para una clave determinada.

tags.inherited Booleano

Indica si un enlace de etiqueta se hereda (Tags Inherited = True) o si es directo/no heredado (Tags Inherited = False). Puede crear una vinculación de etiquetas con un recurso principal en la jerarquía de recursos.

tags.namespace Cadena

Representa la jerarquía de recursos que define la clave y los valores de las etiquetas. El espacio de nombres se puede combinar con los nombres cortos de la clave y el valor de la etiqueta para crear un nombre completo y único a nivel global para la clave o el valor de la etiqueta.

cost_at_list Flotante

Coste al precio según catálogo del modelo de consumo predeterminado.

transaction_type Cadena

El tipo de transacción del vendedor. El tipo de transacción puede ser uno de los siguientes:

  • GOOGLE = 1: servicios vendidos por Google Cloud.
  • THIRD_PARTY_RESELLER = 2: servicios de terceros revendidos por Google Cloud.
  • THIRD_PARTY_AGENCY = 3: servicios de terceros vendidos por un partner, con Google Cloud como agente.
seller_name Cadena

Nombre oficial del vendedor.

price Estructura

Campos que describen la estructura y los valores relacionados con los precios cobrados por el uso.

price.list_price Numérico

Precio según catálogo del SKU según el modelo de consumo predeterminado.

price.effective_price_default Numérico

Precio del SKU según el modelo de consumo predeterminado, incluidos los descuentos negociados que se reflejan en los precios personalizados del contrato vinculado a tu cuenta de facturación de Cloud (si procede).

price.list_price_consumption_model Numérico

Precio según catálogo del SKU según el modelo de consumo aplicable antes de que se reflejen los descuentos negociados en los precios personalizados del contrato vinculado a tu cuenta de facturación de Cloud (si procede).

price.effective_price Numérico

Precio del SKU según el modelo de consumo aplicable, incluidos los descuentos negociados que se reflejen en los precios personalizados del contrato vinculado a tu cuenta de facturación de Cloud (si procede).

price.tier_start_amount Numérico

Número de unidades del límite inferior del nivel de precios de un SKU. Para obtener más información, consulta Acerca de los niveles de precios.

price.unit Cadena

Unidad de uso en la que se especifica el precio y se mide el uso de los recursos.

price.pricing_unit_quantity Numérico

Número de unidades del límite inferior del nivel de precios de un SKU. Para obtener más información, consulta Acerca de los niveles de precios.

cost_at_effective_price_default Numérico

Coste según el modelo de consumo predeterminado, incluidos los descuentos negociados que se reflejan en los precios personalizados del contrato vinculado a tu cuenta de facturación de Cloud (si procede).

cost_at_list_consumption_model Numérico

Coste por el modelo de consumo aplicable antes de que se reflejen los descuentos negociados en los precios personalizados del contrato vinculado a tu cuenta de facturación de Cloud (si procede).

consumption_model Estructura

Campos que describen el modelo de consumo aplicable.

consumption_model.id Cadena

El ID del modelo de consumo.

consumption_model.description Cadena

Descripción del modelo de consumo.

Información sobre los datos de costes de uso estándar y detallados

En las siguientes secciones se describen los datos de costes de uso estándar y los datos de costes de uso detallados que se exportan a BigQuery.

Acerca de las etiquetas

Los datos de costes de una etiqueta específica solo muestran el uso desde la fecha en que se aplicó la etiqueta a un recurso. Por ejemplo, si añade la etiqueta environment:dev a una VM de Compute Engine el 15 de enero del 2024, cualquier análisis de environment:dev incluirá solo el uso de esa VM desde el 15 de enero.

También puede que vea datos de etiquetas en momentos diferentes para distintos servicios, en función de cuándo los proporcione cada servicio.

Etiquetas de sistema disponibles

Las etiquetas del sistema son pares clave-valor de metadatos importantes sobre el recurso que ha generado el uso. Las siguientes etiquetas del sistema se incluyen automáticamente en el uso aplicable.

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 más información sobre los tipos de máquina.
compute.googleapis.com/cores En el caso de n1-standard-4, es 4; en el de custom-2-2048, es 2. Número de vCPUs disponibles para la máquina virtual.
compute.googleapis.com/memory En el caso de n1-standard-4, es 15360 (es decir, 15 GB * 1024 MB/GB). En el caso de custom-2-2048, es 2048. Cantidad de memoria (en MB) disponible para la máquina virtual.
compute.googleapis.com/is_unused_reservation true; false Indica el uso que se ha reservado mediante Reservas zonales, pero que no se ha utilizado.
storage.googleapis.com/object_state live; noncurrent; soft_deleted; multipart Estado del objeto de almacenamiento al que se le aplica el cargo.

Diferencias entre los datos exportados y las facturas

LosGoogle Cloud productos envían datos de uso y costes a los procesos de Facturación de Cloud a intervalos variables. Por lo tanto, es posible que se produzca un retraso entre el uso de los servicios de Google Cloud y la disponibilidad del uso y los costes en Facturación de Cloud. Por lo general, los costes están disponibles en un día, pero a veces pueden tardar más de 24 horas.

Al final de un mes natural, es posible que la factura de ese mes no incluya los datos de uso más reciente y que se transfieran a la del mes siguiente.

Cuando consultas tus costes mediante campos de marca de tiempo, los datos devueltos pueden incluir un uso que se ha registrado tarde y que no se incluyó originalmente en la factura que se generó para el mismo mes de uso. Por lo tanto, es posible que los datos de facturación de Cloud que se devuelvan no se correspondan directamente con esa factura.

Estos son algunos de los campos de marca de tiempo:

  • usage_start_time
  • usage_end_time
  • export_time

Para devolver datos de facturación de Cloud que se correspondan directamente con una factura, haz una consulta en invoice.month en lugar de en los campos de marca de tiempo.

Impuestos

Desde el 1 de septiembre del 2020, los datos de costes de uso muestran la obligación fiscal de cada uno de sus proyectos, en lugar de un solo elemento de línea. Si tienes consultas o visualizaciones que dependen de datos fiscales, puede que tengas que actualizar las consultas para tener en cuenta estos cambios.

Por ejemplo, en el caso de los costes registrados antes del 1 de septiembre, los datos de costes de uso serán similares al siguiente ejemplo, que muestra una obligación fiscal total de 10 USD.

billing_account_id project.id cost_type cost
123456-ABCDEF-123456 example-project Normal 60 USD
123456-ABCDEF-123456 test-project Normal 40 USD
123456-ABCDEF-123456 [empty] Impuestos 10 USD

En el caso de los costes registrados después del 1 de septiembre, los 10 $se desglosan en 6 $por example-project y 4 $por test-project:

billing_account_id project.id cost_type cost
123456-ABCDEF-123456 example-project Normal 60 USD
123456-ABCDEF-123456 test-project Normal 40 USD
123456-ABCDEF-123456 example-project Impuestos 6 $
123456-ABCDEF-123456 test-project Impuestos 4 $

Errores y ajustes

En el caso poco probable de que sus datos de Facturación de Cloud contengan un error o requieran un ajuste, se les añadirán datos correctivos. Estos ajustes se incluyen en una de estas dos categorías: modificaciones o correcciones de facturación.

Modificaciones de facturación

Las modificaciones de facturación aparecen como elementos de línea independientes. Si has recibido una modificación de la facturación, se mostrará una nueva línea de pedido en tu exportación de Facturación de Cloud a BigQuery con el cambio. Los ajustes que se muestran corresponden a los documentos de factura, nota de crédito y nota de débito disponibles en el área Documentos de la sección Facturación de la consola de Google Cloud .

Para obtener más información sobre las modificaciones de la facturación y cómo se aplican, consulta Información sobre las notas y los ajustes.

Correcciones

Las correcciones se muestran como datos nuevos que anulan los datos incorrectos de los SKUs de origen. En algunos casos, los datos nuevos sustituyen al cargo incorrecto. Todas las columnas de la exportación de datos de facturación coincidirán con los datos originales, excepto las siguientes:

  • cost
  • credit
  • usage.amount
  • export_time

Por ejemplo, supongamos que se te cobran 10 USD por el uso de SKU A el 1 de enero. En la factura de enero (emitida a principios de febrero), verás un cargo de 10 USD por SKU A. Sin embargo, el 2 de febrero, Google Cloud emitió una corrección contra SKU A, lo que redujo el coste de uso a 5 USD. Recibirás dos elementos de línea adicionales en la factura de febrero (que se emite a principios de marzo):

  • -10 USD por el uso del 1 de enero (se anula el cargo original)
  • 5 USD por el uso del 1 de enero (se indica el cargo previsto)

Estos nuevos elementos tienen una columna adjustment_info en la exportación de datos de facturación. La factura original de enero, en la que se muestra el cargo adicional, no se modificará. Para verificar los cargos en la exportación de datos de facturación, consulta los costes por usage_start_time y agrúpalos por Day. En estas vistas, se acumulan las correcciones o los cargos por el uso monetizado tardíamente, por lo que no tienes que preocuparte por los datos incorrectos temporales.

Si quieres obtener información más detallada sobre tus correcciones, consulta todos los cargos de un mes de facturación y busca los cargos cuya fecha de uso sea anterior al mes de facturación. Estos cargos son el resultado de correcciones o del uso monetizado tardíamente.

En el siguiente código de ejemplo se muestra cómo crear una consulta básica que devuelva el coste total de las correcciones o del uso monetizado tardíamente:

SELECT
  SUM(cost)
    + SUM(IFNULL((SELECT SUM(c.amount)
      FROM   UNNEST(credits) c), 0))
    AS total
FROM `project.dataset.gcp_billing_export_v1_XXXXXX-XXXXXX-XXXXXX`
WHERE
  invoice.month = '202311' AND
  DATE(TIMESTAMP_TRUNC(usage_start_time, Day, 'US/Pacific')) < '2023-11-01';

Para ver un ejemplo de consulta que devuelve un desglose de costes por servicio de los cargos de una factura, donde la fecha de uso es anterior al mes de la factura, consulta el artículo Consultar los detalles de los costes para ver las correcciones o el uso monetizado tardíamente por servicio de un mes de facturación específico en "Consultas de ejemplo para la exportación de datos de Facturación de Cloud".

Acerca de los créditos promocionales en contratos de precios personalizados

Si tienes un contrato de precios personalizado, es posible que recibas créditos promocionales para usar en Google Cloud como parte del contrato. Por ejemplo, puedes recibir 1000 USD para usar en recursos de Compute Engine. Los créditos promocionales suelen considerarse una forma de pago. Cuando hay créditos promocionales disponibles, se aplican automáticamente para reducir el importe total de la factura.

En los términos de tu contrato se especifica si los créditos promocionales se aplican a los costes calculados al precio de catálogo de un SKU o al precio neto (después de los descuentos).

Si tus créditos promocionales se aplican a los costes que se calculan al precio de catálogo, en el informe Tabla de costes, hay un servicio llamado Invoice, con un SKU llamado Contract billing adjustment. Este SKU ajusta tus créditos para que se apliquen a los costes según el precio de catálogo. Para ver el uso al que se refiere el ajuste, consulta las columnas system.labels. La clave de system.labels.key es cloud-invoice.googleapis.com/sku_id y el valor de system.labels.value contiene el ID de SKU al que se han aplicado el crédito y el ajuste.

Acerca de las etiquetas

Las etiquetas son recursos en forma de pares clave-valor que se pueden asociar a recursos directamente o mediante herencia. Puede usar etiquetas para hacer devoluciones de cargo, auditorías y otros análisis de asignación de costes. También puedes usar etiquetas y la aplicación condicional de políticas para tener un control preciso en toda tu jerarquía de recursos.

Las etiquetas tienen un modelo de permisos sólido y pueden admitir la herencia, la gestión centralizada, la estandarización de la nomenclatura y la integración del motor de políticas, mientras que las etiquetas son una herramienta independiente que te permite anotar recursos.

Los datos de las etiquetas aparecen en las exportaciones de BigQuery de recursos, proyectos, carpetas y organizaciones.

Etiquetas disponibles

Las exportaciones Costes estándar y Costes detallados de recursos, proyectos, carpetas y organizaciones incluyen los siguientes campos de datos de etiquetas: Clave de etiquetas, Valor de etiquetas, Etiquetas heredadas y Espacio de nombres de etiquetas.

Las etiquetas a nivel de recurso de la exportación de datos de facturación de Cloud están disponibles para los siguientes recursos:

  • Clústeres, instancias y copias de seguridad de AlloyDB para PostgreSQL
  • Repositorios de Artifact Registry
  • Instancias de Bigtable
  • Servicios y tareas de Cloud Run
  • Segmentos de Cloud Storage
  • Instancias de Compute Engine
  • Instancias de Memorystore para Redis
  • Secretos globales y regionales de Secret Manager
  • Instancias de Spanner
  • Bases de datos de Firestore

Limitaciones de las etiquetas

  • Las etiquetas pueden tardar hasta una hora en propagarse a las exportaciones de BigQuery. Si se ha añadido o eliminado una etiqueta en la última hora, o si un recurso lleva menos de una hora, es posible que no aparezca en la exportación.

Ejemplos de consultas de costes de uso estándar

En esta sección se ofrecen ejemplos de cómo consultar los datos de costes de uso estándar de Facturación de Cloud exportados a BigQuery.

Especificar el nombre de la tabla que se va a usar en las consultas

En estos ejemplos, para consultar los datos de Facturación de Cloud en BigQuery, debes especificar el nombre de la tabla en la cláusula FROM. El nombre de la tabla se determina mediante tres valores: project.dataset.BQ_table_name.

Valores comunes utilizados en las consultas de costes estándar de ejemplo

En los ejemplos de consultas de esta sección se usa el siguiente valor para Nombre de tabla: project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX

Estos ejemplos de consultas también funcionan con los datos de costes de uso detallados exportados a BigQuery, aunque no se han escrito para recuperar ninguna de las informaciones a nivel de recurso que se proporcionan con la opción de exportación de costes de uso detallados.

Devuelve los costes totales de una factura

Las siguientes consultas muestran dos formas de ver los valores de costes y créditos mediante los datos de facturación exportados.

  • El campo total suma directamente los valores de coste y crédito de coma flotante, lo que puede provocar errores de redondeo de coma flotante.
  • El campo total_exact convierte los costes y los valores de crédito a micro antes de sumarlos y, después, los vuelve a convertir a dólares para evitar el error de redondeo de coma flotante.

Ejemplo 1: Suma de todos los costes por factura

Esta consulta muestra el total de la factura de cada mes, que es la suma de los costes normales, los impuestos, los ajustes y los errores de redondeo.

SQL estándar

SELECT
  invoice.month,
  SUM(cost)
    + SUM(IFNULL((SELECT SUM(c.amount)
                  FROM UNNEST(credits) c), 0))
    AS total,
  (SUM(CAST(cost * 1000000 AS int64))
    + SUM(IFNULL((SELECT SUM(CAST(c.amount * 1000000 as int64))
                  FROM UNNEST(credits) c), 0))) / 1000000
    AS total_exact
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
GROUP BY 1
ORDER BY 1 ASC
;

Por ejemplo, el resultado de la consulta anterior podría ser el siguiente:

Acceso mes total total_exact
1 201901 1005,004832999999984 USD $1005.00
2 201902 992,3101739999999717 USD 992,31 $
3 201903 1220,761089999999642 USD 1220,76 USD

Ejemplo 2: Devolver detalles por tipo de coste y mes de facturación

Esta consulta muestra los totales de cada cost_type de cada mes. Los tipos de coste incluyen los costes normales, los impuestos, los ajustes y los errores de redondeo.

SQL estándar

SELECT
  invoice.month,
  cost_type,
  SUM(cost)
    + SUM(IFNULL((SELECT SUM(c.amount)
                  FROM   UNNEST(credits) c), 0))
    AS total,
  (SUM(CAST(cost * 1000000 AS int64))
    + SUM(IFNULL((SELECT SUM(CAST(c.amount * 1000000 as int64))
                  FROM UNNEST(credits) c), 0))) / 1000000
    AS total_exact
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
GROUP BY 1, 2
ORDER BY 1 ASC, 2 ASC
;

Por ejemplo, el resultado de la consulta anterior podría ser el siguiente:

Acceso mes cost_type total total_exact
1 201901 normal 1000,501209987994782 USD 1000,50 USD
2 201901 rounding_error –$0.500489920049387 –0,50 USD
3 201901 impuestos 10,000329958477891 USD 10,00 USD
4 201901 ajuste –5,002572999387045 $ –5,00 USD

Ejemplos de consultas con etiquetas

En los siguientes ejemplos se muestran otras formas de consultar los datos con etiquetas.

En los ejemplos de esta sección, se presupone lo siguiente:

  • Tienes dos aplicaciones (exprimidor de pomelos y triturador de chocolate).
  • Cada aplicación tiene dos entornos (desarrollo y producción).
  • El entorno de desarrollo tiene una instancia pequeña por aplicación.
  • El entorno de producción tiene una instancia pequeña en América y otra en Asia.
  • Cada instancia está etiquetada con la aplicación y el entorno.
  • Tienes una instancia sin etiquetas que usas para hacer experimentos.

El importe total de la factura es de 24 USD, con el siguiente desglose:

Instancia Etiquetas Coste total
Instancia pequeña con 1 vCPU ejecutándose en América Ninguna 4 $
Instancia pequeña con 1 vCPU ejecutándose en América app: chocolate-masher
environment: dev
2 USD
Instancia pequeña con 1 vCPU ejecutándose en América app: grapefruit-squeezer
environment: dev
3 USD
Instancia pequeña con 1 vCPU ejecutándose en América app: chocolate-masher
environment: prod
3,25 $
Instancia pequeña con 1 vCPU ejecutándose en Asia app: chocolate-masher
environment: prod
3,75 USD
Instancia pequeña con 1 vCPU ejecutándose en América app: grapefruit-squeezer
environment: prod
3,50 USD
Instancia pequeña con 1 vCPU ejecutándose en Asia app: grapefruit-squeezer
environment: prod
4,50 USD

Hacer consultas con todas las filas sin agrupar

Para obtener más detalles sobre los costes, es necesario hacer una consulta sobre cada fila sin agrupar. Supongamos que todos los campos son iguales (proyecto, servicio, etc.), excepto las etiquetas y la descripción del SKU.

SQL estándar

SELECT
  sku.description,
  TO_JSON_STRING(labels) as labels,
 cost as cost
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`;

SQL antiguo

TO_JSON_STRING not supported.
Fila Descripción del SKU Etiquetas Coste
1 Instancia pequeña con 1 vCPU ejecutándose en América [] 4 $
2 Instancia pequeña con 1 vCPU ejecutándose en América [{"key":"app","value":"chocolate-masher"},{"key":"environment","value":"dev"}] 2 $
3 Instancia pequeña con 1 vCPU ejecutándose en América [{"key":"app","value":"grapefruit-squeezer"},{"key":"environment","value":"dev"}] 3 $
4 Instancia pequeña con 1 vCPU ejecutándose en América [{"key":"app","value":"chocolate-masher"},{"key":"environment","value":"prod"}] 3,25 $
5 Instancia pequeña con 1 vCPU ejecutándose en Asia [{"key":"app","value":"chocolate-masher"},{"key":"environment","value":"prod"}] 3,75 $
6 Instancia pequeña con 1 vCPU ejecutándose en América [{"key":"app","value":"grapefruit-squeezer"},{"key":"environment","value":"prod"}] 3,50 $
7 Instancia pequeña con 1 vCPU ejecutándose en Asia [{"key":"app","value":"grapefruit-squeezer"},{"key":"environment","value":"prod"}] 4,50 $
TOTAL 24 $

Agrupar por mapa de etiqueta como una cadena JSON

Esta es una forma fácil y rápida de desglosar el coste de cada combinación de etiquetas.

SQL estándar

SELECT
  TO_JSON_STRING(labels) as labels,
  sum(cost) as cost
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
GROUP BY labels;

SQL antiguo

TO_JSON_STRING not supported.
Fila Etiquetas Coste
1 [] 4 $
2 [{"key":"app","value":"chocolate-masher"},{"key":"environment","value":"dev"}] 2 $
3 [{"key":"app","value":"grapefruit-squeezer"},{"key":"environment","value":"dev"}] 3 $
4 [{"key":"app","value":"chocolate-masher"},{"key":"environment","value":"prod"}] 7 $
5 [{"key":"app","value":"grapefruit-squeezer"},{"key":"environment","value":"prod"}] 8 $
TOTAL 24 $

Agrupar por el valor de las etiquetas para buscar una clave concreta

Normalmente, se desglosan los costes de los valores de las claves de etiquetas concretas. Si usas LEFT JOIN y colocas el filtro de clave en la condición JOIN (en lugar de WHERE), incluyes los costes que no contienen esta clave y, por lo tanto, obtienes una vista completa de tus costes.

SQL estándar

SELECT
  labels.value as environment,
  SUM(cost) as cost
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
LEFT JOIN UNNEST(labels) as labels
  ON labels.key = "environment"
GROUP BY environment;

SQL antiguo

SELECT
  labels.value as environment,
  SUM(cost) as cost
FROM [project:dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX]
WHERE labels.key = "environment" OR labels.key IS NULL
GROUP BY environment;
Fila Entorno Coste
1 prod 15 $
2 dev 5 $
3 null 4 $
TOTAL 24 $

Agrupar por pares clave/valor

Estos resultados deben exportarse o interpretarse con precaución. Una fila individual muestra una suma válida sin duplicados, pero no se debe combinar con otras filas (excepto si la clave es la misma o si tiene la certeza de que las claves nunca se definen en el mismo recurso).

SQL estándar

SELECT
  labels.key as key,
  labels.value as value,
  SUM(cost) as cost
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
LEFT JOIN UNNEST(labels) as labels
GROUP BY key, value;

SQL antiguo

SELECT
  labels.key as key,
  labels.value as value,
  SUM(cost)
FROM [project:dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX]
GROUP BY key, value;
Fila Clave Valor Coste
1 null null 4 $
2 app chocolate-masher 9 $
3 app grapefruit-squeezer 11 $
4 environment dev 5 $
5 environment prod 15 $
TOTAL 44 $

Cabe destacar que la suma del total es más alta que el precio de tu factura.

Consultas sobre descuentos por uso confirmado

Las siguientes consultas muestran formas de ver las comisiones y los créditos asociados a los descuentos por compromiso de uso en los datos de facturación exportados. Para saber cómo se atribuyen las cuotas y los créditos de tu compromiso a tu cuenta de facturación de Cloud y a tus proyectos, consulta Atribución de descuentos por compromiso de uso.

Ver las comisiones de compromiso

Para ver las cuotas de compromiso de tus descuentos por uso comprometido en la exportación de datos de facturación, usa la siguiente consulta de ejemplo.

SQL estándar

SELECT
    invoice.month AS invoice_month,
    SUM(cost) as commitment_fees
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
WHERE LOWER(sku.description) LIKE "commitment%"
GROUP BY 1

Ver los créditos de compromiso

Para ver los créditos de descuento por compromiso de uso en la exportación de datos de facturación, usa la siguiente consulta de ejemplo.

SQL estándar

SELECT
    invoice.month AS invoice_month,
    SUM(credits.amount) as CUD_credits
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
LEFT JOIN UNNEST(credits) AS credits
WHERE LOWER(credits.name) LIKE "committed use discount%"
GROUP BY 1

Usar filtros de jerarquía de recursos para consultar la ascendencia

Puede usar filtros de jerarquía de recursos para agregar costes por elementos de la jerarquía, como proyectos, carpetas y organizaciones. En estos ejemplos de consultas se muestran métodos para sumar los costes filtrados por elementos de la jerarquía de recursos y mostrar las ancestrías de los proyectos.

Ejemplo 1: Filtrar por nombre de recurso

En este ejemplo se muestran consultas que agrupan los costes por la jerarquía de proyectos y filtran solo los costes generados en un elemento de jerarquía específico, identificado por el nombre de recurso relativo.

Método de cadena

SELECT
    invoice.month AS invoice_month,
    TO_JSON_STRING(project.ancestors) as ancestors,
    SUM(cost)
        + SUM(IFNULL((SELECT SUM(c.amount) FROM UNNEST(credits) c), 0))
        AS net_cost
  FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX` as bq
  WHERE TO_JSON_STRING(project.ancestors) like "%resource_name\":\"folders/1234"
  GROUP BY invoice_month, ancestors
  ORDER BY invoice_month, ancestors

Método UNNEST

SELECT
    invoice.month AS invoice_month,
    TO_JSON_STRING(project.ancestors) as ancestors,
    SUM(cost)
        + SUM(IFNULL((SELECT SUM(c.amount) FROM UNNEST(credits) c), 0))
        AS net_cost
  FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX` as bq, UNNEST(project.ancestors) as ancestor
  WHERE ancestor.resource_name = "folders/1234"
  GROUP BY invoice_month, ancestors
  ORDER BY invoice_month, ancestors

Ejemplo 2: Filtrar por nombre visible

En este ejemplo se muestran consultas que agrupan los costes por la jerarquía de proyectos y se filtran para mostrar solo los costes generados en un elemento de jerarquía especificado, identificado por el nombre visible proporcionado por el usuario.

Método de coincidencia de cadenas

SELECT
    invoice.month AS invoice_month,
    TO_JSON_STRING(project.ancestors) as ancestors,
    SUM(cost)
        + SUM(IFNULL((SELECT SUM(c.amount) FROM UNNEST(credits) c), 0))
        AS net_cost
  FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX` as bq
  WHERE TO_JSON_STRING(project.ancestors) like "%display_name\":\"MyFolderName%"
  GROUP BY invoice_month, ancestors
  ORDER BY invoice_month, ancestors

Método UNNEST

SELECT
    invoice.month AS invoice_month,
    TO_JSON_STRING(project.ancestors) as ancestors,
    SUM(cost)
        + SUM(IFNULL((SELECT SUM(c.amount) FROM UNNEST(credits) c), 0))
        AS net_cost
  FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX` as bq, UNNEST(project.ancestors) as ancestor
  WHERE ancestor.display_name = "MyFolderName"
  GROUP BY invoice_month, ancestors
  ORDER BY invoice_month, ancestors

Ejemplos de consultas con etiquetas

En los siguientes ejemplos se muestran formas de consultar tus datos con etiquetas.

Calcular los costes por mes de facturación con etiquetas

La siguiente consulta muestra cómo puede usar los costes de retorno por mes de facturación de la etiqueta cost_center.

SELECT
  invoice.month AS invoice_month,
  tag.value AS cost_center,
  ROUND((SUM(CAST(cost AS NUMERIC))
    + SUM(IFNULL((SELECT SUM (CAST(c.amount AS NUMERIC))
                  FROM UNNEST(credits) AS c), 0))), 2)
    AS net_cost
FROM `project-ID.dataset.gcp_billing_export_resource_v1_XXXXXX-XXXXXX-XXXXXX`, UNNEST(tags) AS tag
WHERE tag.key = "cost_center" AND tag.namespace = "821092389413"
GROUP BY invoice.month, tag.value
ORDER BY invoice.month, tag.value;

Por ejemplo, el resultado de la consulta anterior podría ser el siguiente:

Acceso invoice_month cost_center net_cost
1 202208 android_mobile_apps 9,93
2 202208 ios_mobile_apps 9,93
3 202209 android_mobile_apps 25.42
4 202209 ios_mobile_apps 25,4
5 202209 personalización 16.08

Ver los costes de los recursos sin etiquetar

Esta consulta muestra el total de la factura de los recursos sin etiquetar, agrupados por mes de facturación.

SELECT
 invoice.month AS invoice_month,
 ROUND((SUM(CAST(cost AS NUMERIC))
   + SUM(IFNULL((SELECT SUM(CAST(c.amount AS NUMERIC))
                 FROM UNNEST(credits) AS c), 0))), 2)
   AS net_cost
FROM
 `project-ID.dataset.gcp_billing_export_v1_XXXXXX-XXXXXX-XXXXXX`
WHERE "color" NOT IN (SELECT key FROM UNNEST(tags))
GROUP BY invoice_month
ORDER BY invoice_month;

Por ejemplo, el resultado de la consulta anterior podría ser el siguiente:

Acceso invoice_month net_cost
1 202202 0
2 202203 16,81
3 202204 54.09
4 202205 55,82
5 202206 54.09
6 202207 55,83
7 202208 31,49

Ejemplos de consultas adicionales

Consultar los costes y los créditos por proyecto de un mes de facturación concreto

Si se indica un mes de facturación específico, como junio del 2020 (en formato AAAAMM), esta consulta devolverá una vista de los costes y los créditos agrupados por proyecto, así como las etiquetas de los proyectos.

SQL estándar

SELECT
  project.name,
  TO_JSON_STRING(project.labels) as project_labels,
  sum(cost) as total_cost,
  SUM(IFNULL((SELECT SUM(c.amount) FROM UNNEST(credits) c), 0)) as total_credits
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
WHERE invoice.month = "202006"
GROUP BY 1, 2
ORDER BY 1;

SQL antiguo

TO_JSON_STRING not supported.
Acceso name project_labels total_cost total_credits
1 CTG - Dev [{"key":"ctg_p_env","value":"dev"}] 79,140979 -4.763796
2 CTG - Prod [{"key":"ctg_p_env","value":"prod"},{"key":"ctg_team","value":"eng"}] 32.466272 -3,073356
3 CTG - Sandbox [{"key":"ctg_p_env","value":"dev"}] 0 0
4 CTG - Almacenamiento [{"key":"ctg_p_env","value":"prod"},{"key":"ctg_team","value":"data"}] 7,645793 -0,003761

Informes de costes y precios disponibles en la Google Cloud consola