Estructura de la exportación de datos de precios

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

Esquema de los datos de precios

En el conjunto de datos de BigQuery, los datos de precios de tu cuenta de facturación de Cloud se cargan en una tabla de datos llamada cloud_pricing_export.

En la siguiente información se describe el esquema de los datos de precios de la cuenta de Facturación de Cloud que se exportan a BigQuery.

Campo Tipo Descripción
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.
pricing_as_of_time Marca de tiempo Los datos de precios aplicables a tu cuenta de Facturación de Cloud se generan una vez al día para prepararlos para la exportación a BigQuery. Se trata de la marca de tiempo diaria de cuándo se generaron los datos de precios.
billing_account_id Cadena ID de la cuenta de facturación de Cloud a la que está asociado el precio.
billing_account_name Cadena

Nombre de la cuenta de facturación de Cloud a la que está asociado el precio.

business_entity_name Cadena Nombre de la familia de servicios de Google del servicio que ofrece el SKU. Los valores incluyen GCP (Google Cloud) o Maps (Google Maps Platform).
service.id Cadena Es el ID del Google Cloud servicio o de la API de Google Maps Platform que ha generado los datos de facturación de Cloud. Por ejemplo, 6F81-5844-456A.
service.description Cadena Descripción del Google Cloud servicio o de la API de Google Maps Platform que ha generado los datos de facturación de Cloud. Por ejemplo, Compute Engine.
sku.id Cadena Es el identificador único del SKU del recurso que el servicio ha usado. Por ejemplo, 2E27-4F75-95CD. Para ver la lista completa de SKUs, consulta Google Cloud SKUs. Google Cloud
sku.description Cadena Es una descripción legible por humanos del SKU del recurso que el servicio ha usado. Por ejemplo, Núcleo de instancia predefinida N1 que se ejecuta en América.
sku.destination_migration_mappings Conjunto de cadenas Los nombres de los SKUs de destino a los que se migra este SKU.
product_taxonomy Conjunto de cadenas Lista de categorías de productos que se aplican al SKU, como Sin servidor, Cloud Run, TaskQueue, VMs On Demand, Cores: Per Core y otras.
geo_taxonomy Estructura Metadatos geográficos que se aplican al SKU, como regiones y multirregiones, como us-east4 o la Unión Europea.
geo_taxonomy.type Cadena El tipo de metadatos geográficos asociados al SKU. Los valores válidos son los siguientes:
  • GLOBAL: no tiene regiones
  • REGIONAL: tiene una región
  • MULTI_REGION: tiene dos o más regiones
geo_taxonomy.regions Conjunto de cadenas Las Google Cloud regiones asociadas al SKU. Por ejemplo, Europe-west2 o US.

Una región es un lugar geográfico específico, como Londres. Una multirregión es una zona geográfica amplia, como Estados Unidos, que contiene dos o más ubicaciones geográficas.

pricing_unit Cadena Abreviatura de la unidad de uso en la que se especifica el precio (por ejemplo, GiBy.mo).
pricing_unit_description Cadena Descripción legible de la unidad de uso (por ejemplo, gibibyte mes).
account_currency_code Cadena La moneda en la que se ha configurado la cuenta de facturación de Cloud, mediante un código de moneda de tres letras definido en ISO 4217. Para obtener más información, consulta el artículo sobre la moneda local de facturación y pagos automáticos.
currency_conversion_rate Cadena Es el tipo de cambio de dólares estadounidenses a la moneda local en la que está configurada la cuenta de facturación de Cloud. Si la moneda de la cuenta de Facturación de Cloud es el dólar estadounidense, el tipo de cambio predeterminado es 1,0.

Si los costes de facturación de Cloud se facturan en una moneda que no sea el dólar estadounidense, puede convertir sus costes de uso a dólares estadounidenses con esta fórmula: cost ÷ currency_conversion_rate = coste de uso en dólares estadounidenses.

Cuando Google cobra en la moneda local, convertimos los precios a la moneda local aplicable de conformidad con los tipos de cambio publicados por las principales instituciones financieras. Esto incluye cualquier recargo que se haya cobrado por facturar en una moneda que no sea el dólar estadounidense. Usamos las tarifas que estén vigentes el pricing_as_of_time.

list_price Estructura

El precio de catálogo de los SKUs de Google Cloud o Google Maps Platform y los niveles de precios de los SKUs, vigentes a partir del pricing_as_of_time, con el precio del modelo de consumo predeterminado.

list_price contiene campos que describen la estructura y el valor del precio según catálogo, entre los que se incluyen los siguientes:

Puedes consultar los precios según catálogo en list_price.tiered_rates.usd_amount

.

Los datos del precio de lista se generan y exportan para todos los clientes. Si tu cuenta de Facturación de Cloud tiene precios de contrato personalizados, también se exportarán los datos de precios específicos de la cuenta de facturación.

billing_account_price Estructura

Si tienes precios de contrato, este es el precio de SKU personalizado del contrato vinculado a tu cuenta de facturación de Cloud, con el precio del modelo de consumo predeterminado.

billing_account_price contiene campos que describen la estructura y el valor de los precios de los contratos personalizados de Google Cloud y los SKUs de Google Maps Platform y los niveles de precios de los SKUs. billing_account_price incluye lo siguiente:

Puedes consultar los precios que has contratado (si se aplican a tu cuenta de facturación de Cloud) en billing_account_price.tiered_rates.usd_amount

consumption_model_prices Lista de structs El precio según catálogo y el precio de la cuenta de facturación del SKU para cada modelo de consumo.
consumption_model_prices.consumption_model_id String ID del modelo de consumo.
consumption_model_prices.consumption_model_display_name String Nombre visible del modelo de consumo.
consumption_model_prices.list_price Struct

El precio de catálogo de los SKUs de Google Cloud o de Google Maps Platform y de los niveles de precios de los SKUs, en vigor desde el pricing_as_of_time, con el precio del modelo de consumo especificado.

Este campo se añade a la estructura consumption_model_prices para ofrecer una vista de los precios con los nuevos modelos de consumo, en los que puede haber varios valores, como los valores predeterminados, de CUD de 1 año y de CUD de 3 años. En el caso del modelo de consumo predeterminado, este valor es idéntico al del campo list_price, que sigue estando disponible para mantener la retrocompatibilidad.

Consulta list_price para obtener más información sobre la estructura de este campo.

consumption_model_prices.billing_account_price Struct Si tienes precios de contrato, se trata del precio de SKU personalizado del contrato vinculado a tu cuenta de facturación de Cloud, con el precio del modelo de consumo especificado.

Este campo se añade a la estructura consumption_model_prices para ofrecer una vista de los precios con los nuevos modelos de consumo, en los que puede haber varios valores, como los valores predeterminados, de CUD de 1 año y de CUD de 3 años. En el caso del modelo de consumo predeterminado, este valor es idéntico al del campo billing_account_price, que sigue estando disponible para mantener la retrocompatibilidad.

Consulta billing_account_price para obtener más información.
price_info Estructura Información general sobre el precio del contrato.
price_info.price_reason Cadena

Información general sobre el origen del precio del contrato.

Entre los motivos se incluyen los siguientes:

  • DEFAULT_PRICE: el precio predeterminado es el precio según catálogo actual del SKU.
  • FIXED_PRICE: un precio fijo para el SKU aplicable durante los términos del contrato.
  • FIXED_DISCOUNT: porcentaje de descuento sobre el precio según catálogo, que se basa en el precio según catálogo de una fecha concreta.
  • FLOATING_DISCOUNT: porcentaje de descuento sobre el precio según catálogo actual (no se basa en el precio según catálogo de una fecha concreta).
  • MIGRATED_PRICE: esto se aplica a los precios que se han migrado desde otros SKUs.
  • MERGED_PRICE: precio del SKU después de combinarlo de varias fuentes. Por ejemplo, con los niveles combinados, cada nivel puede proceder de una fuente diferente con distintos tipos de descuento.
  • LIST_PRICE_AS_CEILING: se trata de una función contractual opcional, disponible para los nuevos contratos a partir del 21 de marzo del 2022. Si está activo, cuando el precio según catálogo actual sea inferior al precio fijo personalizado, se usará el precio según catálogo (DEFAULT_PRICE) para el precio del SKU. Se aplica a todas las SKUs de precio fijo del contrato, incluidas FIXED_PRICE, FIXED_DISCOUNT, MIGRATED_PRICE y MERGED_PRICE.
  • CONTRACTED_PRICE_PROTECTION: Esto se aplica a las SKUs que tienen protección de precios en tu contrato. Esta opción se usa poco.
price_info.discount_percent Numérico Porcentaje de descuento de los precios de contrato a los que se les ha aplicado algún tipo de descuento (FIXED_DISCOUNT o FLOATING_DISCOUNT).
price_info.discount_percent_fixed_date Fecha Fecha que se utiliza para los precios de contacto con un descuento porcentual que está ligado a una fecha concreta (FIXED_DISCOUNT).
price_info.discount_migrated_from Cadena En el caso de los descuentos por precios de contrato que se han migrado desde otros SKUs (MIGRATED_PRICE), este es el SKU de origen del descuento. A veces, cuando un SKU se divide en dos, el descuento se migra del SKU antiguo a los nuevos SKUs.
aggregation_info Estructura Representa el nivel de agregación y el intervalo de los niveles de precios de un solo SKU.
aggregation_info.aggregation_level Cadena El nivel en el que se agrega el uso para calcular el coste de los niveles de precios.

Entre los niveles se incluyen los siguientes:

  • ACCOUNT: indica un SKU con precios por niveles. El uso del SKU para los niveles de precios se agrega en todos los proyectos de una misma cuenta de facturación de Cloud.
  • PROJECT: indica un SKU con precios por niveles. El uso de los SKUs de los niveles de precios se agrega por proyecto.
  • UNKNOWN_AGGREGATION_LEVEL: indica un SKU con precios de un solo nivel. Este es el valor predeterminado de los SKUs con precios de varios niveles.
aggregation_info.aggregation_interval Cadena El intervalo en el que se agrega el uso para calcular el coste de los niveles de precios.

Los intervalos incluyen lo siguiente:

  • ONE_DAY: indica un SKU con precios por niveles. El uso de los niveles de precios de los SKUs se agrega cada día.
  • ONE_MONTH: indica un SKU con precios por niveles. El uso de los niveles de precios del SKU se agrega cada mes.
  • UNKNOWN_AGGREGATION_INTERVAL: indica un SKU con precios de un solo nivel. Este es el valor predeterminado de los SKUs con precios de varios niveles.
tiered_rates Conjunto de cadenas Información sobre el nivel de precios, incluido el precio del SKU en USD y el precio del SKU en la moneda que se haya configurado en la cuenta de Facturación de Cloud.

Algunos SKUs solo tienen un nivel de precios. Si un SKU tiene varios niveles de precios, cada nivel aparecerá en una fila diferente. Puedes identificar SKUs con varios niveles de precios mediante el elemento tiered_rates.start_usage_amount.

tiered_rates.pricing_unit_quantity Flotante Cantidad de unidades del nivel de precios del SKU. Por ejemplo, si el precio de un nivel es de 1 USD por cada millón de bytes, en esta columna aparecerá 1.000.000.
tiered_rates.start_usage_amount Flotante Importe más bajo de un nivel de precios determinado, expresado en unidades de precios. Por ejemplo, un SKU con tres niveles de precios (de 0 a 100 unidades, de 101 a 1000 unidades y más de 1001 unidades) mostraría tres filas de precios, con 0, 101 y 1001 como valores de [tiered_rates].start_usage_amount.
tiered_rates.usd_amount Numérico El precio de la SKU en dólares estadounidenses.
tiered_rates.account_currency_amount Numérico El precio del nivel del SKU convertido de USD a la moneda que se haya configurado en la cuenta de facturación de Cloud, mediante el currency_conversion_rate.

Este precio convertido se calcula mediante la siguiente fórmula: tiered_rates.usd_amount * currency_conversion_rate = tiered_rates.account_currency_amount.

Cuando Google cobra en la moneda local, convertimos los precios a la moneda local aplicable de conformidad con los tipos de cambio publicados por las principales instituciones financieras. Esto incluye cualquier recargo que se haya cobrado por facturar en una moneda que no sea el dólar estadounidense. Usamos las tarifas que estén vigentes el pricing_as_of_time.

Acerca de los niveles de precios

Los precios de las SKUs se ofrecen por niveles de precios. Los niveles de precios proporcionan una estructura de precios basada en diferentes niveles. Algunos SKUs solo tienen un nivel de precios, mientras que otros tienen varios. Estos son algunos ejemplos de SKUs con precios de varios niveles:

  • SKUs con un nivel de uso gratuito. Por ejemplo, las primeras 1000 unidades son gratuitas. Si compra 1001 unidades o más, el precio es de 1 $por unidad.
  • SKUs en los que el precio por unidad disminuye cuando se supera la cantidad de uso de un nivel. Por ejemplo, las unidades de 1 a 100 tienen un precio de 5 USD cada una, las unidades de 101 a 1000 tienen un precio de 4 USD cada una y las unidades a partir de 1001 tienen un precio de 3 USD cada una.

Algunas notas sobre los precios por niveles:

  • El contador de uso del nivel se restablece a cero en función del aggregation_interval de la SKU: diario o mensual.

    • Los SKUs diarios se restablecen cada día a las 00:00 (UTC-8 o UTC-7) de la hora del Pacífico de EE. UU. y Canadá.
    • Los SKUs mensuales se restablecen a cero el primer día de cada mes natural (por ejemplo, enero, febrero, etc.) a las 00: 00 (PT) de Estados Unidos y Canadá (UTC-8 o UTC-7).
  • Los niveles funcionan de forma independiente para cada cuenta de facturación de Cloud y no se agregan en varias cuentas de facturación de Cloud, aunque los proyectos estén en la misma organización o pertenezcan a la misma entidad jurídica.

  • Los niveles funcionan de forma independiente por SKU: el uso de un SKU solo puede afectar al precio de ese SKU. No hay SKUs en los que el uso afecte a los precios por niveles de otro SKU.

  • Es posible que los niveles de precios de los SKUs para los precios según catálogo no coincidan exactamente con los niveles de precios de los precios contractuales. Esta circunstancia es poco habitual.

  • Si un SKU tiene varios niveles de precios, cada precio de nivel de SKU se indica en una fila independiente de la tabla de precios. Puedes identificar SKUs con varios niveles de precios mediante tiered_rates.start_usage_amount.

  • En función de cómo escriba la consulta, puede devolver los niveles de precios de su SKU como datos anidados o no anidados. Para obtener más información sobre los datos anidados y no anidados, consulta los siguientes ejemplos.

Ejemplos de consultas de datos de precios

En esta sección se proporcionan ejemplos de cómo consultar los datos de precios de Facturación de Cloud exportados a BigQuery.

En esta sección se ofrecen diferentes ejemplos de cómo consultar los datos de precios de Facturación de Cloud exportados a BigQuery.

Valores habituales que se usan en las consultas de precios de ejemplo

En los ejemplos de consulta de esta sección se usan los siguientes valores:

  • Nombre de la tabla: project.dataset.cloud_pricing_export
  • ID de SKU: 2DA5-55D3-E679 (Cloud Run - Requests)

Obtener los precios de lista de un SKU específico

En este ejemplo se muestra una consulta que devuelve el list_price de cada nivel de precios de un SKU específico.

SQL estándar

SELECT sku.id,  sku.description, list_price.*
FROM `project.dataset.cloud_pricing_export`
WHERE DATE(_PARTITIONTIME) = "2020-07-20"
      AND sku.id = "2DA5-55D3-E679"
;

_PARTITIONTIME es un campo que genera automáticamente BigQuery y representa la fecha a la que pertenecen los datos. En lugar de _PARTITIONTIME, puedes usar un campo que la exportación de Facturación de Cloud genera explícitamente, como pricing_as_of_time.

Esta es la misma consulta configurada para usar el campo pricing_as_of_time:

SELECT sku.id,  sku.description, list_price.*
FROM `project.dataset.cloud_pricing_export`
WHERE DATE(pricing_as_of_time) = "2020-07-20"
      AND sku.id = "2DA5-55D3-E679"
;

Resultados de la consulta

Acceso id description pricing_unit aggregation_info.
aggregation_level
aggregation_info.
aggregation_interval
tiered_rates.
pricing_unit_quantity
tiered_rates.
start_usage_amount
tiered_rates.
usd_amount
tiered_rates.
account_currency_amount
1 2DA5-55D3-E679 Solicitudes COUNT CUENTA MENSUAL 1000000 0 0 0
          1000000 2000000 0,4 0,4

Obtener los precios según catálogo de un SKU específico e incluir la descripción del servicio

Los dos ejemplos de esta sección muestran consultas que devuelven el list_price de cada nivel de precios de un SKU específico e incluyen la descripción del SKU y la descripción del servicio.

  • En el ejemplo 1 se devuelve un SKU por fila, con los niveles de precios mostrados como datos anidados.
  • En el ejemplo 2 se muestra cómo desanidar los datos para devolver una fila por SKU y por nivel de precios.

Ejemplo 1: Devuelve datos anidados

En este ejemplo se consulta un solo SKU para devolver los datos de list_price. Este SKU tiene varios niveles de precios. Los valores del campo de precio de venta se muestran en filas individuales anidadas en la fila del ID de SKU.

SQL estándar

SELECT sku.id AS sku_id,
       sku.description AS sku_description,
       service.id AS service_id,
       service.description as service_description,
       list_price.*
FROM my-billing-admin-project.my_billing_dataset.cloud_pricing_export
WHERE DATE(_PARTITIONTIME) = "2020-07-20"
      AND sku.id = "2DA5-55D3-E679"
;

Resultados de la consulta:

Acceso sku_id sku_description service_id service_description aggregation_info.
aggregation_level
aggregation_info.
aggregation_interval
tiered_rates.
pricing_unit_quantity
tiered_rates.
start_usage_amount
tiered_rates.
usd_amount
tiered_rates.
account_currency_amount
1 2DA5-55D3-E679 Solicitudes 152E-C115-5142 Cloud Run CUENTA MENSUAL 1000000 0 0 0
            1000000 2000000 0,4 0,4

Ejemplo 2: Devuelve datos sin anidar combinados con la misma tabla

En este ejemplo, se consulta un solo SKU para devolver el list price. El SKU tiene varios niveles de precios. La consulta muestra cómo usar el operador UNNEST para aplanar la matriz tiered_rates y unir los campos con la misma tabla, lo que da como resultado una fila por nivel de precios.

SQL estándar

SELECT sku.id AS sku_id,
       sku.description AS sku_description,
       service.id AS service_id,
       service.description as service_description,
       tier.*
FROM `my-billing-admin-project.my_billing_dataset.cloud_pricing_export` as sku_pricing, UNNEST (sku_pricing.list_price.tiered_rates) as tier
WHERE DATE(_PARTITIONTIME) = "2020-07-20"
      AND sku.id = "2DA5-55D3-E679"
;

Resultados de la consulta:

Acceso sku_id sku_description service_id service_description pricing_unit_quantity start_usage_amount usd_amount account_currency_amount
1 2DA5-55D3-E679 Solicitudes 152E-C115-5142 Cloud Run 1.000.000,0 0,0 0,0 0,0
2 2DA5-55D3-E679 Solicitudes 152E-C115-5142 Cloud Run 1.000.000,0 2000000,0 0,4 0,4

Usar taxonomías de producto y geográficas para consultar SKUs

  • La taxonomía de productos es una lista de categorías de productos que se aplican al SKU, como Sin servidor, Cloud Run o Máquinas virtuales bajo demanda.
  • La taxonomía geográfica es los metadatos geográficos que se aplican a un SKU y que constan de valores de tipo y región.

Obtener la taxonomía de producto de un SKU

En este ejemplo se muestra una consulta que devuelve la lista product_taxonomy de un SKU específico, donde el ID de SKU es 2DA5-55D3-E679 (Cloud Run - Solicitudes).

SQL estándar

SELECT sku.id AS sku_id,
       sku.description AS sku_description,
       service.id AS service_id,
       service.description as service_description,
       product_taxonomy
FROM `project.dataset.cloud_pricing_export`
WHERE DATE(_PARTITIONTIME) = "2020-07-20"
      AND sku.id = "2DA5-55D3-E679"
;

Resultados de la consulta:

Acceso sku_id sku_description service_id service_description product_taxonomy
1 2DA5-55D3-E679 Solicitudes 152E-C115-5142 Cloud Run GCP
        Sin servidor
        Cloud Run
        Otro

Obtener todos los SKUs de una taxonomía de producto específica

En este ejemplo se muestra una consulta que devuelve todos los SKUs que coinciden con un product_taxonomy especificado. En esta consulta, especificamos Serverless como valor de product taxonomy.

SQL estándar

SELECT sku.id AS sku_id,
       sku.description AS sku_description,
       service.id AS service_id,
       service.description as service_description,
       product_taxonomy
FROM `project.dataset.cloud_pricing_export`
WHERE DATE(_PARTITIONTIME) = "2020-07-20"
     AND "Serverless" in UNNEST(product_taxonomy)
LIMIT 10
;

Resultados de la consulta:

Acceso sku_id sku_description service_id service_description product_taxonomy
1 0160-BD7B-4C40 Salida de red en la misma región de Cloud Tasks F3A6-D7B7-9BDA Cloud Tasks GCP
        Sin servidor
        Cloud Tasks
        Otro
2 FE08-0A74-7AFD Salida de GOOGLE-API de Cloud Tasks F3A6-D7B7-9BDA Cloud Tasks GCP
        Sin servidor
        Cloud Tasks
        Otro
3 A81A-32A2-B46D Almacenamiento de colas de tareas en Salt Lake City F17B-412E-CB64 App Engine GCP
        Sin servidor
        GAE
        Otro
        TaskQueue

Obtener todos los SKUs de una taxonomía geográfica y una taxonomía de producto específicas

En este ejemplo se muestra una consulta que devuelve todos los SKUs que coinciden con una geo_taxonomy región y un product_taxonomy especificados, donde region = us-east4 y product_taxonomy = VMs On Demand.

SQL estándar

SELECT sku.id AS sku_id,
       sku.description AS sku_description,
       service.id AS service_id,
       service.description as service_description,
       geo_taxonomy,
       product_taxonomy
FROM `project.dataset.cloud_pricing_export`
WHERE DATE(_PARTITIONTIME) = "2020-07-20"
      AND "VMs On Demand" in UNNEST(product_taxonomy)
      AND geo_taxonomy.type = "REGIONAL"
      AND "us-east4" in UNNEST (geo_taxonomy.regions)
;

Resultados de la consulta:

Acceso sku_id sku_description service_id service_description geo_taxonomy.type geo_taxonomy.regions product_taxonomy
1 9174-81EE-425B Prima de único cliente para RAM de instancia de único cliente que se ejecuta en Virginia 6F81-5844-456A Compute Engine REGIONAL us‑east4 GCP
            Computación
            GCE
            VMs On Demand
            Memoria: por GB
2 C3B9-E891-85ED RAM de instancia de aislamiento de un solo inquilino que se ejecuta en Virginia 6F81-5844-456A Compute Engine REGIONAL us‑east4 GCP
            Computación
            GCE
            VMs On Demand
            Memoria: por GB
3 6E2A‑DCD9‑87ED RAM de instancia predefinida N1 que se ejecuta en Virginia 6F81-5844-456A Compute Engine REGIONAL us‑east4 GCP
            Computación
            GCE
            VMs On Demand
            Memoria: por GB

Devuelve los precios de lista de una SKU con varios niveles de precios

Los datos de BigQuery se consultan por nombre de tabla. El nombre de la tabla que se usa en la cláusula FROM de la consulta se determina mediante tres valores: project.dataset.BQ_table_name.

Valores comunes utilizados en estos ejemplos:

  • Nombre de la tabla: project.dataset.cloud_pricing_export
  • ID de SKU: 2DA5-55D3-E679 (Cloud Run - Requests)

Ejemplo 1: Devuelve datos anidados

En este ejemplo se consulta un solo SKU para devolver los datos de list_price. Este SKU tiene varios niveles de precios. Los valores del campo de precio de venta se muestran en filas individuales anidadas en la fila del ID de SKU.

SQL estándar

SELECT sku.id AS sku_id,
       sku.description AS sku_description,
       service.id AS service_id,
       service.description as service_description,
       list_price.*
FROM my-billing-admin-project.my_billing_dataset.cloud_pricing_export
WHERE DATE(_PARTITIONTIME) = "2020-07-20"
      AND sku.id = "2DA5-55D3-E679"
;

Resultados de la consulta:

Acceso sku_id sku_description service_id service_description aggregation_info.
aggregation_level
aggregation_info.
aggregation_interval
tiered_rates.
pricing_unit_quantity
tiered_rates.
start_usage_amount
tiered_rates.
usd_amount
tiered_rates.
account_currency_amount
1 2DA5-55D3-E679 Solicitudes 152E-C115-5142 Cloud Run CUENTA MENSUAL 1000000 0 0 0
            1000000 2000000 0,4 0,4

Ejemplo 2: Devuelve datos sin anidar combinados con la misma tabla

En este ejemplo, se consulta un solo SKU para devolver el list price. El SKU tiene varios niveles de precios. La consulta muestra cómo usar el operador UNNEST para aplanar la matriz tiered_rates y unir los campos con la misma tabla, lo que da como resultado una fila por nivel de precios.

SQL estándar

SELECT sku.id AS sku_id,
       sku.description AS sku_description,
       service.id AS service_id,
       service.description as service_description,
       tier.*
FROM `my-billing-admin-project.my_billing_dataset.cloud_pricing_export` as sku_pricing, UNNEST (sku_pricing.list_price.tiered_rates) as tier
WHERE DATE(_PARTITIONTIME) = "2020-07-20"
      AND sku.id = "2DA5-55D3-E679"
;

Resultados de la consulta:

Acceso sku_id sku_description service_id service_description pricing_unit_quantity start_usage_amount usd_amount account_currency_amount
1 2DA5-55D3-E679 Solicitudes 152E-C115-5142 Cloud Run 1.000.000,0 0,0 0,0 0,0
2 2DA5-55D3-E679 Solicitudes 152E-C115-5142 Cloud Run 1.000.000,0 2000000,0 0,4 0,4

Informes de costes y precios disponibles en la Google Cloud consola