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à:
- Hai scritto e annotato il codice per la tua API.
- aggiunto la gestione dell'API;
- distribuito l'API;
- Hai configurato l'API in modo da utilizzare una chiave API. Questo è necessario affinché i framework di endpoint possano identificare il progetto Google Cloud a cui è associata l'applicazione chiamante. Per ulteriori informazioni, consulta la sezione Condividere API protette da chiave API.
Per configurare le quote nell'API:
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), } )
- Sostituisci
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 parametrolimitDefinitions
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... }
- Sostituisci
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à:
- È stata installata la versione 2.4.5 o successiva della libreria Endpoints Frameworks.
- creato l'API;
- Hai creato un server web.
- aggiunto la gestione dell'API;
- distribuito l'API;
- Configurato l'API in modo da utilizzare una chiave API. Questa operazione è necessaria per Endpoints Frameworks può identificare progetto Google Cloud secondo cui l'applicazione chiamante associati. Consulta: Condivisione delle API protette dalla chiave API per ulteriori informazioni.
Per configurare le quote nell'API:
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), ]
- Sostituisci
Aggiungi la quota al decorator dell'API assegnandola al
limit_definitions
argomento. Ad esempio:@endpoints.api(name='bookstore', version='v1', limit_definitions=quota_limits)
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'argomentolimit_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...
Consulta quanto riportato di seguito per ulteriori informazioni sui decorator utilizzati nelle quote: