Karena Google Vault API adalah layanan bersama, kami menerapkan kuota dan batasan untuk memastikan bahwa layanan ini digunakan secara adil oleh semua pengguna dan untuk melindungi kondisi sistem Google Workspace secara keseluruhan.
Batas produk
Anda dapat memiliki tidak lebih dari 20 ekspor yang sedang berlangsung di seluruh organisasi Anda.
Kuota permintaan API
Setiap organisasi diizinkan 600 pembacaan masalah per menit, di seluruh project dan pengguna, termasuk permintaan melalui Vault API dan vault.google.com.
Tabel berikut mencantumkan batas permintaan per menit per project:
Permintaan baca per menit per project | |
---|---|
Ekspor, masalah, dan kueri tersimpan | 120 |
Tahan | 228 |
Operasi yang berjalan lama | 300 |
Permintaan tulis per menit per project | |
---|---|
Ekspor | 20 |
Tahan | 60 |
Izin Matter | 30 |
Matter | 60 |
Kueri tersimpan | 45 |
Menelusuri (jumlah) permintaan per menit per project | |
---|---|
Telusuri jumlah | 20 |
Penggunaan kuota menurut metode
Kuota yang digunakan oleh permintaan bergantung pada metode yang dipanggil. Tabel berikut mencantumkan penggunaan kuota per metode:
Metode | Biaya kuota |
---|---|
matters.close matters.create matters.delete matters.reopen matters.update matters.undelete
|
1 pembacaan masalah 1 penulisan masalah |
matters.count |
1 jumlah |
matters.get |
1 kasus dibaca |
matters.list |
10 pembacaan kasus |
matters.addPermissions matters.removePermissions
|
1 pembacaan masalah 1 penulisan masalah 1 izin penulisan masalah |
matters.exports.create |
1 pembacaan ekspor 10 penulisan ekspor |
matters.exports.delete |
1 ekspor tulis |
matters.exports.get |
1 pembacaan ekspor |
matters.exports.list |
5 pembacaan ekspor |
matters.holds.addHeldAccounts matters.holds.create matters.holds.delete matters.holds.removeHeldAccounts matters.holds.update
|
1 pembacaan masalah 1 penulisan masalah 1 operasi baca pembekuan 1 operasi tulis masalah |
matters.holds.list |
1 kasus dibaca 3 pembacaan pembekuan |
matters.holds.accounts.create matters.holds.accounts.delete matters.holds.accounts.list
|
1 pembacaan masalah 1 penulisan masalah 1 operasi baca pembekuan 1 operasi tulis masalah |
matters.savedQueries.create matters.savedQueries.delete
|
1 pembacaan masalah 1 penulisan masalah 1 pembacaan kueri tersimpan 1 penulisan kueri tersimpan |
matters.savedQueries.get |
1 kasus dibaca 1 kueri tersimpan dibaca |
matters.savedQueries.list |
1 kasus dibaca 3 pembacaan kueri tersimpan |
operations.get |
1 operasi yang berjalan lama dibaca |
Mengatasi error kuota berbasis waktu
Jika melebihi kuota per menit atau per organisasi, Anda biasanya akan mendapatkan
respons kode status HTTP 429: Too many requests
.
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:
- Buat permintaan ke Google Vault API.
- Jika permintaan gagal, tunggu 1 +
random_number_milliseconds
dan coba lagi permintaan. - Jika permintaan gagal, tunggu 2 +
random_number_milliseconds
dan coba lagi permintaan. - Jika permintaan gagal, tunggu 4 +
random_number_milliseconds
dan coba lagi permintaan. - Dan seterusnya, hingga
maximum_backoff
kali. - 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)
, dengann
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. Nilairandom_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
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:
- Tentang permintaan penambahan kuota
- Melihat penggunaan dan batas kuota Anda saat ini
- Meminta batas kuota yang lebih tinggi
Harga
Semua penggunaan Google Vault API tersedia tanpa biaya tambahan untuk pelanggan Google Workspace.