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 menampilkan metrik dan batas kuota layanan, ikuti langkah-langkah berikut:

  1. Untuk menggunakan gcurl, jalankan perintah alias berikut dengan token autentikasi:

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

    Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan Service Usage API.

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

    gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/services/SERVICE_NAME/projects/PROJECT_ID/consumerQuotaMetrics
    

    Ganti kode berikut:

    • SERVICE_NAME: nama layanan Anda.
    • PROJECT_ID: ID project konsumen yang diminati.

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

    {
      "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",
                }
              ]
            }
          ],
        }
      ]
    }
    
  3. 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/METRIC_NAME
    

    Ganti METRIC_NAME dengan nama yang sepenuhnya memenuhi syarat dari metrik. Contoh:

    services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics/airport_requests

  4. 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/LIMIT_NAME
    

    Ganti LIMIT_NAME dengan nama yang sepenuhnya memenuhi syarat dari batas. Contoh:

    services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics/airport_requests/limits/%2Fmin%2Fproject

Menerapkan penggantian produser

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

  1. Untuk mengidentifikasi batas, pertama-tama gunakan salah satu metode sebelumnya untuk menemukan batas kuota yang diinginkan, lalu gunakan kolom namanya untuk menerapkan penggantian produsen ke batas tersebut:

    gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/LIMIT_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 panggilan berhasil, panggilan akan menampilkan ID operasi, yang merepresentasikan pekerjaan yang sedang berlangsung di server, saat perubahan kuota diterapkan ke sistem backend:

    {
      "name": "operations/quf.92accba3-6530-4fc1-9a95-c1280d48a6b7"
    }
    
  2. Untuk memeriksa progres operasi, gunakan namanya:

    gcurl https://serviceconsumermanagement.googleapis.com/v1/OPERATION_NAME
    

    Jika panggilan ini merespons dengan pesan yang menyertakan "done":true, maka operasi telah 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.

Memaksakan perubahan kuota 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 paksa:

gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/LIMIT_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 oleh 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 wilayah atau zona tertentu, gunakan kolom lokasi:

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