In questa pagina viene descritto come configurare le quote per l'API. A un livello generale, i passaggi necessari sono:
- Aggiungere le informazioni sulla quota al file di configurazione OpenAPI.
 - Distribuire il file di configurazione OpenAPI.
 - Esegui il deployment di Extensible Service Proxy (ESP).
 
Per una panoramica delle funzionalità fornite dalle quote, consulta Informazioni sulle quote.
Prerequisiti
Per iniziare, questa pagina presuppone che tu abbia:
- Cloud Endpoints configurato
 - Esegui il deployment della configurazione di Endpoints.
 - Esegui il deployment del backend dell'API.
 - Hai configurato l'API in modo che utilizzi una chiave API. Questo è necessario per consentire a Endpoints di identificare il progetto Google Cloud a cui è associata l'applicazione chiamante. Per ulteriori informazioni, consulta Condivisione di API protette da chiave API.
 
Aggiungere una quota al documento OpenAPI
La seguente procedura descrive l'aggiunta delle estensioni richieste al documento OpenAPI per configurare le quote. Per semplicità, questa pagina fa riferimento al documento OpenAPI come file openapi.yaml e fornisce le estensioni OpenAPI solo in formato YAML.
Aggiungi le seguenti tre sezioni al file openapi.yaml:
x-google-management.metrics: una metrica denominata che conteggia le richieste alla tua API. Fornisci un nome che descriva il contatore. Il nome può essere una categoria, ad esempioread-requestsowrite-requests. In alternativa, se stai definendo una quota per un metodo specifico, potresti voler includere il nome del metodo, ad esempioecho-api/echo_requestsx-google-management.quota.limits: rappresenta un singolo limite applicabile a una metrica denominata. Qui puoi configurare il numero consentito di richieste per una metrica che hai definito. Al momento sono supportati solo limiti per minuto e per progetto.x-google-quota.metricCosts: i metodi dimetricCostsper le metriche (molti a molti). Una richiesta a un metodo alloca un contatore per ciascuna delle metriche mappate. Quando associ un metodo a una metrica, devi sempre specificare un costo per la richiesta. Puoi configurare il costo di ogni metodo in modo indipendente. Ciò consente a metodi diversi di utilizzare la stessa metrica denominata a velocità diverse. Se non hai un requisito di quota complesso, puoi configurare il costo di ogni metrica su 1.
Per configurare le quote nell'API:
- Apri il file 
openapi.yamldel progetto in un editor di testo. - Se non l'hai già fatto, aggiungi l'estensione 
x-google-managementalla radice del file (non rientrata o nidificata) prima della sezione che definisce i percorsi. Aggiungi la definizione
metricsrientrata inx-google-management.x-google-management: metrics: - name: "YOUR_METRIC_NAME" displayName: "YOUR_METRIC-DISPLAY_NAME" valueType: INT64 metricKind: DELTA- Sostituisci 
YOUR_METRIC_NAMEcon un nome che descriva il contatore delle richieste API. - Sostituisci 
YOUR_METRIC_DISPLAY_NAMEcon il testo visualizzato nella pagina Endpoint > Servizi > Quote per identificare la metrica. - Il campo 
valueTypedeve essereINT64. - Il campo 
metricKinddeve essereDELTA. 
- Sostituisci 
 Aggiungi un campo
quotaallo stesso livello dimetricse un campolimitsnidificato all'interno della sezionequota.quota: limits: - name: "YOUR_LIMIT_NAME" metric: "YOUR_METRIC_NAME" unit: "1/min/{project}" values: STANDARD: VALUE_FOR_THE_LIMIT- Sostituisci 
YOUR_LIMIT_NAMEcon un nome che descriva il limite. - Sostituisci 
YOUR_METRIC_NAMEcon unmetric.namedefinito in precedenza. - Il campo 
unitdeve essere"1/min/{project}". Questo è l'identificatore del limite per minuto per progetto. - Il campo 
valuesdeve contenereSTANDARD. - Sostituisci 
VALUE_FOR_THE_LIMITcon un valore intero. È il numero di richieste che un'applicazione associata a un progetto di un consumatore può effettuare in un minuto. Google Cloud 
- Sostituisci 
 Facoltativamente, definisci metriche e limiti aggiuntivi per ogni metrica.
Nella sezione
pathsdel fileopenapi.yaml, aggiungi l'estensionex-google-quotaindentata sotto ogni metodo a cui vuoi applicare una quota.x-google-quota: metricCosts: YOUR_METRIC_NAME: YOUR_METRIC_COST- Sostituisci 
YOUR_METRIC_NAMEcon unmetric.namedefinito in precedenza. - Sostituisci 
YOUR_METRIC_COSTcon un numero intero. Per ogni richiesta, il contatore delle richieste per la metrica viene incrementato del numero specificato per il costo. 
- Sostituisci 
 Salva il file
openapi.yaml.
Esempi di configurazione delle quote
I tre esempi seguenti mostrano come configurare le quote per l'API.
Il seguente esempio mostra come configurare il campo metric:
x-google-management:
  metrics:
    # Define a metric for read requests.
    - name: "read-requests"
      displayName: "Read requests"
      valueType: INT64
      metricKind: DELTAL'esempio seguente mostra come configurare i campi quota e limits
all'interno della sezione quota:
x-google-management:
  metrics:
    # Define a metric for read requests.
    - name: "read-requests"
      displayName: "Read requests"
      valueType: INT64
      metricKind: DELTA
  quota:
    limits:
      # Define the limit or the read-requests metric.
      - name: "read-limit"
        metric: "read-requests"
        unit: "1/min/{project}"
        values:
          STANDARD: 1000L'esempio seguente mostra come configurare l'estensione x-google-quota nella
sezione paths:
x-google-management:
  metrics:
    # Define a metric for read requests.
    - name: "read-requests"
      displayName: "Read requests"
      valueType: INT64
      metricKind: DELTA
  quota:
    limits:
      # Define the limit or the read-requests metric.
      - name: "read-limit"
        metric: "read-requests"
        unit: "1/min/{project}"
        values:
          STANDARD: 1000
paths:
  "/echo":
    post:
      description: "Echo back a given message."
      operationId: "echo"
      produces:
      - "application/json"
      responses:
        200:
          description: "Echo"
          schema:
            $ref: "#/definitions/echoMessage"
      parameters:
      - description: "Message to echo"
        in: body
        name: message
        required: true
        schema:
          $ref: "#/definitions/echoMessage"
      x-google-quota:
        metricCosts:
          "read-requests": 1
      security:
      - api_key: []Consulta Estensioni OpenAPI
per altri esempi e descrizioni dettagliate delle estensioni x-google-management e
x-google-quota.
Deployment del file openapi.yaml e di ESP
Affinché la quota abbia effetto, dovrai:
- Esegui il deployment del file 
openapi.yamlin Service Management, che aggiorna la configurazione in Endpoints. - Esegui il deployment di ESP. I passaggi per il deployment di ESP variano a seconda del backend su cui è implementata l'API.
 
Per la procedura dettagliata, vedi Deployment del backend API.