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
project-IDes el ID del Google Cloud proyecto que has configurado y que contiene tu conjunto de datos de BigQuery.dataset_namees 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_namees el nombre de la tabla de BigQuery que contiene los datos de Facturación de Cloud exportados que quieres consultar.Las tablas de BigQuery que contienen los datos de Facturación de Cloud exportados reciben automáticamente un nombre en función del tipo de exportación que habilites:
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.
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-projectdataset_name:my_billing_datasetBQ_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.
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
totalsuma directamente los valores de coste y crédito de coma flotante, lo que puede provocar errores de redondeo de coma flotante. - El campo
total_exactconvierte 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 |
|---|---|---|