Halaman ini menjelaskan cara mengonfigurasi kuota untuk API Anda. Pada tingkat yang tinggi, langkah-langkahnya adalah:
- Tambahkan informasi tentang kuota ke file konfigurasi gRPC API Anda.
- Deploy file konfigurasi gRPC API Anda.
- Deploy Extensible Service Proxy (ESP).
Untuk mengetahui ringkasan fungsi yang disediakan oleh kuota, lihat Tentang kuota.
Prasyarat
Sebagai titik awal, halaman ini mengasumsikan bahwa Anda telah:
- Cloud Endpoints yang dikonfigurasi.
- Men-deploy konfigurasi Endpoints.
- Men-deploy backend API.
- Mengonfigurasi API Anda untuk menggunakan kunci API. Hal ini diperlukan agar Endpoints dapat mengidentifikasi project Google Cloud yang terkait dengan aplikasi yang melakukan panggilan. Lihat Membagikan API yang dilindungi oleh kunci API untuk mengetahui informasi selengkapnya.
Menambahkan kuota ke file konfigurasi gRPC API Anda
Prosedur berikut menjelaskan cara menambahkan setelan yang diperlukan ke file konfigurasi gRPC API untuk menyiapkan kuota. Untuk mempermudah, halaman ini merujuk pada file konfigurasi gRPC API sebagai file api_config.yaml
.
Anda menambahkan tiga bagian berikut ke file api_config.yaml
:
metrics
: Metrik bernama yang menghitung permintaan ke API Anda. Anda memberikan nama yang menjelaskan penghitung. Nama tersebut bisa berupa kategori, sepertiread-requests
atauwrite-requests
. Atau, jika Anda menentukan kuota untuk metode tertentu, Anda mungkin ingin menyertakan nama metode, misalnya,echo-api/echo_requests
.quota.limits
: Merepresentasikan satu batas yang dapat diterapkan pada metrik bernama. Di sinilah Anda mengonfigurasi jumlah permintaan yang diizinkan untuk metrik yang telah Anda tentukan. Saat ini, hanya batas per menit, per project yang didukung.quota.metric_rules
:metric_rule
memetakan metode ke metrik (banyak-ke-banyak). Permintaan ke suatu metode mengalokasikan penghitung untuk setiap metrik yang dipetakan. Saat mengaitkan metode dengan metrik, Anda selalu menentukan biaya untuk permintaan. Anda dapat mengonfigurasi biaya setiap metode secara terpisah. Hal ini memungkinkan metode yang berbeda untuk menggunakan metrik bernama yang sama dengan kecepatan yang berbeda. Jika tidak memiliki persyaratan kuota yang kompleks, Anda dapat mengonfigurasi biaya setiap metrik menjadi 1.
Untuk mengonfigurasi kuota di API Anda:
- Buka file
api_config.yaml
project Anda di editor teks. Tambahkan kolom
metrics
di tingkat teratas file (tidak diindentasi atau bertumpuk), setelah kolomapis
.`metrics: - name: "YOUR_METRIC_NAME" display_name: "YOUR_METRIC_DISPLAY_NAME" value_type: INT64 metric_kind: DELTA`
- Ganti
YOUR_METRIC_NAME
dengan nama yang mendeskripsikan penghitung permintaan API. - Ganti
YOUR_METRIC_DISPLAY_NAME
dengan teks yang ditampilkan di halaman Endpoints > Services > Quotas untuk mengidentifikasi metrik. - Kolom
value_type
harus berupaINT64
. - Kolom
metric_kind
harus berupaDELTA
.
- Ganti
Tambahkan kolom
quota
di tingkat yang sama denganmetrics
, dan tambahkan kolomlimits
yang berada di dalam bagianquota
.quota: limits: - name: "YOUR_LIMIT_NAME" metric: "YOUR_METRIC_NAME" unit: "1/min/{project}" values: STANDARD: VALUE_FOR_THE_LIMIT
- Ganti
YOUR_LIMIT_NAME
dengan nama yang mendeskripsikan batas. - Ganti
YOUR_METRIC_NAME
denganmetric.name
yang ditentukan sebelumnya. - Kolom
unit
harus berupa"1/min/{project}"
. Ini adalah ID untuk batas per menit per project. - Kolom
values
harus berisiSTANDARD
. - Ganti
VALUE_FOR_THE_LIMIT
dengan nilai bilangan bulat. Ini adalah jumlah permintaan yang dapat dibuat oleh aplikasi yang terkait dengan project konsumen dalam satu menit. Google Cloud
- Ganti
Secara opsional, tentukan metrik dan batas tambahan untuk setiap metrik.
Tambahkan baris
metric_rules
yang diindentasi di bawahquota
, setelah bagianlimits
. Dalam bagianmetric_rules
, kaitkan metrik yang telah ditentukan sebelumnya dengan metode, sebagai berikut:metric_rules: - metric_costs: YOUR_METRIC_NAME: YOUR_METRIC_COST selector: [METHODS]
- Ganti
YOUR_METRIC_NAME
denganmetric.name
yang ditentukan sebelumnya. - Ganti
YOUR_METRIC_COST
dengan bilangan bulat. Untuk setiap permintaan, penghitung permintaan untuk metrik akan bertambah sesuai dengan jumlah yang Anda tentukan untuk biaya. Untuk kolom
selector
, Anda dapat menentukan salah satu hal berikut:- Untuk mengaitkan semua metode di semua API dengan penggunaan
metric_cost
, gunakanselector: "*"
- Untuk mengaitkan semua metode dalam API dengan penggunaan
metric_cost
, gunakanselector: YOUR_API_NAME.*
- Untuk mengaitkan metode tertentu dalam API dengan
metric_cost
gunakanselector: YOUR_API_NAME.YOUR_METHOD_NAME
- Untuk mengaitkan semua metode di semua API dengan penggunaan
- Ganti
Simpan file
api_config.yaml
.
Contoh konfigurasi kuota
Tiga contoh berikut menunjukkan cara mengonfigurasi kuota di API Anda.
Contoh berikut menunjukkan cara mengonfigurasi kolom metric
:
metrics: # Define a metric for read requests. - name: "read-requests" display_name: "Read requests" value_type: INT64 metric_kind: DELTA`
Contoh berikut menunjukkan cara mengonfigurasi kolom quota
dan limits
dalam bagian quota
:
metrics: # Define a metric for read requests. - name: "read-requests" display_name: "Read requests" value_type: INT64 metric_kind: DELTA quota: limits: # Define the limit or the read-requests metric. - name: "read-limit" metric: "read-requests" unit: "1/min/{project}" values: STANDARD: 1000
Contoh berikut menunjukkan cara mengonfigurasi baris metrics
setelah bagian limits
:
metrics:
# Define a metric for read requests.
- name: "read-requests"
display_name: "Read requests"
value_type: INT64
metric_kind: DELTA
quota:
limits:
# Define the limit or the read-requests metric.
- name: "read-limit"
metric: "read-requests"
unit: "1/min/{project}"
values:
STANDARD: 1000
metric_rules:
- metric_costs:
"read-requests": 1
selector: *
Men-deploy file api_config.yaml
dan ESP
Agar kuota berlaku, Anda harus:
- Deploy file
api_config.yaml
ke Pengelolaan Layanan, yang memperbarui konfigurasi di Endpoint. Untuk mengetahui langkah-langkah mendetail, lihat Men-deploy konfigurasi Endpoints. - Deploy ESP. Untuk mengetahui langkah-langkah mendetail, lihat Men-deploy backend API.