Batas dan kuota melindungi infrastruktur Google dari proses otomatis yang menggunakan Alert Center API dengan cara yang tidak tepat. Permintaan yang berlebihan dari API mungkin disebabkan oleh kesalahan ketik yang tidak berbahaya, atau mungkin disebabkan oleh sistem yang dirancang secara tidak efisien sehingga melakukan panggilan API yang tidak perlu. Terlepas dari penyebabnya, memblokir traffic dari sumber tertentu setelah mencapai tingkat tertentu diperlukan untuk kesehatan keseluruhan sistem Google Workspace. Hal ini memastikan bahwa tindakan satu developer tidak dapat berdampak negatif pada komunitas yang lebih besar.
Jika permintaan API Anda gagal, Anda akan menerima respons kode status HTTP. Kode status 403 memiliki informasi error tentang input yang salah dan kode status HTTP 503 memiliki informasi error yang menunjukkan kuota API mana yang telah terlampaui. Respons ini memungkinkan aplikasi kustom Anda mendeteksi error ini dan mengambil tindakan yang sesuai.
Jika permintaan Anda harus diselesaikan dalam jangka waktu tetap, kirim permintaan Anda secara paralel atau gunakan beberapa thread di aplikasi Java atau C# Anda. Contoh permintaan paralel adalah meminta batch kecil email dari pengguna yang berbeda, bukan menambahkan atau menghapus banyak email dari satu pengguna secara bersamaan. Untuk rangkaian pesan, coba mulai dengan 10 rangkaian pesan, satu rangkaian pesan per email pengguna. Perhatikan bahwa rekomendasi thread memiliki kekurangan dan tidak berguna untuk semua situasi API. Jika jumlah permintaan terlalu tinggi, error kuota akan terjadi.
Untuk semua error berbasis waktu (maksimum N item selama N detik per thread), terutama error kode status 503, sebaiknya kode Anda menangkap pengecualian dan, menggunakan algoritma backoff eksponensial, menunggu penundaan singkat sebelum mencoba ulang panggilan yang gagal. Contoh Alert Center API untuk satu thread adalah menunggu 5 detik dan mencoba ulang panggilan yang gagal. Jika permintaan berhasil, ulangi pola ini untuk thread lainnya. Jika permintaan kedua tidak berhasil, aplikasi Anda harus mengurangi frekuensi permintaan hingga panggilan berhasil. Misalnya, tingkatkan penundaan awal 5 detik menjadi 10 detik dan coba lagi panggilan yang gagal. Selain itu, tentukan batas percobaan ulang. Misalnya, coba lagi permintaan 5 hingga 7 kali dengan waktu tunda yang berbeda sebelum aplikasi Anda menampilkan error kepada pengguna.
| Kategori Batas API | Batas |
|---|---|
| Tingkat QPS dan QPD Pusat Notifikasi | API membatasi jumlah permintaan untuk project Konsol API Anda. Jumlah maksimum permintaan per detik (QPS project) project API adalah 1.000. Selain itu, jumlah maksimum permintaan per pengguna per detik (QPS pengguna) adalah 150.
Jika batas ini terlampaui, server akan menampilkan kode status HTTP |
| Jenis Batas Lainnya | Batasan dan Pedoman |
|---|---|
| Format data, default | Format data default adalah JSON. |
| Permintaan tidak sah | Google tidak mengizinkan permintaan yang tidak sah ke API ini. Permintaan dianggap tidak sah jika tidak ada token otorisasi yang diberikan. Untuk mengetahui informasi selengkapnya, lihat Mengizinkan permintaan. |
Meminta penambahan kuota per project
Bergantung pada penggunaan resource project, Anda mungkin ingin meminta penyesuaian kuota. Panggilan API oleh akun layanan dianggap menggunakan satu akun. Mengajukan permohonan untuk penyesuaian kuota belum tentu disetujui. Permintaan penyesuaian kuota yang akan meningkatkan nilai kuota secara signifikan membutuhkan waktu lebih lama untuk disetujui.
Tidak semua project memiliki kuota yang sama. Seiring meningkatnya penggunaan Google Cloud dari waktu ke waktu, nilai kuota Anda mungkin perlu ditingkatkan. Jika Anda memperkirakan adanya peningkatan penggunaan yang signifikan di masa mendatang, Anda dapat secara proaktif meminta penyesuaian kuota dari halaman Kuota di konsol Google Cloud.
Untuk mempelajari lebih lanjut, lihat referensi berikut:
- Tentang penyesuaian kuota
- Melihat penggunaan dan batas kuota saat ini
- Meminta batas kuota yang lebih tinggi