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:
|
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.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.type |
Cadena | Este campo describe la finalidad o el origen de credits.id .
Entre los tipos de crédito, se incluyen los siguientes:
|
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.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:
|
adjustment_info.mode |
Cadena | Indica cómo se ha hecho el ajuste. Entre los modos se incluyen los siguientes:
|
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.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:
|
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.
- Devuelve los costes totales de una factura
- Ejemplos de consultas con etiquetas
- Consultas de descuento por uso confirmado
- Usar filtros de jerarquía de recursos para revisar la ascendencia
- Ejemplos de consultas adicionales
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
.
project
es el ID del Google Cloud proyecto que has configurado y que contiene tu conjunto de datos de BigQuery.dataset
es el nombre del conjunto de datos de BigQuery que has configurado para que contenga las tablas de BigQuery con tus datos de Facturación de Cloud exportados.BQ_table_name
es el nombre de la tabla de BigQuery que contiene los datos de Facturación de Cloud exportados que quieres consultar. Hay tres tablas de BigQuery que contienen datos de facturación de Cloud:- Tabla de costes de uso estándar:
En tu conjunto de datos de BigQuery, esta tabla se llama
gcp_billing_export_v1_<BILLING_ACCOUNT_ID>
. - Tabla de costes de uso detallados:
En el conjunto de datos de BigQuery, esta tabla se llama
gcp_billing_export_resource_v1_<BILLING_ACCOUNT_ID>
. - Tabla de precios:
En tu conjunto de datos de BigQuery, esta tabla se llama
cloud_pricing_export
.
- Tabla de costes de uso estándar:
En tu conjunto de datos de BigQuery, esta tabla se llama
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 |
Temas relacionados
Temas relacionados con los datos de Facturación de Cloud exportados
- Configurar la exportación de datos de Facturación de Cloud a BigQuery
- Consultas de ejemplo para exportar datos de Facturación de Cloud a BigQuery
- Visualizar la inversión a lo largo del tiempo con Looker Studio
Informes de costes y precios disponibles en la Google Cloud consola
- Ver los informes de facturación y las tendencias de costes de Cloud
- Ver y descargar los detalles de los costes de una factura o un extracto
- Ver y descargar los precios de los servicios en la nube de Google
- Comprender lo que se ahorra con informes de desglose de costes
- Analizar la eficacia de los descuentos por uso confirmado
- Consultar el historial de costes y pagos