Halaman ini menjelaskan penggunaan project kuota dan cara project tersebut ditentukan. Dengan memastikan project kuota Anda ditetapkan dengan benar, Anda dapat menghindari permintaan yang gagal ke Google Cloud API dan error kuota yang tidak perlu.
Setiap permintaan ke Google Cloud API dihitung berdasarkan kuota. Karena kuota diberlakukan pada setiap project, artinya setiap permintaan memerlukan project untuk menyediakan kuota. Project tersebut disebut project kuota. Terkadang project tersebut juga disebut sebagai project penagihan. Project penagihan dan project kuota adalah project yang sama. Untuk mempelajari lebih lanjut, lihat artikel Cara menetapkan project kuota.
Cara project kuota ditentukan
Cara project kuota ditentukan bergantung pada jenis API yang Anda gunakan: API berbasis resource atau API berbasis klien.
API berbasis resource
Untuk Google Cloud API berbasis resource, project yang menyediakan kuota untuk panggilan API juga merupakan project yang berisi resource yang sedang diakses. Misalnya, saat membuat instance Compute Engine, Anda harus menentukan project untuk instance baru tersebut. Selanjutnya, project berisi instance yang baru dibuat. Kemudian, jika Anda menjalankan operasi pada instance Compute Engine, project yang berisi instance tersebut akan menyediakan kuota untuk permintaan tersebut. Hal ini berlaku terlepas dari apakah Anda menggunakan Google Cloud CLI, REST, atau library klien.
Anda tidak dapat mengubah project kuota yang digunakan oleh permintaan ke API berbasis resource. Permintaan ini selalu menggunakan project yang berisi resource tempat permintaan tersebut beroperasi.
API berbasis klien
Jika API bukan API berbasis resource, berarti API tersebut adalah API berbasis klien. Misalnya, Cloud Translation API adalah API berbasis klien yang umum digunakan.
Saat Anda membuat permintaan ke API berbasis klien, permintaan akan gagal jika project kuota tidak dapat diidentifikasi.
Project kuota dapat ditetapkan dengan beberapa cara, dan project akan diverifikasi dengan memeriksa opsi berikut. Urutan yang tercantum adalah urutan prioritasnya.
- Project kuota yang ditetapkan di lingkungan atau permintaan.
- Jika Anda menggunakan kunci API untuk memberikan kredensial bagi permintaan, project yang terkait dengan kunci API akan digunakan sebagai project kuota.
- Jika Anda menggunakan Google Cloud CLI untuk mendapatkan token akses, dan telah melakukan autentikasi ke gcloud CLI dengan kredensial pengguna, project bersama gcloud CLI terkadang digunakan sebagai project kuota. Tidak semua API berbasis klien kembali ke proyek bersama.
- Jika akun utama untuk panggilan API adalah akun layanan, termasuk dengan peniruan identitas, project yang terkait dengan akun layanan tersebut akan digunakan sebagai project kuota.
- Jika akun utama untuk API adalah pengguna federasi identitas tenaga kerja, project pengguna kumpulan tenaga kerja digunakan sebagai project kuota.
Jika tidak ada satu pun pemeriksaan di atas yang menghasilkan project kuota, permintaan akan gagal.
Tentang project bersama gcloud CLI untuk API berbasis klien
Jika Anda menggunakan gcloud CLI untuk membuat permintaan ke API berbasis klien tanpa menetapkan project kuota, permintaan tersebut mungkin akan kembali ke project bersama gcloud CLI, atau permintaan mungkin akan gagal. Project bersama gcloud CLI digunakan oleh semua permintaan gcloud CLI di semua project. Jadi, jika banyak permintaan gcloud CLI lainnya yang juga menggunakan project ini sebagai project kuota mereka, kuota untuk project bersama mungkin akan habis untuk sementara. Jika hal ini terjadi, permintaan Anda akan gagal dengan pesan error kehabisan kuota.
Identifikasi project kuota saat ini untuk API berbasis klien
Guna mengidentifikasi project yang digunakan untuk perintah gcloud CLI, sertakan flag
--log-http
dengan gcloud CLI untuk mencetak header perintah. Login
ini menyertakan project yang digunakan untuk perintah ini sebagai project kuota di kolom
X-Goog-User-Project
.
Menentukan apakah API berbasis resource atau berbasis klien
Anda mungkin mengalami kesulitan dalam menentukan jenis API yang Anda gunakan Namun,
aktivasi dan kuota diberlakukan dengan cara yang sama. Jika akun layanan dari
project A memanggil metode baca di project B, dan tidak ada project yang mengaktifkan API,
pesan error API not enabled
akan menunjukkan project mana yang
diperiksa aktivasinya. Project yang diperiksa aktivasinya adalah project
yang sama dengan project yang diperiksa kuota kapasitasnya.
Langkah selanjutnya
- Cara menetapkan project kuota
- Pelajari lebih lanjut tentang Kredensial Default Aplikasi
- Dapatkan informasi selengkapnya tentang autentikasi
- Pelajari quotas