Batas penggunaan

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

Jika melebihi kuota, Anda biasanya akan menerima respons kode status HTTP 429: Too many requests. Jika ini terjadi, Anda harus menggunakan algoritma backoff eksponensial dan mencoba lagi nanti. Asalkan Anda tetap memenuhi kuota per menit di bawah ini, tidak ada batasan jumlah permintaan yang dapat Anda buat per hari.

Catatan: Smartwatch formulir memiliki batas tambahan. Lihat Menyiapkan dan menerima notifikasi push untuk mengetahui informasi selengkapnya.

Tabel berikut menjelaskan batas permintaan:

Kuota
Permintaan baca
Per hari per project Tidak terbatas
Per menit per project 975
Per menit per pengguna per project 390
Permintaan baca yang mahal

(Digunakan untuk permintaan forms.responses.list.)

Per hari per project Tidak terbatas
Per menit per project 450
Per menit per pengguna per project 180
Permintaan tulis
Per hari per project Tidak terbatas
Per menit per project 375
Per menit per pengguna per project 150

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. Algoritme backoff eksponensial mencoba ulang permintaan menggunakan waktu tunggu yang meningkat secara eksponensial di antara permintaan, hingga waktu backoff maksimum. Jika permintaan masih tidak berhasil, penting bahwa penundaan di antara permintaan akan terus meningkat dari waktu ke waktu hingga permintaan berhasil.

Contoh algoritma

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

  1. Buat permintaan ke Google Formulir 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 maximum_backoff kali.
  6. Lanjutkan menunggu dan mencoba ulang hingga jumlah maksimum percobaan ulang, tetapi jangan tingkatkan periode tunggu di antara 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 percobaan ulang sekaligus, sehingga mengirimkan permintaan dalam gelombang sinkron. Nilai random_number_milliseconds dihitung ulang setelah setiap permintaan percobaan ulang.
  • maximum_backoff biasanya berdurasi 32 atau 64 detik. Nilai yang sesuai bergantung pada kasus penggunaan.

Klien dapat terus mencoba lagi setelah mencapai waktu maximum_backoff. Percobaan ulang setelah titik 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 saat tertentu, klien seharusnya tidak boleh mencoba lagi tanpa batas waktu.

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

Harga

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

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 terjadi 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: