Service Usage V1 API - Class Google::Api::Quota (v0.1.4)

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

#limits=

def limits=(value) -> ::Array<::Google::Api::QuotaLimit>
Parameter
Returns

#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.