Configurazione delle quote

Questa pagina descrive come configurare le quote per la tua API nei framework Cloud Endpoints. Per una panoramica della funzionalità fornita dalle quote, consulta Informazioni sulle quote.

Java

Nella procedura riportata di seguito si presuppone che tu abbia già:

Per configurare le quote nell'API:

  1. Nel file che contiene Annotazioni con ambito API, aggiungi quanto segue all'annotazione @Api:

    limitDefinitions = {
          @ApiLimitMetric(
            name = "YOUR_METRIC_NAME",
            displayName = "YOUR_METRIC_DISPLAY_NAME",
            limit = YOUR_QUOTA_LIMIT)
    }
    
    • Sostituisci YOUR_METRIC_NAME con un nome che descriva il contatore delle richieste API.
    • Sostituisci YOUR_METRIC_DISPLAY_NAME con il testo visualizzato sugli Endpoint > Servizi > Pagina Quote per identificare la quota.
    • Sostituisci YOUR_QUOTA_LIMIT con un valore intero. Si tratta del numero di richieste che un'applicazione ha associato il progetto Google Cloud del consumatore in un minuto. Per esempio:

        @Api(
            name = "echo",
            version = "v1",
            namespace =
              @ApiNamespace(
                ownerDomain = "echo.example.com",
                ownerName = "echo.example.com",
                packagePath = ""
              ),
            limitDefinitions = {
              @ApiLimitMetric(
                name = "read-requests",
                displayName = "Read requests",
                limit = 1000),
              @ApiLimitMetric(
                name = "list-requests",
                displayName = "List requests",
                limit = 100),
              @ApiLimitMetric(
                name = "write-requests",
                displayName = "Write requests",
                limit = 50),
            }
        )
      
  2. Per ogni metodo a cui vuoi applicare una quota, aggiungi quanto segue all'annotazione @ApiMethod:

    metricCosts = {
                 @ApiMetricCost(
                   name ="YOUR_METRIC_NAME",
                   cost = YOUR_COST)
    }
    
    • Sostituisci YOUR_METRIC_NAME con un nome specificato nel parametro limitDefinitions nell'annotazione @Api.
    • Sostituisci YOUR_COST con un valore intero che specifica il costo per ogni richiesta.

      Ad esempio:

        @ApiMethod(name = "echo",
                   metricCosts = {
                     @ApiMetricCost(
                       name = "read-requests",
                       cost = 1)
                   })
        public Message echo(Message message, @Named("n") @Nullable Integer n) {
          // ...function code here...
        }
      
  3. Distribuisci l'API .

Consulta quanto riportato di seguito per ulteriori informazioni sulle annotazioni utilizzate nelle quote:

Python

Nella procedura riportata di seguito si presuppone che tu abbia già:

Per configurare le quote nell'API:

  1. Nel file che contiene il decoratore API, crea un elenco di istanze LimitDefinition, simile al seguente:

    quota_limits = [
      endpoints.LimitDefinition(
        "YOUR_METRIC_NAME",
        "YOUR_METRIC_DISPLAY_NAME",
        limit)
    ]
    
    • Sostituisci YOUR_METRIC_NAME con un nome che descriva il contatore delle richieste API.
    • Sostituisci YOUR_METRIC_DISPLAY_NAME con il testo visualizzato sugli Endpoint > Servizi > Pagina Quote per identificare la quota.
    • Sostituisci limit con un valore intero. Questo è il numero di richieste che un'applicazione associata alla piattaforma Google Cloud che un progetto può fare in un minuto. Ad esempio:

        quota_limits = [
          endpoints.LimitDefinition('read-requests', 'Read Requests', 1000),
          endpoints.LimitDefinition('list-requests', 'List Requests', 100),
          endpoints.LimitDefinition('write-requests', 'Write Requests', 50),
        ]
      
  2. Aggiungi la quota al decorator dell'API assegnandola al limit_definitions argomento. Ad esempio:

      @endpoints.api(name='bookstore',
                     version='v1',
                     limit_definitions=quota_limits)
    
  3. Assegna un dizionario per ogni metodo a cui vuoi applicare una quota all'argomento METRIC_COSTS del decoratore del metodo. La chiave deve essere un nome specificato nell'argomento limit_definitions del decoratore dell'API e il valore è un numero intero che specifica il costo per ogni richiesta. Ad esempio:

      @endpoints.method(path='shelves/{shelf}',
                        http_method='GET',
                        metric_costs={'read-requests': 1})
      def get_shelf(self, request):
      # ...function code here...
    
  4. Distribuisci l'API .

Consulta quanto riportato di seguito per ulteriori informazioni sui decorator utilizzati nelle quote: