Batas penggunaan

Karena Google Workspace Events API adalah layanan bersama, kami menerapkan kuota dan batasan untuk memastikan bahwa layanan ini digunakan secara adil oleh semua pengguna dan untuk melindungi performa Google Workspace secara keseluruhan.

Jika melebihi kuota, Anda akan menerima respons kode status HTTP 429: Too many requests. Pemeriksaan batas kapasitas tambahan di backend Google Workspace Events API juga dapat menghasilkan respons error yang sama. Jika error ini terjadi, Anda harus menggunakan algoritma backoff eksponensial dan mencoba lagi nanti. Selama Anda tidak melebihi kuota per menit yang tercantum dalam tabel berikut, tidak ada batasan jumlah permintaan yang dapat Anda buat per hari.

Kuota per project

Kuota per project membatasi kapasitas kueri untuk satu project Google Cloud, sehingga berlaku untuk satu aplikasi yang memanggil metode Google Workspace Events API yang ditentukan untuk setiap kuota.

Detail tabel berikut adalah batas kueri per project. Anda juga dapat menemukan batas ini di halaman Quotas di Google Cloud Console.

Kuota Per project

Metode Google Workspace Events API

Batas

Menulis per menit

Subscriptions.create

Subscriptions.patch

Subscriptions.delete

Subscriptions.reactivate

600

Penulisan per menit per pengguna

Subscriptions.create

Subscriptions.patch

Subscriptions.delete

Subscriptions.reactivate

100

Pembacaan per menit

Subscriptions.get

Subscriptions.list

600

Pembacaan per menit per pengguna

Subscriptions.get

Subscriptions.list

100

Mengatasi error kuota berbasis waktu

Untuk semua error berbasis waktu (maksimum N permintaan per X menit), sebaiknya kode Anda menangkap pengecualian dan menggunakan backoff eksponensial terpotong untuk memastikan perangkat tidak menghasilkan beban yang berlebihan.

Backoff eksponensial adalah strategi penanganan error standar untuk aplikasi jaringan. Algoritma backoff eksponensial mencoba ulang permintaan menggunakan waktu tunggu yang meningkat secara eksponensial di antara permintaan, hingga waktu backoff maksimum. Jika permintaan masih tidak berhasil, pastikan penundaan di antara permintaan akan meningkat seiring waktu sampai permintaan berhasil.

Contoh algoritma

Algoritma backoff eksponensial mencoba ulang permintaan secara eksponensial, sehingga meningkatkan waktu tunggu antar-percobaan ulang hingga waktu backoff maksimum. Contoh:

  1. Buat permintaan ke Google Workspace Events API.
  2. Jika permintaan gagal, tunggu 1 + random_number_milliseconds dan coba lagi permintaan.
  3. Jika permintaan gagal, tunggu 2 + random_number_milliseconds dan coba lagi permintaan.
  4. Jika permintaan gagal, tunggu 4 + random_number_milliseconds dan coba lagi permintaan.
  5. Dan seterusnya, hingga maximum_backoff kali.
  6. Lanjutkan menunggu dan mencoba ulang hingga jumlah maksimum percobaan ulang, tetapi jangan meningkatkan waktu tunggu antar-percobaan ulang.

dalam hal ini:

  • Waktu tunggu adalah min(((2^n)+random_number_milliseconds), maximum_backoff), dengan n bertambah 1 untuk setiap iterasi (permintaan).
  • random_number_milliseconds adalah angka acak milidetik yang kurang dari atau sama dengan 1.000. Hal ini membantu menghindari kasus di mana banyak klien disinkronkan oleh beberapa situasi dan semua mencoba ulang sekaligus, mengirimkan permintaan dalam gelombang tersinkronisasi. Nilai random_number_milliseconds dihitung ulang setelah setiap permintaan percobaan ulang.
  • maximum_backoff biasanya 32 atau 64 detik. Nilai yang sesuai bergantung pada kasus penggunaan.

Klien dapat terus mencoba lagi setelah mencapai waktu maximum_backoff. Percobaan ulang setelah tahap ini tidak perlu terus meningkatkan waktu backoff. Misalnya, jika klien menggunakan waktu maximum_backoff 64 detik, setelah mencapai nilai ini, klien dapat mencoba lagi setiap 64 detik. Pada titik tertentu, klien harus dicegah mencoba ulang tanpa batas waktu.

Waktu tunggu antara percobaan ulang dan jumlah percobaan ulang bergantung pada kasus penggunaan dan kondisi jaringan Anda.

Meminta penambahan kuota per project

Bergantung pada penggunaan resource project, Anda mungkin ingin meminta penambahan kuota. Panggilan API oleh akun layanan dianggap menggunakan satu akun. Mengajukan permohonan penambahan kuota tidak menjamin persetujuan. Penambahan kuota yang besar dapat memerlukan waktu lebih lama untuk disetujui.

Tidak semua project memiliki kuota yang sama. Seiring meningkatnya penggunaan Google Cloud dari waktu ke waktu, kuota Anda mungkin perlu ditingkatkan. Jika Anda memperkirakan akan ada peningkatan penggunaan yang signifikan, Anda dapat secara proaktif meminta penyesuaian kuota dari halaman Kuota di Google Cloud Console.

Untuk mempelajari lebih lanjut, lihat referensi berikut: