Mengelola Kuota Konsumen

Halaman ini menjelaskan cara menggunakan Service Consumer Management API untuk melihat dan mengganti batas kuota yang diterapkan pada masing-masing konsumen layanan Anda.

Pastikan Anda memahami model kuota layanan untuk lebih memahami terminologi yang digunakan dalam tutorial ini.

Untuk memprogram menggunakan Service Infrastructure API, sebaiknya gunakan salah satu library klien yang kami sediakan. Untuk bereksperimen dengan API, Anda dapat mengikuti petunjuk dalam panduan ini dan menggunakan perintah curl untuk menguji API tanpa menyiapkan lingkungan pengembangan aplikasi secara lengkap.

Menampilkan kuota layanan

Untuk keperluan tutorial ini, kita akan menggunakan project bernama consumer-project-id dan layanan bernama myservice.appspot.com. Dalam setiap perintah gcurl, ganti layanan Anda sendiri dan project konsumen yang diinginkan.

Untuk menggunakan gcurl, jalankan perintah alias berikut dengan token autentikasi terlebih dahulu:

alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'

Untuk informasi selengkapnya, lihat Memulai.

Untuk melihat semua batas kuota di semua metrik yang berlaku untuk konsumen tertentu, gunakan metode berikut:

gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics

Panggilan ini merespons dengan daftar metrik yang ditentukan oleh layanan, masing-masing dengan daftar batas pada metrik yang berlaku untuk konsumen ini, nilai untuk batas tersebut, dan penggantian apa pun. Berikut adalah contoh respons:

{
  "metrics": [
    {
      "name": "services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics/airport_requests",
      "metric": "airport_requests"
      "displayName": "Airport Requests"
      "consumerQuotaLimits": [
        {
          "name": "services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics/airport_requests/limits/%2Fmin%2Fproject",
          "metric": "airport_requests",
          "unit": "1/min/{project}",
          "quotaBuckets": [
            {
              "effectiveLimit": "5",
              "defaultLimit": "5",
            }
          ]
        }
      ],
    }
  ]
}

Setiap metrik dalam respons memiliki kolom nama. Untuk memeriksa setelan kuota hanya untuk metrik tersebut, bukan untuk semua metrik, gunakan namanya di URL:

gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}

Demikian pula, setiap batas dalam metrik memiliki kolom nama. Untuk memeriksa setelan kuota hanya untuk batas tersebut di metrik tersebut, bukan untuk semua batas pada metrik atau semua metrik, gunakan namanya di URL:

gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}

Menerapkan penggantian produsen

Pemilik atau administrator layanan dapat menerapkan penggantian produsen ke batas tertentu untuk konsumen tertentu, sehingga memberikan peningkatan kuota pada batas tersebut.

Untuk mengidentifikasi batas, pertama-tama gunakan salah satu metode di atas untuk menemukan batas kuota yang diinginkan, lalu gunakan kolom namanya untuk menerapkan penggantian produsen pada batas tersebut:

gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}/producerOverrides -d '{"override": {"override_value": "12345"} }'

Panggilan ini dapat digunakan untuk menerapkan penggantian baru atau memperbarui penggantian yang ada ke nilai baru. Untuk memberikan kuota tak terbatas pada suatu batas, gunakan "-1" sebagai nilai penggantian.

Jika berhasil, panggilan akan menampilkan ID operasi, yang menunjukkan pekerjaan yang sedang berlangsung di server, karena perubahan kuota menyebar ke sistem backend:

{
  "name": "operations/quf.92accba3-6530-4fc1-9a95-c1280d48a6b7"
}

Untuk memeriksa progres operasi, gunakan namanya:

gcurl https://serviceconsumermanagement.googleapis.com/v1/{name}

Jika panggilan ini merespons dengan pesan yang menyertakan "done":true, operasi akan selesai. Jika operasi gagal, pesan akan menyertakan detail error.

Anda juga dapat memeriksa apakah perubahan telah diterapkan dengan mengulangi panggilan get asli pada batas tertentu. Sekarang batas seharusnya memiliki kolom "prodOverride" tambahan.

Memaksa perubahan kuota yang besar

Jika penggantian akan menyebabkan kuota yang diterapkan berkurang lebih dari 10%, panggilan akan ditolak, sebagai langkah keamanan untuk menghindari berkurangnya kuota secara tidak sengaja. Untuk mengabaikan batasan ini, gunakan flag force:

gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}/producerOverrides -d '{"override": {"override_value": "0"}, "force": true}'

Menerapkan penggantian kuota regional atau zona

Beberapa batas kuota diterapkan per region atau per zona; hal ini ditunjukkan dengan adanya /{region} atau /{zone} di unit batas.

Menerapkan penggantian ke batas tersebut akan mengubah kuota dasar di setiap region atau zona. Untuk mengubah kuota hanya untuk region atau zona tertentu, gunakan kolom lokasi:

gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}/producerOverrides -d '{"override": {"override_value": "135", "dimensions": {"region": "asia-south1"} } }'