Batas penggunaan

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

Notifikasi yang dikirim ke alamat yang ditentukan saat membuka saluran notifikasi tidak akan mengurangi batas kuota Anda. Namun, panggilan ke metode changes.watch, channels.stop, dan files.watch akan mengurangi kuota Anda.

Jika melebihi kuota, Anda akan menerima respons kode status HTTP 403: User rate limit exceeded. Pemeriksaan pembatasan kapasitas tambahan di backend Drive juga dapat menghasilkan respons 429: Too many requests. Jika hal ini terjadi, Anda harus menggunakan algoritma backoff eksponensial dan mencoba lagi nanti. Selama Anda tetap berada dalam kuota per menit di bawah, tidak ada batasan jumlah permintaan yang dapat Anda buat per hari.

Tabel berikut menjelaskan batas kueri:

Kuota
Kueri
Per 60 detik 12.000
Per 60 detik per pengguna 12.000

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 Anda 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 gagal, penundaan antar-permintaan harus meningkat seiring waktu hingga 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 Drive API.
  2. Jika permintaan gagal, tunggu 1 + random_number_milliseconds dan coba lagi permintaan tersebut.
  3. Jika permintaan gagal, tunggu 2 + random_number_milliseconds dan coba lagi permintaan tersebut.
  4. Jika permintaan gagal, tunggu 4 + random_number_milliseconds dan coba lagi permintaan tersebut.
  5. Dan seterusnya, hingga waktu maximum_backoff.
  6. Terus tunggu dan coba ulang hingga jumlah maksimum percobaan ulang, tetapi jangan tambah 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 jumlah acak milidetik yang kurang dari atau sama dengan 1.000. Hal ini membantu menghindari kasus saat banyak klien disinkronkan oleh beberapa situasi dan semua mencoba lagi sekaligus, sehingga mengirimkan permintaan dalam gelombang yang disinkronkan. Nilai random_number_milliseconds dihitung ulang setelah setiap permintaan coba lagi.
  • maximum_backoff biasanya 32 atau 64 detik. Nilai yang sesuai bergantung pada kasus penggunaan.

Klien dapat terus mencoba ulang 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 agar tidak mencoba ulang tanpa batas.

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

Harga

Semua penggunaan Google Drive API tersedia tanpa biaya tambahan. Melebihi batas permintaan kuota tidak akan menimbulkan biaya tambahan dan akun Anda tidak akan ditagih.

Meminta penambahan kuota

Bergantung pada penggunaan resource project, Anda mungkin ingin meminta peningkatan kuota. Panggilan API oleh akun layanan dianggap menggunakan akun tunggal. Mengajukan permohonan untuk penambahan kuota belum tentu disetujui. Penambahan kuota yang besar membutuhkan 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 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: