Karena Google Drive API adalah layanan bersama, kami menerapkan kuota dan batasan untuk memastikan alamat digunakan secara adil oleh semua pengguna dan untuk melindungi performa secara keseluruhan dari sistem Google Workspace.
Notifikasi dikirim ke alamat yang ditentukan saat
membuka saluran notifikasi tidak mengurangi batas kuota. Namun,
panggilan ke changes.watch
,
channels.stop
, dan
Metode files.watch
mengurangi
kuota Anda.
Jika melebihi kuota, Anda akan menerima 403: User rate limit
exceeded
Respons kode status HTTP. Pemeriksaan batas kapasitas tambahan di
Backend Drive juga dapat menghasilkan 429: Too many
requests
yang dihasilkan. Jika ini terjadi, Anda harus menggunakan backoff eksponensial
algoritme dan coba lagi nanti. Asalkan Anda tetap berada dalam
karena kuota per menit di bawah ini, tidak ada batasan jumlah permintaan yang dapat Anda buat
per hari.
Tabel berikut menjelaskan batas kueri:
Kuota | |||||
---|---|---|---|---|---|
Kueri |
|
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 tidak menimbulkan beban berlebihan.
Backoff eksponensial adalah strategi penanganan error standar untuk aplikasi jaringan. Channel algoritma backoff eksponensial mencoba kembali permintaan menggunakan waktu tunggu yang meningkat secara eksponensial antarpermintaan, hingga waktu backoff maksimum. Jika permintaan tetap tidak berhasil, bahwa penundaan di antara permintaan akan meningkat seiring waktu sampai permintaan berhasil.
Contoh algoritma
Algoritma backoff eksponensial mencoba kembali permintaan secara eksponensial, sehingga meningkatkan waktu tunggu di antara percobaan ulang hingga waktu backoff maksimum. Contoh:
- Buat permintaan ke Google Drive API.
- Jika permintaan gagal, tunggu 1 +
random_number_milliseconds
dan coba lagi terhadap permintaan. - Jika permintaan gagal, tunggu 2 +
random_number_milliseconds
dan coba lagi terhadap permintaan. - Jika permintaan gagal, tunggu 4 +
random_number_milliseconds
dan coba lagi terhadap permintaan. - Dan seterusnya, hingga
maximum_backoff
kali. - Terus tunggu dan coba lagi hingga jumlah maksimum percobaan ulang, tetapi jangan tingkatkan waktu tunggu yang sama di antara percobaan ulang.
dalam hal ini:
- Waktu tunggunya 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 percobaan ulang sekaligus, mengirimkan permintaan secara ombak. Nilairandom_number_milliseconds
dihitung ulang setelah masing-masing permintaan percobaan ulang.maximum_backoff
biasanya 32 atau 64 detik. Nilai yang sesuai bergantung pada kasus penggunaannya.
Klien dapat terus mencoba ulang setelah mencapai waktu maximum_backoff
.
Percobaan ulang setelah tahap ini tidak perlu terus meningkatkan waktu backoff. Sebagai
Misalnya, jika klien menggunakan waktu maximum_backoff
selama 64 detik, maka setelah mencapai
nilai ini, klien dapat
mencoba ulang setiap 64 detik. Pada titik tertentu,
klien harus dicegah agar tidak
melakukan percobaan ulang tanpa batas waktu.
Waktu tunggu antara percobaan ulang dan jumlah percobaan ulang bergantung pada kasus penggunaan Anda dan kondisi jaringan.
Harga
Semua penggunaan Google Drive API tersedia tanpa biaya tambahan. Melebihi kuota batas permintaan tidak dikenai biaya tambahan dan akun Anda tidak ditagih.
Meminta penambahan kuota
Bergantung pada penggunaan resource project, Anda mungkin ingin meminta kuota meningkat. Panggilan API oleh akun layanan dianggap menggunakan akun tunggal. Mengajukan permohonan agar kuota ditambah tidak menjamin persetujuan. Besar peningkatan kuota mungkin memerlukan waktu lebih lama untuk disetujui.
Tidak semua project memiliki kuota yang sama. Seiring dengan meningkatnya penggunaan Google Cloud kuota Anda mungkin perlu ditingkatkan. Jika Anda mengharapkan peristiwa penting meningkat, Anda dapat secara proaktif meminta penyesuaian kuota dari halaman Quotas di konsol Google Cloud.
Untuk mempelajari lebih lanjut, lihat referensi berikut:
- Tentang permintaan penambahan kuota
- Melihat penggunaan dan batas kuota saat ini
- Meminta batas kuota yang lebih tinggi