Esta página descreve como usar a API Service Consumer Management para ver e substituir os limites de quota aplicados a consumidores individuais do seu serviço.
Certifique-se de que se familiariza com o modelo de quota de serviço para compreender melhor a terminologia usada neste tutorial.
Para programar com base na API Service Infrastructure, recomendamos que use uma das nossas bibliotecas de cliente fornecidas. Para experimentar
a API, pode seguir as instruções neste guia e usar o comando curl
para testar a API sem configurar um ambiente de desenvolvimento de aplicações completo.
A apresentar a quota de serviço
Para efeitos deste tutorial, vamos usar um projeto com o nome consumer-project-id
e um serviço com o nome myservice.appspot.com. Em cada comando gcurl, substitua o seu próprio serviço e projeto de consumidor de interesse.
Para usar gcurl, execute primeiro o seguinte comando alias com o token de autenticação:
alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'
Para mais informações, consulte o artigo Introdução
Para ver todos os limites de quota em todas as métricas aplicáveis a um consumidor específico, use o seguinte método:
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics
Esta chamada responde com uma lista de métricas definidas pelo serviço, cada uma com a lista de limites dessas métricas que se aplicam a este consumidor, os valores desses limites e quaisquer substituições. Segue-se um exemplo de resposta:
{
"metrics": [
{
"name": "services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics/airport_requests",
"metric": "airport_requests"
"displayName": "Airport Requests"
"consumerQuotaLimits": [
{
"name": "services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics/airport_requests/limits/%2Fmin%2Fproject",
"metric": "airport_requests",
"unit": "1/min/{project}",
"quotaBuckets": [
{
"effectiveLimit": "5",
"defaultLimit": "5",
}
]
}
],
}
]
}
Cada métrica na resposta tem um campo de nome. Para inspecionar as definições de quota apenas dessa métrica, em vez de todas as métricas, use o respetivo nome no URL:
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}
Da mesma forma, cada limite numa métrica tem um campo de nome. Para inspecionar as definições de quota apenas para esse limite nessa métrica, em vez de para todos os limites numa métrica ou todas as métricas, use o respetivo nome no URL:
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}
Aplicar uma substituição do produtor
O proprietário ou o administrador de um serviço pode aplicar uma substituição do produtor a um limite específico para um consumidor específico, concedendo um aumento da quota nesse limite.
Para identificar um limite, primeiro, use um dos métodos acima para encontrar o limite de quota de interesse e use o respetivo campo de nome para aplicar uma substituição do produtor:
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}/producerOverrides -d '{"override": {"override_value": "12345"} }'
Esta chamada pode ser usada para aplicar uma nova substituição ou atualizar uma substituição existente para um novo valor. Para conceder uma quota ilimitada num limite, use "-1" como valor de substituição.
Se a chamada for bem-sucedida, devolve um identificador de operação, que representa o trabalho em curso no servidor, à medida que a alteração da quota se propaga aos sistemas de back-end:
{
"name": "operations/quf.92accba3-6530-4fc1-9a95-c1280d48a6b7"
}
Para verificar o progresso da operação, use o respetivo nome:
gcurl https://serviceconsumermanagement.googleapis.com/v1/{name}
Quando esta chamada responde com uma mensagem que inclui "done":true, a operação está concluída. Se a operação falhar, a mensagem inclui detalhes do erro.
Também pode verificar se uma alteração foi aplicada repetindo a chamada get original no limite específico. O limite deve ter agora um campo "producerOverride" adicional.
Forçar alterações de quotas grandes
Se uma substituição fizer com que a quota aplicada diminua mais de 10%, a chamada é rejeitada como medida de segurança para evitar a diminuição acidental da quota demasiado rapidamente. Para ignorar esta restrição, use a flag force:
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}/producerOverrides -d '{"override": {"override_value": "0"}, "force": true}'
Aplicar substituições de quotas regionais ou zonais
Alguns limites de quota são aplicados por região ou por zona, o que é indicado pela presença de /{region} ou /{zone} na unidade de limite.
A aplicação de uma substituição a esse limite altera a quota base em todas as regiões ou zonas. Para alterar a quota apenas para uma região ou uma zona específica, use o campo de localização:
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}/producerOverrides -d '{"override": {"override_value": "135", "dimensions": {"region": "asia-south1"} } }'