Configurare i report sull'utilizzo per Google

Se per il tuo prodotto scegli un prezzo basato sull'utilizzo, devi segnalare la dall'utilizzo API Service Control.

Per un'introduzione a Service Control, consulta Guida introduttiva.

Prima di iniziare

(Per i prezzi basati sull'utilizzo) Segnala l'utilizzo

Quando viene creato un diritto, devi chiamare l'API Partner Procurement per recuperare un usageReportingId utilizzando la seguente richiesta HTTP GET:

GET v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID

La risposta contiene informazioni sul diritto, nel seguente formato:

{
  "name": "providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID",
  "provider": "YOUR_PARTNER_ID",
  "account": "USER_ACCOUNT_ID",
  "product": "example-messaging-service",
  "plan": "pro",
  "usageReportingId": "USAGE_REPORTING_ID",
  "state": "ENTITLEMENT_ACTIVATION_REQUESTED",
  "updateTime": "...",
  "createTime": "..."
}

Per segnalare l'utilizzo, devi prima effettuare una chiamata all'API services.check per controllare la configurazione del servizio. Nella risposta, se L'oggetto checkErrors[] è vuoto, crea un services.report Chiamata API per inviare il report sull'utilizzo.

Il report sull'utilizzo è un'API Service Control Operation Di seguito è riportato un esempio di report sull'utilizzo per example-messaging-service che invia informazioni sullo spazio di archiviazione utilizzato dal cliente:

POST https://servicecontrol.googleapis.com/v1/services/example-messaging-service.gcpmarketplace.example.com:report
{
  "operations": [{
    "operationId": "1234-example-operation-id-4567",
    "operationName": "Hourly Usage Report",
    "consumerId": "USAGE_REPORTING_ID",
    "startTime": "2019-02-06T12:00:00Z",
    "endTime": "2019-02-06T13:00:00Z",
    "metricValueSets": [{
      "metricName": "example-messaging-service/UsageInGiB",
      "metricValues": [{ "int64Value": "150" }]
    }],
    "userLabels": {
      "cloudmarketplace.googleapis.com/resource_name": "order_history_cache",
      "cloudmarketplace.googleapis.com/container_name": "storefront_prod",
      "environment": "prod",
      "region": "us-west2"
    }
  }]
}

dove:

  • operationId è una stringa univoca generata dall'istanza di servizio. Utilizza le funzionalità di lo stesso operationId per le operazioni check e report.
  • consumerId corrisponde al usageReportingId del diritto.
  • startTime e endTime rappresentano le ore di inizio e di fine dell'intervallo totale per l'operazione report. Nella maggior parte dei casi, il startTime di un L'operazione report deve avere lo stesso valore di endTime di precedente operazione report. Se il servizio di un cliente viene disattivato prima del startTime di un'operazione report, la chiamata all'API services.check invia un errore nell'oggetto checkErrors[] e al cliente non viene addebitato alcun costo per l'intervallo corrispondente.
  • MetricValueSet contiene uno o più intervalli di tempo intermedi e i corrispondenti intervalli di tempo i valori delle metriche. Definisci le metriche del servizio quando scegliere e inviare il modello di determinazione del prezzo. Puoi visualizzare e fare riferimento agli identificatori delle metriche nella sezione Integrazione tecnica di Producer Portal.
  • userLabels sono etichette create dall'utente, definite come stringhe chiave-valore che seguono specifici requisiti di sintassi. Queste etichette vengono inoltrate alla fatturazione Cloud di gestione dei costi per l'attribuzione. Per Suggerimenti relativi all'etichettatura sull'utilizzo, consulta Best practice per l'etichettatura dell'utilizzo.

Se l'API services.check restituisce uno o più dei seguenti errori, ti consigliamo di interrompere la fornitura del servizio al cliente finché l'errore non viene risolto:

  • SERVICE_NOT_ACTIVATED
  • BILLING_DISABLED
  • PROJECT_DELETED