Mengonfigurasi pelaporan penggunaan ke Google

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

Untuk pengantar Service Control, lihat Panduan Memulai.

Sebelum memulai

(Untuk harga berbasis penggunaan) Laporkan 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 oleh instance layanan Anda. Gunakan operationId yang sama untuk operasi check dan report.
  • consumerId sama dengan usageReportingId dari hak.
  • startTime dan endTime menunjukkan waktu mulai dan berakhir dari total interval untuk Operasi report. Biasanya, startTime dari Operasi report harus memiliki nilai yang sama dengan endTime dari Operasi report sebelumnya. Jika layanan pelanggan dinonaktifkan sebelum startTime Operasi report, panggilan API services.check akan mengirimkan 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 merujuk ID untuk metrik di bagian Integrasi teknis di Producer Portal.
  • 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 Anda berhenti memberikan layanan kepada pelanggan hingga error tersebut diselesaikan:

  • SERVICE_NOT_ACTIVATED
  • BILLING_DISABLED
  • PROJECT_DELETED