Reference documentation and code samples for the Google API Common Protos Client class Quota.
Quota configuration helps to achieve fairness and budgeting in service usage.
The metric based quota configuration works this way:
- The service configuration defines a set of metrics.
- For API calls, the quota.metric_rules maps methods to metrics with corresponding costs.
- The quota.limits defines limits on the metrics, which will be used for
quota checks at runtime.
An example quota configuration in yaml format:
quota:
limits:
- name: apiWriteQpsPerProject metric: library.googleapis.com/write_calls unit: "1/min/{project}" # rate limit for consumer projects values: STANDARD: 10000 (The metric rules bind all methods to the read_calls metric, except for the UpdateBook and DeleteBook methods. These two methods are mapped to the write_calls metric, with the UpdateBook method consuming at twice rate as the DeleteBook method.) metric_rules:
- selector: "*" metric_costs: library.googleapis.com/read_calls: 1
- selector: google.example.library.v1.LibraryService.UpdateBook metric_costs: library.googleapis.com/write_calls: 2
- selector: google.example.library.v1.LibraryService.DeleteBook metric_costs: library.googleapis.com/write_calls: 1 Corresponding Metric definition: metrics:
- name: library.googleapis.com/read_calls display_name: Read requests metric_kind: DELTA value_type: INT64
- name: library.googleapis.com/write_calls display_name: Write requests metric_kind: DELTA value_type: INT64
Generated from protobuf message google.api.Quota
Namespace
Google \ ApiMethods
__construct
Constructor.
Parameters | |
---|---|
Name | Description |
data |
array
Optional. Data for populating the Message object. |
↳ limits |
array<QuotaLimit>
List of QuotaLimit definitions for the service. |
↳ metric_rules |
array<MetricRule>
List of MetricRule definitions, each one mapping a selected method to one or more metrics. |
getLimits
List of QuotaLimit definitions for the service.
Returns | |
---|---|
Type | Description |
Google\Protobuf\Internal\RepeatedField |
setLimits
List of QuotaLimit definitions for the service.
Parameter | |
---|---|
Name | Description |
var |
array<QuotaLimit>
|
Returns | |
---|---|
Type | Description |
$this |
getMetricRules
List of MetricRule definitions, each one mapping a selected method to one or more metrics.
Returns | |
---|---|
Type | Description |
Google\Protobuf\Internal\RepeatedField |
setMetricRules
List of MetricRule definitions, each one mapping a selected method to one or more metrics.
Parameter | |
---|---|
Name | Description |
var |
array<MetricRule>
|
Returns | |
---|---|
Type | Description |
$this |