Reference documentation and code samples for the Service Usage V1 API class Google::Api::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
Inherits
- Object
Extended By
- Google::Protobuf::MessageExts::ClassMethods
Includes
- Google::Protobuf::MessageExts
Methods
#limits
def limits() -> ::Array<::Google::Api::QuotaLimit>
Returns
- (::Array<::Google::Api::QuotaLimit>) — List of QuotaLimit definitions for the service.
#limits=
def limits=(value) -> ::Array<::Google::Api::QuotaLimit>
Parameter
- value (::Array<::Google::Api::QuotaLimit>) — List of QuotaLimit definitions for the service.
Returns
- (::Array<::Google::Api::QuotaLimit>) — List of QuotaLimit definitions for the service.
#metric_rules
def metric_rules() -> ::Array<::Google::Api::MetricRule>
Returns
- (::Array<::Google::Api::MetricRule>) — List of MetricRule definitions, each one mapping a selected method to one or more metrics.
#metric_rules=
def metric_rules=(value) -> ::Array<::Google::Api::MetricRule>
Parameter
- value (::Array<::Google::Api::MetricRule>) — List of MetricRule definitions, each one mapping a selected method to one or more metrics.
Returns
- (::Array<::Google::Api::MetricRule>) — List of MetricRule definitions, each one mapping a selected method to one or more metrics.