Mengelola Kuota Konsumen

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

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

Untuk memprogram 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 lengkap.

Menampilkan kuota layanan

Untuk tujuan tutorial ini, kita akan menggunakan project bernama consumer-project-id dan layanan bernama myservice.appspot.com. Di setiap perintah gcurl, ganti layanan dan project konsumen yang Anda minati.

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 pada 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 tersebut 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 pada 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 produser 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 ke 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 tanpa batas pada batas, gunakan "-1" sebagai nilai penggantian.

Jika berhasil, panggilan akan menampilkan ID operasi, yang mewakili pekerjaan yang sedang berlangsung di server, saat perubahan kuota diterapkan 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. Batas kini harus memiliki kolom "producerOverride" 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 penurunan kuota secara tidak sengaja terlalu cepat. 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 zonal

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

Menerapkan penggantian pada 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"} } }'