ID da região
O REGION_ID
é um código abreviado que o Google atribui
com base na região que você selecionou ao criar o aplicativo. O código não
corresponde a um país ou estado, ainda que alguns IDs de região sejam semelhantes
aos códigos de país e estado geralmente usados. Para apps criados após
fevereiro de 2020, o REGION_ID.r
está incluído nos
URLs do App Engine. Para apps existentes criados antes dessa data, o
ID da região é opcional no URL.
Saiba mais sobre IDs de região.
Neste documento, listamos as cotas e limites que se aplicam ao App Engine. As cotas especificam a quantidade de um recurso compartilhado e contável que pode ser usado e são definidas por serviços do Google Cloud, como o App Engine. Os limites do sistema são valores fixos que não podem ser alterados.
O Google Cloud usa cotas para garantir a imparcialidade e reduzir picos no uso e na disponibilidade de recursos. Uma cota restringe quanto de um recurso do Google Cloud o projeto do Google Cloud pode usar. As cotas se aplicam a vários tipos de recursos, incluindo hardware, software e componentes de rede. Por exemplo, as cotas podem restringir o número de chamadas de API para um serviço, o número de balanceadores de carga usados simultaneamente pelo projeto ou o número de projetos que podem ser criados. As cotas protegem a comunidade de usuários do Google Cloud, impedindo a sobrecarga de serviços. As cotas também ajudam você a gerenciar seus próprios recursos do Google Cloud.
O sistema de cotas do Cloud faz o seguinte:
- Monitora o consumo de produtos e serviços do Google Cloud.
- Restringe o consumo desses recursos.
- Fornece um meio de solicitar mudanças no valor da cota
Na maioria dos casos, quando você tenta consumir mais de um recurso do que a cota permite, o sistema bloqueia o acesso ao recurso e a tarefa que você está tentando executar falha.
As cotas geralmente se aplicam ao projeto do nível Google Cloud. O uso de um recurso em um projeto não afeta a cota disponível em outro. Em um projeto do Google Cloud, as cotas são compartilhadas entre todos os aplicativos e endereços IP.
Também há limites do sistema para os recursos do App Engine. Esses limites de sistemas não estão relacionados ao sistema de cotas. Não é possível mudar os limites de sistemas, a menos que seja indicado o contrário.
Um aplicativo do App Engine pode consumir recursos até determinadas cotas. É possível conferir o consumo diário do seu aplicativo na página "Detalhes da cota" do console do Google Cloud.
Tipos de cotas
Os seguintes tipos de cotas são válidos para aplicativos do App Engine:
- Cotas gratuitas fornecem ao aplicativo uma quantidade gratuita de cada recurso. Os
detalhes sobre cotas sem custos financeiros podem ser encontrados na seção recursos desta
página. Depois que o aplicativo ultrapassar a cota gratuita, você receberá a cobrança
por todo o uso extra desse recurso.
Apenas o ambiente padrão do App Engine oferece cotas gratuitas.
- As cotas diárias protegem a integridade do sistema do App Engine, garantindo que nenhum aplicativo consuma demais um recurso em detrimento de outros apps. Se você ultrapassar esses limites, um erro será exibido. As cotas diárias são atualizadas diariamente à meia-noite do horário do Pacífico.
- As cotas por minuto protegem o aplicativo de consumir todos os recursos em períodos muito curtos e evitam que outros apps monopolizem um determinado recurso. Se o aplicativo consumir um recurso rápido demais e esgotar a cota por minuto, a palavra "Limitado" será exibida ao lado da cota correspondente na página Cotas do console do Google Cloud. As solicitações dos recursos que atingirem o máximo por minuto serão negadas.
Proprietários do projeto e administradores de faturamento podem ativar o faturamento de um projeto.
Para detalhes sobre o que acontece quando uma cota é excedida e como lidar com as condições de excesso de cota, consulte Quando um recurso está esgotado.
Dica: as cotas máximas por minuto acomodam altos
níveis de tráfego para lidar com um aumento no tráfego do seu site se ele for
mencionado em algum conteúdo. Se você acredita que determinada cota não atende
a esse requisito, envie
feedback no rastreador de problemas. Enviar feedback não é uma
solicitação para aumentar sua cota, mas isso nos ajudará a entender qual cota
será possivelmente muito baixa para os casos de uso geral.
Se você espera níveis muito altos de tráfego, ou
seu aplicativo exige cotas particularmente elevadas, por exemplo, devido ao
lançamento de produtos significativos ou testes de carga grandes, é recomendado se inscrever em um
pacote de suporte.
Como os recursos são renovados
O App Engine rastreia o uso dos recursos de seu aplicativo em comparação às cotas do sistema. O App Engine redefine todas as medições de recursos no início de cada dia (exceto para dados armazenados, que sempre representam a quantidade de armazenamento de dados em uso).
As cotas diárias são renovadas diariamente à meia-noite do horário do Pacífico. As cotas por minuto são atualizadas a cada 60 segundos.
Quando um recurso está esgotado
Quando todo o recurso alocado é consumido por um aplicativo, ele fica indisponível até que a cota seja renovada. Isso significa que o aplicativo não funcionará até que a cota seja renovada.
Quando os recursos necessários para iniciar uma solicitação se esgotarem,
o App Engine retornará por padrão um código de erro HTTP 403
ou
503
para a solicitação em vez de chamar um
gerenciador. Esse comportamento é válido para o recurso
instância/horas.
Dica: configure o aplicativo para que ele exiba uma página de erro personalizada ao exceder uma cota. Para mais detalhes, consulte a referência do arquivo de configuração para Python (2.7, 3), Java, Go, PHP (5.5, 7) ou Node.js .
Quando qualquer outro recurso está esgotado, uma tentativa de consumi-lo no aplicativo
resulta em uma exceção. Essa exceção pode ser capturada pelo aplicativo e processada,
por exemplo, com a exibição de uma mensagem de erro amigável para o usuário. Na API Python, essa exceção é
apiproxy_errors.OverQuotaError
. Na API para Java, essa exceção é
com.google.apphosting.api.ApiProxy.OverQuotaException
. Na API Go, a função
appengine.IsOverQuota
informa se um erro representa uma falha na chamada da API,
devido à insuficiência de uma cota disponível.
O exemplo a seguir ilustra como detectar o erro OverQuotaError
, que pode ser
gerado pelo método SendMessage()
se uma cota relacionada a e-mails tiver sido excedida:
try: mail.SendMessage(to='test@example.com', from='admin@example.com', subject='Test Email', body='Testing') except apiproxy_errors.OverQuotaError, message: # Log the error. logging.error(message) # Display an informative message to the user. self.response.out.write('The email could not be sent. ' 'Please try again later.')
Seu aplicativo está ultrapassando os limites padrão? Entre em contato com o Cloud Customer Care para solicitar limites de capacidade mais altos. Se você precisar de uma cota de e-mails maior, use o SendGrid para enviar e-mails.
Recursos
Um aplicativo pode usar os recursos a seguir, sujeitos às cotas. Os recursos medidos em comparação com os limites faturáveis são indicados com "(faturável)". A quantidade de recursos representa uma alocação em um período de 24 horas.
O custo dos recursos extras está listado na página Preços.
Serviços, versões e instâncias
O número máximo de serviços e versões que podem ser implantados depende do preço do aplicativo. Os ambientes flexível e padrão compartilham os mesmos limites de serviços e versões. Por exemplo, se você tiver versões padrão e versões flexíveis no mesmo aplicativo, elas serão contabilizadas com relação ao mesmo limite.
Limite | App gratuito | App pago |
---|---|---|
Número máximo de serviços por app | 5 | 210 |
Número máximo de versões por app | 15 | 210 |
Há também um limite para o número de instâncias de cada serviço com escalonamento básico ou manual:
Número máximo de instâncias por versão de escalonamento manual/básico | ||
---|---|---|
App gratuito | App pago nos EUA | App pago na UE |
20 | 25 (200 para us-central ) |
25 |
Também há um limite para o número de instâncias em versões padrão que podem ser executadas por projeto e região. A classe de instância do serviço determina qual limite é aplicado e a contribuição de uma instância desse serviço para o uso da cota. Por exemplo, uma instância F4 conta como quatro instâncias de front-end normalizadas.
É possível ver o consumo da cota de contagem de instâncias em página "Cotas" do IAM.
Descrição | Limite | Pode aumentar? |
---|---|---|
Número máximo de instâncias de front-end por projeto e região medido em um período de um minuto | Depende da região selecionada. Esse limite pode ser maior em regiões de alta capacidade ou menor em regiões abertas recentemente. | Sim |
Número máximo de instâncias de back-end por projeto e região medido em um período de 1 minuto | Depende da região selecionada. Esse limite pode ser maior em regiões de alta capacidade ou menor em regiões abertas recentemente. | Sim |
Observação: siga as etapas descritas nesta página para solicitar limites mais altos.
Há também um limite para o número de caracteres no URL do aplicativo.Descrição | Limite |
---|---|
Máximo de caracteres no URL do projeto para
o URL VERSION-dot-SERVICE-dot-PROJECT_ID |
63 |
Bucket padrão do Cloud Storage
O bucket padrão do Cloud Storage tem uma cota grátis para uso diário, conforme mostrado abaixo. Você cria esse bucket padrão sem custos na página App Engine do console do Google Cloud de seu projeto.
As cotas a seguir aplicam-se especificamente ao uso do bucket padrão. Consulte os preços dos buckets multirregionais do Cloud Storage para uma descrição dessas cotas.
Recurso | Limite padrão |
---|---|
Dados armazenados no bucket padrão do Cloud Storage | Primeiros 5 GB gratuitos, sem limite máximo |
Operações de classe A do bucket padrão do Cloud Storage | Primeiras 20.000 operações/dia gratuitas, sem máximo |
Operações de classe B do bucket padrão do Cloud Storage | Primeiras 50.000 operações/dia gratuitas, sem máximo |
Saída de rede do bucket padrão do Cloud Storage | Primeiro 1 GB gratuito, sem limite máximo |
Blobstore
As cotas a seguir se aplicam especificamente ao uso do Blobstore.
- Dados armazenados no Blobstore
- A quantidade total de dados armazenados no Blobstore. Disponível para aplicativos pagos e gratuitos.
Recurso | Limite padrão |
---|---|
Dados armazenados no Blobstore | Primeiros 5 GB gratuitos, sem limite máximo |
Armazenamento de dados estáticos e códigos
- Limite de dados estáticos
- Em todas as linguagens, exceto em Go, nenhum arquivo de dados estático pode ser maior do que 32 MB. O limite em Go é de 64 MB.
- Armazenamento total
- A cota de armazenamento se aplica à quantidade total de códigos e dados estáticos armazenados por todas as versões do aplicativo. O tamanho total armazenado de códigos e arquivos estáticos está listado na tabela "Painel principal". Os tamanhos individuais são exibidos nas telas "Versões" e "Back-ends", respectivamente. Nos aplicativos, serão cobrados US$ 0,026 por GB ao mês para qualquer armazenamento de dados estáticos e códigos que ultrapasse 1 GB.
Firestore no modo Datastore (Datastore)
A cota de dados armazenados (faturável) refere-se a todos os dados armazenados para o aplicativo no Datastore e Blobstore. Outras cotas na seção "Datastore" da tela Detalhes da cota no console do Google Cloud se referem especificamente ao serviço do Datastore.
- Dados armazenados (faturáveis)
-
A quantidade total de dados armazenados em entidades de armazenamento de dados e índices e no Blobstore.
É importante observar que os dados armazenados no armazenamento de dados podem causar uma sobrecarga significativa. Essa sobrecarga depende do número e dos tipos de propriedades associadas, e inclui o espaço usado pelos índices incorporados e personalizados. Cada entidade armazenada no armazenamento de dados exige os metadados a seguir:
- A chave da entidade, incluindo o tipo, o ID ou o nome da chave, e as chaves dos ancestrais da entidade.
- O nome e o valor de cada propriedade. Como o armazenamento de dados não tem esquema, o nome de cada propriedade precisa ser armazenado com o valor da propriedade de qualquer entidade fornecida.
- As linhas de índice incorporado e personalizado que se referem a essa entidade. Cada linha contém o tipo de entidade, o número de valores da propriedade dependendo da definição do índice e a chave da entidade.
- Número de índices
- O número de índices atuais do Datastore no aplicativo. Inclui índices criados no passado e que não aparecem mais na configuração do aplicativo, mas não foram excluídos. Consulte a página "Limites de armazenamento de dados" para mais detalhes sobre limites.
- Operações de gravação
- O número total de operações de gravação do Datastore.
- Operações de leitura
- O número total de operações de leitura do Datastore.
- Operações pequenas
- O número total de operações pequenas do Datastore. Operações pequenas incluem chamadas para alocar IDs do Datastore ou consultas somente para chaves.
Recurso | Limite padrão |
---|---|
Dados armazenados (faturáveis) | 1 GiB sem custos e sem valor máximo.
Aplicam-se taxas de cobrança ao ultrapassar a cota gratuita. |
Número de índices | 200 |
Leituras de entidades | 50.000 gratuitas, sem máximo.
Aplicam-se taxas de cobrança ao ultrapassar a cota gratuita. |
Gravações de entidades | 20.000 gratuitas, sem máximo.
Aplicam-se taxas de cobrança ao ultrapassar a cota gratuita. |
Exclusões de entidades | 20.000 gratuitas, sem máximo.
Aplicam-se taxas de cobrança ao ultrapassar a cota gratuita. |
Operações pequenas | Ilimitado |
Observação: as operações do Datastore, geradas pelo Administrador do Datastore e pelo Leitor do Datastore , são contabilizadas na cota do aplicativo.
Implantações
Em cada aplicativo do App Engine, é possível implantar até 10.000 vezes por dia.
Quando você implanta, o Cloud Build cria uma imagem de contêiner e a armazena no Artifact Registry. Você receberá cobrança se o espaço de armazenamento total consumido pelas imagens exceder o nível gratuito.
Arquivos
A cota a seguir se aplica ao número total de arquivos de implantação do app.
Arquivos | Máximo |
---|---|
Arquivos padrão por app | 10.000 arquivos Entre em contato com o suporte para solicitar um aumento. |
Instância/hora
O uso da instância é cobrado pelo tempo de atividade da instância, a uma determinada taxa por hora.
Há cotas gratuitas separadas para as classes de instâncias "F" e "B", também conhecidas como classes de instâncias de "front-end" e "back-end". Quando você usa os Serviços do App Engine, a classe da instância do serviço determina qual cota é aplicada.
Recurso | Cota gratuita |
---|---|
Instâncias F1 | 28 instâncias/hora sem custos por dia |
Instâncias B1 | 9 instâncias/hora sem custos por dia |
A contagem de instância/hora começa quando a instância é iniciada e termina como descrito abaixo, dependendo do tipo de escalonamento especificado para a instância:
- Escalonamento básico ou automático: a contagem acaba 15 minutos depois que a instância finaliza o processamento da última solicitação.
- Escalonamento manual: a contagem acaba quinze minutos depois que a instância é desligada.
Se o número de instâncias inativas criadas pelo App Engine ultrapassar o máximo especificado na guia "Configurações de desempenho" do console do Google Cloud, as instâncias excedentes não serão contabilizadas no cálculo de instância/hora.
Registros
A API Logs é medida quando os dados do registro são recuperados.
A cota de ingestão de registros se refere a registros de solicitação e dados de registros de um aplicativo. A geração de registros para aplicativos do App Engine é fornecida pela Observabilidade do Google Cloud. Consulte os Preços de observabilidade do Google Cloud para mais informações sobre taxas e limites.
O consumo da API Mail está disponível para visualização na página Cotas do IAM.
Observação: para ver o consumo da cota de um aplicativo na página "Cotas do IAM", verifique se o Serviço de relatórios do App Engine está ativado no projeto. Se não for possível ativar o serviço, verifique suas permissões e a restrição da política da organização constraints/serviceuser.services.
Observação: siga as etapas descritas nesta página para solicitar limites maiores.
No App Engine, a conta para uso de e-mail é "por mensagem", contando cada e-mail para cada destinatário. Por exemplo, enviar um e-mail para dez destinatários conta como 10 mensagens.
- Mensagens enviadas para usuários que não são administradores
- O número total de mensagens enviadas pelo aplicativo para não administradores do aplicativo.
- Mensagens enviadas para administradores
- O número total de mensagens aos administradores do aplicativo enviadas pelo aplicativo. O limite de tamanho total para cada e-mail de administrador, incluindo cabeçalhos, anexos e corpo, é de 16 KB.
- Dados de corpo da mensagem enviados
- A quantidade de dados enviados no corpo de mensagens de e-mail.
- Anexos enviados
- O número total de anexos enviados com mensagens de e-mail.
- Dados de anexos enviados
- A quantidade de dados enviados como anexos de mensagens de e-mail.
Recurso | Limite diário padrão | Taxa máxima |
---|---|---|
Destinatários contatados por e-mail | 100 mensagens | 8 mensagens/minuto |
Administradores contatados por e-mail | 5.000 e-mails | 24 e-mails/minuto |
Dados de corpo da mensagem enviados | 60 MB | 340 KB/minuto |
Anexos enviados | 2.000 anexos | 8 anexos/minuto |
Dados de anexos enviados | 100 MB | 10 MB/minuto |
É possível adicionar até 50 remetentes autorizados para a API Mail.
Como enviar e-mails acima da cota diária
Se o aplicativo precisar de cotas mais altas para enviar e-mails, será possível usar um provedor de e-mail de terceiros, como SendGrid, Mailjet ou Mailgun.
Solicitações
- Largura de banda de saída (faturável)
-
A quantidade de dados enviada pelo aplicativo em resposta a solicitações.
Isso inclui:
- dados exibidos em resposta a solicitações seguras e não seguras por servidores de aplicativos, servidores de arquivos estáticos ou pelo Blobstore;
- dados enviados em mensagens de e-mail;
- dados em solicitações HTTP de saída enviadas pelo serviço de busca de URL.
- Largura de banda de entrada
-
A quantidade de dados recebidos pelo aplicativo oriundos de solicitações. Cada solicitação HTTP de entrada pode ter no máximo 32 MB.
Isso inclui:
- dados recebidos pelo aplicativo em solicitações seguras e não seguras;
- uploads para o Blobstore;
- dados recebidos em resposta a solicitações HTTP pelo serviço de busca de URL.
- Largura de banda de saída segura
- A quantidade de dados enviados pelo aplicativo por uma conexão segura em resposta a solicitações.
- Largura de banda de entrada segura
- A quantidade de dados recebidos pelo aplicativo por meio de uma conexão segura proveniente de solicitações.
Pesquisar
Cotas gratuitas para Pesquisa estão listadas na tabela abaixo. Para conferir a descrição detalhada de cada tipo de chamada de pesquisa, consulte a documentação de Java, Python e Go.
Recursos da API Search são cobrados de acordo com as taxas na tabela de preços.
Recurso ou chamada de API | Cota gratuita |
---|---|
Armazenamento total (documentos e índices) | 0,25 GB |
Consultas | 1.000 consultas por dia |
Adição de documentos a índices | 0,01 GB por dia |
A seção de cota do console do aplicativo exibe uma contagem bruta de solicitações da API. Observe que, ao indexar vários documentos em uma única chamada, a contagem de chamadas é aumentada pela quantidade de documentos.
A API Search impõe estes limites para garantir a confiabilidade do serviço:
- 100 minutos agregados de tempo de execução da consulta por minuto, dentro de um app e um índice.
- 15.000 documentos adicionados/excluídos por minuto.
Observação: esses limites são aplicados por minuto, mas o console do Google Cloud exibe os totais diários de cada um. Os clientes com suporte Silver, Gold ou Platinum podem solicitar limites de taxa de capacidade maiores. Basta entrar em contato com o representante do suporte.
Fila de tarefas
Quando uma tarefa é executada, os pedidos associados são contabilizados nas cotas de solicitação do aplicativo.
Esses limites se aplicam a todas as filas de tarefas:
Recurso | Limite diário | Taxa máxima |
---|---|---|
Chamadas de gerenciamento de filas de tarefas (usando o console do Google Cloud) | 10.000 | n/a |
Recurso | Limite padrão |
---|---|
Número máximo de filas (inclui as filas push e pull, mas não a padrão) | 100 filas. |
Observação: depois que uma tarefa é executada ou excluída, o armazenamento usado é liberado. A cota de armazenamento é atualizada em intervalos regulares e pode não mostrar o espaço recuperado imediatamente. Para mais detalhes, consulte a documentação de Python, Java, Go ou PHP.
Os limites a seguir aplicam-se às filas de tarefas de acordo com o tipo:
Limites de fila push | |
---|---|
Tamanho máximo da tarefa | 100 KB |
Taxa de execução de fila | 500 invocações de tarefas por segundo por fila |
Contagem regressiva/ETA máximo para uma tarefa | 30 dias a partir da data e hora atuais |
Número máximo de tarefas que podem ser adicionadas em um lote | 100 tarefas |
Número máximo de tarefas que podem ser adicionadas em uma transação | 5 tarefas |
Número máximo padrão de filas de tarefas | 100 filas. Entre em contato com o suporte para solicitar um aumento |
Cron
As seguintes cotas são aplicadas aos cron jobs.
- Cron jobs
- Número de cron jobs.
Recurso | Limite padrão |
---|---|
Cron job | 250 cron jobs |
Busca de URL
- Chamadas de API da busca de URL
- O número total de vezes que o aplicativo acessou o serviço de busca de URL para executar uma solicitação HTTP ou HTTPS.
- Dados de busca de URL enviados
- A quantidade de dados enviados ao serviço de busca de URL nas solicitações.
- Dados de busca de URL recebidos
- A quantidade de dados recebidos do serviço de busca de URL nas respostas. Isto também é computado na cota de Largura de banda de entrada.
Recurso | Limite diário | Taxa máxima |
---|---|---|
Chamadas para a API UrlFetch | 860.000.000 chamadas | 660.000 chamadas/minuto |
Dados do UrlFetch enviados | 4,5 TB | 3.600 MB/minuto |
Dados de UrlFetch recebidos | 4,5 TB | 3.600 MB/minuto |