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
- Configura l'accesso all'API Cloud Commerce Partner Procurement, come descritto in Integra la tua app.
- Ti consigliamo di utilizzare Producer Portal per creare un account di servizio da utilizzare con Service Control.
(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 stessooperationId
per le operazionicheck
ereport
.consumerId
corrisponde alusageReportingId
del diritto.startTime
eendTime
rappresentano le ore di inizio e di fine dell'intervallo totale per l'operazionereport
. Nella maggior parte dei casi, ilstartTime
di un L'operazionereport
deve avere lo stesso valore diendTime
di precedente operazionereport
. Se il servizio di un cliente viene disattivato prima delstartTime
di un'operazionereport
, la chiamata all'APIservices.check
invia un errore nell'oggettocheckErrors[]
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