Class Quota (2.15.0)

 public sealed class Quota : IMessage<Quota>, IEquatable<Quota>, IDeepCloneable<Quota>, IBufferMessage, IMessage 

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 

Inheritance

object > Quota

Namespace

Google.Api

Assembly

Google.Api.CommonProtos.dll

Constructors

Quota()

 public Quota() 

Quota(Quota)

 public Quota(Quota other) 
Parameter
Name
Description
other

Fields

LimitsFieldNumber

  public 
  
 const 
  
 int 
  
 LimitsFieldNumber 
  
 = 
  
 3 
 

Field number for the "limits" field.

Field Value
Type
Description
int

MetricRulesFieldNumber

  public 
  
 const 
  
 int 
  
 MetricRulesFieldNumber 
  
 = 
  
 4 
 

Field number for the "metric_rules" field.

Field Value
Type
Description
int

Properties

Descriptor

 public static MessageDescriptor Descriptor { get; } 
Property Value
Type
Description

Limits

 public RepeatedField<QuotaLimit> Limits { get; } 

List of QuotaLimit definitions for the service.

Property Value
Type
Description

MetricRules

 public RepeatedField<MetricRule> MetricRules { get; } 

List of MetricRule definitions, each one mapping a selected method to one or more metrics.

Property Value
Type
Description

Parser

 public static MessageParser<Quota> Parser { get; } 
Property Value
Type
Description

Methods

CalculateSize()

 public int CalculateSize() 

Calculates the size of this message in Protocol Buffer wire format, in bytes.

Returns
Type
Description
int

The number of bytes required to write this message to a coded output stream.

Clone()

 public Quota Clone() 

Creates a deep clone of this object.

Returns
Type
Description

A deep clone of this object.

Equals(Quota)

 public bool Equals(Quota other) 
Parameter
Name
Description
other
Returns
Type
Description

Equals(object)

 public override bool Equals(object other) 
Parameter
Name
Description
other
Returns
Type
Description
Overrides

GetHashCode()

 public override int GetHashCode() 
Returns
Type
Description
int
Overrides

MergeFrom(Quota)

 public void MergeFrom(Quota other) 

Merges the given message into this one.

Parameter
Name
Description
other
Remarks

See the user guide for precise merge semantics.

MergeFrom(CodedInputStream)

 public void MergeFrom(CodedInputStream input) 

Merges the data from the specified coded input stream with the current message.

Parameter
Name
Description
Remarks

See the user guide for precise merge semantics.

ToString()

 public override string ToString() 
Returns
Type
Description
Overrides

WriteTo(CodedOutputStream)

 public void WriteTo(CodedOutputStream output) 

Writes the data to the given coded output stream.

Parameter
Name
Description
output
CodedOutputStream

Coded output stream to write the data to. Must not be null.

Design a Mobile Site
View Site in Mobile | Classic
Share by: