Consultas de ejemplo para la exportación de datos de Facturación de Cloud

En este documento se ofrecen algunos ejemplos de cómo consultar los datos de Facturación de Cloud que se han exportado a BigQuery y se almacenan en él.

Para obtener más información sobre cómo exportar tus datos de facturación a BigQuery, consulta la descripción general y las limitaciones.

Generar una consulta de SQL a partir de un informe de facturación

Para escribir rápidamente una consulta de SQL que devuelva los mismos resultados en BigQuery que los de un informe de facturación, puede usar la función Generar consulta de los informes de facturación, disponible en la consola de Google Cloud .

Especifica el nombre de la tabla que quieres usar en tus consultas

En estos ejemplos, para consultar los datos de Facturación de Cloud exportados en BigQuery, debe especificar la ruta completa al nombre de la tabla en la cláusula FROM. El nombre de la tabla se determina mediante tres valores separados por puntos:

project-ID.dataset_name.BQ_table_name

Por ejemplo, supongamos que tienes una cuenta de facturación de Cloud configurada para exportar datos de costes de uso detallados y que los componentes de la configuración de exportación de facturación son los siguientes:

  • project-ID: my-billing-project
  • dataset_name: my_billing_dataset
  • BQ_table_name: gcp_billing_export_resource_v1_<BILLING-ACCOUNT-ID>
  • BILLING-ACCOUNT-ID: 010101-F0FFF0-10X10X: es el ID de la cuenta de facturación de Cloud que contiene los datos de facturación que va a exportar. Consulta cómo encontrar el ID de tu cuenta de facturación.

Según los valores de ejemplo, escribiría la cláusula FROM de la siguiente manera:

my-billing-project.my_billing_dataset.gcp_billing_export_resource_v1_010101-F0FFF0-10X10X

Consultas de ejemplo por tipo de datos de Facturación de Cloud

En esta sección se proporcionan ejemplos de consultas para sus datos de costes de uso estándar, datos de costes de uso detallados y datos de precios.

Si has decidido exportar datos detallados de costes de uso, puedes usar las consultas de ejemplo de Costes de uso estándar, además de las de Costes de uso detallados.

Datos de costes de uso estándar Datos de costes de uso detallados Datos de precios
Ejemplos de consultas de costes de uso estándar Ejemplos de consultas de costes de uso detallados Ejemplos de consultas de datos de precios

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.

Estos ejemplos de consultas también funcionan con los datos de costes de uso detallados que se exportan 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.

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

En los ejemplos de consulta de esta sección se usa el siguiente valor para Nombre de tabla: project-ID.dataset.gcp_billing_export_v1_XXXXXX-XXXXXX-XXXXXX

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 habituales, 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 AS NUMERIC))
    + SUM(IFNULL((SELECT SUM(CAST(c.amount AS NUMERIC))
                  FROM UNNEST(credits) AS c), 0)))
    AS total_exact
FROM `project-ID.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: Detalles de las devoluciones 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 AS NUMERIC))
    + SUM(IFNULL((SELECT SUM(CAST(c.amount AS NUMERIC))
                  FROM UNNEST(credits) AS c), 0)))
    AS total_exact
FROM `project-ID.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 $
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