Mengonfigurasi pelaporan penggunaan ke Google

Jika memilih harga berbasis penggunaan untuk produk, Anda harus melaporkan penggunaan aplikasi ke Service Control API.

Untuk pengantar Kontrol Layanan, lihat Panduan Memulai.

Sebelum memulai

(Untuk harga berbasis penggunaan) Melaporkan penggunaan

Saat hak dibuat, Anda harus memanggil Partner Procurement API untuk mengambil usageReportingId, menggunakan permintaan HTTP GET berikut:

GET v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID

Respons berisi informasi tentang hak, dalam format berikut:

{
  "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": "..."
}

Untuk melaporkan penggunaan, Anda harus melakukan panggilan API services.check terlebih dahulu, untuk memeriksa konfigurasi layanan. Dalam respons, jika objek checkErrors[] kosong, lakukan panggilan API services.report untuk mengirim laporan penggunaan.

Laporan penggunaan adalah Operation Service Control API. Berikut adalah contoh laporan penggunaan untuk example-messaging-service yang mengirimkan informasi tentang penyimpanan yang digunakan oleh pelanggan:

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"
    }
  }]
}

dengan:

  • operationId adalah string unik yang dihasilkan instance layanan Anda. Gunakan operationId yang sama untuk operasi check dan report.
  • consumerId sama dengan usageReportingId dari hak.
  • startTime dan endTime mewakili waktu mulai dan waktu berakhir dari interval total untuk Operasi report. Pada umumnya, startTime Operasi report harus memiliki nilai yang sama dengan endTime Operasi report sebelumnya. Jika layanan pelanggan dinonaktifkan sebelum startTime Operasi report, panggilan API services.check akan mengirim error dalam objek checkErrors[], dan pelanggan tidak akan ditagih untuk interval yang sesuai.
  • MetricValueSet berisi satu atau beberapa interval waktu perantara dan nilai metrik yang diperbarui yang sesuai. Anda menentukan metrik layanan saat memilih dan mengirimkan model harga. Anda dapat melihat dan mereferensikan ID untuk metrik di bagian Integrasi teknis di Portal Produser.
  • userLabels adalah label buatan pengguna, yang ditentukan sebagai string nilai kunci yang mengikuti persyaratan sintaksis tertentu. Label ini diteruskan ke alat pengelolaan biaya Penagihan Cloud untuk atribusi. Untuk rekomendasi terkait pelabelan penggunaan, lihat Praktik terbaik untuk pelabelan penggunaan.

Jika services.check API menampilkan satu atau beberapa error berikut, sebaiknya hentikan penyediaan layanan Anda kepada pelanggan hingga error tersebut teratasi:

  • SERVICE_NOT_ACTIVATED
  • BILLING_DISABLED
  • PROJECT_DELETED