Enviar métricas de facturación

En esta página, se describe cómo utilizar Service Infrastructure para habilitar servicios administrados con el fin de enviar datos de uso para la facturación, de modo que Cloud Billing pueda cobrar a los consumidores de servicios. Por ejemplo, puede definir una métrica llamada library.appspot.com/books/borrowed para medir el número de libros que un cliente tomó prestados y definir una unidad de mantenimiento de existencias (SKU) y el precio.

La API de control de servicio acepta, organiza en lotes, agrega y envía métricas a Cloud Billing. Cloud Billing transfiere estas métricas y genera facturas según el modelo de precios predefinido. Si no existe un modelo de precios predefinido, Facturación de Cloud simplemente ignora las métricas de facturación. Para definir el modelo de precios, comunícate con tu administrador de cuentas de socio de Google Cloud Platform.

Cómo configurar la facturación

Antes de enviar datos de facturación a la API de Service Control, debes especificar tres parámetros distintos en la configuración de servicio:

  • Recursos supervisados: Puedes recopilar datos de uso de cada recurso para la facturación. Los recursos supervisados necesitan al menos una clave de etiqueta cloud.googleapis.com/location para indicar la ubicación del uso de facturación.

  • Métricas: Puedes enviar una o más métricas. Cada métrica mide el uso de un tipo de recurso específico. Solo se admiten métricas DELTA con valores INT64 en la facturación.

  • Configuración de facturación: Te permite especificar las métricas que se enviarán a Cloud Billing.

El siguiente ejemplo de configuración de servicio define una métrica que mide la cantidad de libros que se prestó a un cliente. Un cliente puede invocar el método services.report para informar valores en la métrica. Consulta billing.proto para obtener más información sobre la configuración de facturación.

# library
monitored_resources:
 - type: library.appspot.com/branch
   labels:
   - key: cloud.googleapis.com/location
     description: The cloud location.
   - key: library.appspot.com/city
     description: The city where the library branch is located in.

# The metrics to be used.
metrics:
- name: library.appspot.com/books/borrowed
  metric_kind: DELTA
  value_type: INT64
  unit: '1'

# The billing configuration.
billing:
  consumer_destinations:
  - monitored_resource: library.appspot.com/branch
    metrics:
    - library.appspot.com/books/borrowed

Enviar métricas de facturación

Una vez que hayas configurado la supervisión en la configuración del servicio y la hayas enviado con la API de Service Management, puedes llamar a la API de control de servicio para enviar las métricas. El siguiente ejemplo utiliza el comando de gcurl para demostrar la llamada. Para obtener información sobre cómo configurar esto, consulta Comienza a usar la API de Service Control.

$ gcurl -d "{
  'operations': [ {
    'operationId': '8356d3c5-f9b5-4274-b4f9-079a3731e6e5',
    'consumerId': 'project:library-consumer',
    'startTime': '`date +%FT%T%:z`',
    'endTime': '`date +%FT%T%:z`',
    'labels': {
      'cloud.googleapis.com/location': 'us-west1',
      'library.appspot.com/city': 'Kirkland',
    },
    'metricValueSets': [ {
      'metricName': 'library.appspot.com/books/borrowed',
      'metricValues': [ { 'int64Value': '10' } ]
    } ]
  } ]
}" https://servicecontrol.googleapis.com/v1/services/library.appspot.com:report