ID da região
O REGION_ID
é um código abreviado que a Google atribui com base na região que seleciona quando cria a sua app. O código não corresponde a um país ou uma província, embora alguns IDs de regiões possam parecer semelhantes aos códigos de países e províncias usados frequentemente. Para apps criadas após
fevereiro de 2020, REGION_ID.r
está incluído nos
URLs do App Engine. Para apps existentes criadas antes desta data, o
ID da região é opcional no URL.
Saiba mais acerca dos IDs de regiões.
Este documento lista as quotas e os limites do sistema que se aplicam ao App Engine.
- As quotas têm valores predefinidos, mas normalmente pode pedir ajustes.
- Os limites do sistema são valores fixos que não podem ser alterados.
Google Cloud usa quotas para ajudar a garantir a equidade e reduzir os picos na utilização e disponibilidade de recursos. Uma quota restringe a quantidade de um Google Cloud recurso que o seu Google Cloud projeto pode usar. As quotas aplicam-se a uma variedade de tipos de recursos, incluindo componentes de hardware, software e rede. Por exemplo, as quotas podem restringir o número de chamadas API para um serviço, o número de balanceadores de carga usados em simultâneo pelo seu projeto ou o número de projetos que pode criar. As quotas protegem a comunidade de Google Cloud utilizadores, impedindo a sobrecarga dos serviços. As quotas também ajudam a gerir os seus próprios Google Cloud recursos.
O sistema de quotas da nuvem faz o seguinte:
- Monitoriza o seu consumo de Google Cloud produtos e serviços
- Restringe o seu consumo desses recursos
- Oferece uma forma de pedir alterações ao valor da quota e automatizar os ajustes de quotas
Na maioria dos casos, quando tenta consumir mais de um recurso do que a respetiva quota permite, o sistema bloqueia o acesso ao recurso e a tarefa que está a tentar realizar falha.
Geralmente, as quotas aplicam-se ao nível do Google Cloud projeto A sua utilização de um recurso num projeto não afeta a sua quota disponível noutro projeto. Num Google Cloud projeto, as quotas são partilhadas por todas as aplicações e endereços IP.
Para mais informações, consulte a vista geral das quotas da nuvem.Também existem limites do sistema nos recursos do App Engine. Não é possível alterar os limites do sistema.
Uma aplicação do App Engine pode consumir recursos até determinadas quotas. Pode ver o consumo diário da sua aplicação na página Detalhes da quota da Google Cloud consola.
Tipos de quotas
Os seguintes tipos de quotas aplicam-se a aplicações do App Engine:
- As cotas gratuitas dão à sua aplicação uma quantidade de cada recurso sem custo financeiro. Pode encontrar os detalhes sobre as quotas gratuitas na secção recursos desta página. Depois de a sua aplicação exceder uma quota gratuita, a utilização adicional desse recurso é faturada.
Apenas o ambiente padrão do App Engine oferece quotas gratuitas.
- As quotas diárias protegem a integridade do sistema do App Engine, garantindo que nenhuma app individual consome excessivamente um recurso em detrimento de outras apps. Se exceder estes limites, recebe um erro. As quotas diárias são atualizadas diariamente à meia-noite (hora do Pacífico).
- As quotas por minuto protegem a sua aplicação contra o consumo de todos os respetivos recursos em períodos muito curtos e impedem que outras aplicações monopolizem um determinado recurso. Se a sua aplicação consumir um recurso demasiado rapidamente e esgotar uma quota por minuto, a palavra "Limitado" aparece junto à quota adequada na página Quotas na Google Cloud consola. As solicitações de recursos que atingem o máximo por minuto são recusadas.
Os proprietários do projeto e os administradores de faturação podem ativar a faturação para um projeto.
Para ver detalhes sobre o que acontece quando uma quota é excedida e como processar as condições de excesso de quota, consulte o artigo Quando um recurso se esgota.
Sugestão: as quotas máximas por minuto acomodam níveis de tráfego elevados, suficientes para processar um pico de tráfego do seu site quando é mencionado em notícias. Se considerar que uma quota específica não cumpre
este requisito, envie
feedback no Issue Tracker. Tenha em atenção que o envio de feedback não é um pedido para aumentar a sua quota, mas ajuda-nos a compreender que quota é potencialmente demasiado baixa para casos de utilização geral.
Se estiver a prever níveis de tráfego extremamente elevados ou, por algum motivo, a sua app exigir quotas particularmente elevadas (por exemplo, devido a um lançamento de produto significativo ou a testes de carga de grande dimensão), recomendamos que se inscreva num pacote de apoio técnico.
Como são repostos os recursos
O App Engine monitoriza a utilização de recursos da sua aplicação em relação às quotas do sistema. O App Engine repõe todas as medições de recursos no início de cada dia civil (exceto para os dados armazenados, que representam sempre a quantidade de armazenamento da base de dados em utilização).
As quotas diárias são repostas diariamente à meia-noite (hora do Pacífico). As quotas por minuto são atualizadas a cada 60 segundos.
Quando um recurso está esgotado
Quando uma aplicação consome todos os recursos atribuídos, o recurso fica indisponível até que a quota seja reposta. Isto pode significar que a sua aplicação não vai funcionar até a quota ser reposta.
Para recursos necessários para iniciar um pedido, quando o recurso está esgotado, o App Engine devolve por predefinição um código de erro HTTP 403
ou 503
para o pedido, em vez de chamar um controlador de pedidos. Este comportamento aplica-se ao recurso Instance hours.
Sugestão: pode configurar a sua aplicação para publicar uma página de erro personalizada quando a aplicação exceder uma quota. Para ver detalhes, consulte a referência do ficheiro de configuração para Python (2.7, 3), Java, Go, PHP (5.5, 7) ou Node.js .
Para todos os outros recursos, quando o recurso está esgotado, uma tentativa na aplicação para consumir o recurso resulta numa exceção. Esta exceção pode ser captada pela aplicação e processada, por exemplo, através da apresentação de uma mensagem de erro amigável ao utilizador. Na API Python, esta exceção é
apiproxy_errors.OverQuotaError
. Na API para Java, esta exceção é
com.google.apphosting.api.ApiProxy.OverQuotaException
. Na API Go, a função appengine.IsOverQuota
indica se um erro representa uma falha de chamada da API devido a uma quota disponível insuficiente.
O exemplo seguinte ilustra como captar o OverQuotaError
, que pode ser gerado pelo método SendMessage()
se tiver sido excedida uma quota relacionada com o email:
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.')
A sua app está a exceder os limites predefinidos? Pode contactar o apoio técnico ao cliente do Google Cloud para pedir limites de débito mais elevados. Se precisar de uma quota de correio mais elevada, pode usar o SendGrid para enviar emails.
Recursos
Uma aplicação pode usar os seguintes recursos, sujeita a quotas. Os recursos medidos em função dos limites faturáveis são indicados com "(faturável)". Os valores dos recursos representam uma atribuição durante um período de 24 horas.
O custo dos recursos adicionais está indicado na página Preços.
Serviços, versões e instâncias
O número máximo de serviços e versões que pode implementar depende do preço da sua app. O ambiente flexível e o ambiente padrão partilham os mesmos limites para serviços e versões. Por exemplo, se tiver versões padrão e versões flexíveis na mesma app, essas versões contam para o mesmo limite.
Limite | App gratuita | App paga |
---|---|---|
Número máximo de serviços por app | 5 | 210 |
Número máximo de versões por app | 15 | 210 |
Também existe um limite para o número de instâncias de cada serviço com escalabilidade básica ou manual:
Número máximo de instâncias por versão de escalabilidade manual/básica | ||
---|---|---|
App gratuita | App paga nos EUA | App paga da UE |
20 | 25 (200 para us-central ) |
25 |
Também existe um limite para o número de instâncias nas versões padrão que podem estar em execução por projeto e região. A classe de instância do serviço determina o limite que é aplicado e a contribuição de uma instância desse serviço para a utilização da quota. Por exemplo, 1 instância F4 conta como 4 instâncias de front-end normalizadas.
Pode ver o consumo da quota de contagem de instâncias na página Quotas do IAM.
Descrição | Limite | Pode ser aumentado |
---|---|---|
Número máximo de instâncias de front-end por projeto e região medido durante um período de 1 minuto | Depende da região selecionada. Este limite pode ser superior em regiões de alta capacidade ou inferior em regiões abertas recentemente. | Sim |
Número máximo de instâncias de back-end por projeto e região medido durante um período de 1 minuto | Depende da região selecionada. Este limite pode ser superior em regiões de alta capacidade ou inferior em regiões abertas recentemente. | Sim |
Nota: pode seguir os passos descritos nesta página para pedir limites mais elevados.
Também existe um limite para o número de carateres no URL da sua aplicação.Descrição | Limite |
---|---|
Número máximo de carateres no URL do projeto para o URL
VERSION-dot-SERVICE-dot-PROJECT_ID |
63 |
Contentor do Cloud Storage predefinido
O contentor do Cloud Storage predefinido tem uma quota gratuita para utilização diária, conforme mostrado abaixo. Crie este contentor predefinido gratuito na página Definições do App Engine da Google Cloud consola para o seu projeto.
As seguintes quotas aplicam-se especificamente à utilização do contentor predefinido. Consulte os preços dos contentores multirregionais do Cloud Storage para ver uma descrição destas quotas.
Recurso | Limite predefinido |
---|---|
Dados armazenados no contentor do Cloud Storage predefinido | Os primeiros 5 GB são gratuitos; não existe um limite máximo |
Contentor do Cloud Storage predefinido Operações de classe A | Primeiras 20 000 operações/dia grátis; sem máximo |
Contentor do Cloud Storage predefinido Operações de classe B | Primeiras 50 000 operações/dia gratuitas; sem máximo |
Saída de rede do contentor do Cloud Storage predefinido | Primeiro 1 GB gratuito; sem máximo |
Blobstore
As seguintes quotas aplicam-se especificamente à utilização do Blobstore.
- Dados armazenados no Blobstore
- A quantidade total de dados armazenados no blobstore. Disponível para apps pagas e gratuitas.
Recurso | Limite predefinido |
---|---|
Dados armazenados no Blobstore | Os primeiros 5 GB são gratuitos; não existe um limite máximo |
Armazenamento de código e dados estáticos
- Limite de dados estáticos
- Em todos os idiomas, exceto o go, nenhum ficheiro de dados estático único pode ter mais de 32 MB. O limite para o Go é de 64 MB.
- Armazenamento total
- A quota de armazenamento aplica-se à quantidade total de código e dados estáticos armazenados por todas as versões da sua app. O tamanho total armazenado de código e ficheiros estáticos é apresentado na tabela do painel de controlo principal. Os tamanhos individuais são apresentados nos ecrãs Versões e Back-ends, respetivamente. As apps vão pagar 0,026 $ por GB por mês por qualquer armazenamento de código e dados estáticos que exceda 1 GB.
Firestore no modo Datastore (Datastore)
A quota de dados armazenados (faturáveis) refere-se a todos os dados armazenados para a aplicação no Datastore e Blobstore. Outras quotas na secção "Datastore" do ecrã Detalhes da quota na consola referem-se especificamente ao serviço Datastore. Google Cloud
- Dados armazenados (faturáveis)
-
A quantidade total de dados armazenados em entidades do Datastore e nos índices correspondentes e no Blobstore.
É importante ter em atenção que os dados armazenados no arquivo de dados podem incorrer em custos gerais significativos. Esta sobrecarga depende do número e dos tipos de propriedades associadas e inclui o espaço usado por índices incorporados e personalizados. Cada entidade armazenada no arquivo de dados requer os seguintes metadados:
- 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. Uma vez que o arquivo de dados não tem esquema, o nome de cada propriedade tem de ser armazenado com o valor da propriedade para qualquer entidade específica.
- Todas as linhas de índice incorporadas e personalizadas que fazem referência a esta entidade. Cada linha contém o tipo de entidade, qualquer número de valores de propriedades, consoante a definição do índice, e a chave da entidade.
- Número de índices
- O número de índices do Datastore existentes para a aplicação. Isto inclui índices que foram criados no passado e já não aparecem na configuração da aplicação, mas não foram eliminados. Consulte a página de limites do Datastore para ver detalhes adicionais sobre os limites.
- Operações de escrita
- O número total de operações de escrita do Datastore.
- Operações de leitura
- O número total de operações de leitura do Datastore.
- Operações de pequena dimensão
- O número total de pequenas operações do Datastore. As operações pequenas incluem chamadas para atribuir IDs do Datastore ou consultas apenas de chaves.
Recurso | Limite predefinido |
---|---|
Dados armazenados (faturáveis) | 1 GiB grátis; sem máximo.
Além da quota gratuita, aplicam-se taxas de faturação. |
Número de índices | 200 |
Leituras de entidades | 50 000 grátis; sem número máximo.
Além da quota gratuita, aplicam-se taxas de faturação. |
Gravações de entidades | 20 000 grátis; sem máximo.
Além da quota gratuita, aplicam-se taxas de faturação. |
Eliminações de entidades | 20 000 grátis; sem máximo.
Além da quota gratuita, aplicam-se taxas de faturação. |
Pequenas operações | Ilimitado |
Nota: as operações do Datastore geradas pelo Datastore Admin e pelo Datastore Viewer contam para a quota da sua aplicação.
Implementações
Em cada aplicação do App Engine, pode implementar até 10 000 vezes por dia.
Quando implementa, o Cloud Build cria uma imagem de contentor e armazena-a no Artifact Registry. Vai incorrer em custos se o espaço de armazenamento total consumido pelas imagens exceder o nível gratuito.
Ficheiros
A seguinte quota aplica-se ao número total de ficheiros de implementação de apps.
Ficheiros | Máximo |
---|---|
Ficheiros predefinidos por app | 10 000 ficheiros Contacte o apoio técnico para pedir um aumento. |
Horas de instância
A utilização de instâncias é faturada pelo tempo de atividade da instância, a uma determinada taxa horária.
Existem quotas gratuitas separadas para as classes de instâncias "F" e "B" (também conhecidas como classes de instâncias "frontend" e "backend"). Tenha em atenção que, quando usa os serviços do App Engine, a classe de instância do serviço determina a quota que se aplica.
Recurso | Quota gratuita |
---|---|
Instâncias F1 | 28 horas de instância grátis por dia |
Instâncias B1 | 9 horas de instância grátis por dia |
A acumulação de horas da instância começa quando uma instância é iniciada e termina conforme descrito abaixo, consoante o tipo de escalabilidade que especificar para a instância:
- Dimensionamento básico ou automático: a acumulação termina quinze minutos depois de uma instância terminar o processamento do último pedido.
- Dimensionamento manual: a acumulação termina quinze minutos após o encerramento de uma instância.
Se o número de instâncias inativas criadas pelo App Engine exceder o máximo especificado no separador Definições de desempenho da Google Cloud consola, as instâncias em excesso não acumulam horas de instância.
Registos
A API Logs é medida quando os dados de registo são obtidos.
A quota de carregamento de registos refere-se aos registos de pedidos e aos dados de registos de aplicações para uma aplicação. O registo para apps do App Engine é fornecido pelo Google Cloud Observability. Consulte os preços da observabilidade do Google Cloud para mais informações sobre tarifas e limites.
Correio
O consumo da API Mail está disponível para visualização na página de quotas da IAM.
Nota: para ver o consumo de quota de uma aplicação na página Quotas do IAM, certifique-se de que o serviço de relatórios do App Engine está ativado para o projeto. Se não conseguir ativar o serviço, verifique as suas autorizações e a restrição da política da organização constraints/serviceuser.services.
Nota: pode seguir os passos descritos nesta página para pedir limites mais elevados.
O App Engine fatura a utilização de email "por mensagem", contando cada email para cada destinatário. Por exemplo, o envio de um email para dez destinatários é contabilizado como 10 mensagens.
- Mensagens enviadas a utilizadores que não são administradores
- O número total de mensagens enviadas pela aplicação a administradores que não são da aplicação.
- Mensagens enviadas aos administradores
- O número total de mensagens enviadas pela aplicação aos administradores da aplicação. O limite de tamanho total para cada email de administrador, incluindo cabeçalhos, anexos e corpo, é de 16 KB.
- Dados do corpo da mensagem enviados
- A quantidade de dados enviados no corpo das mensagens de email.
- Anexos enviados
- O número total de anexos enviados com mensagens de email.
- Dados de anexos enviados
- A quantidade de dados enviados como anexos a mensagens de email.
Recurso | Limite diário predefinido | Taxa máxima |
---|---|---|
Destinatários que receberam o email | 100 mensagens | 8 mensagens/minuto |
Administradores com email enviado | 5000 emails | 24 emails/minuto |
Dados do corpo da mensagem enviados | 60 MB | 340 KB/minuto |
Anexos enviados | 2000 anexos | 8 anexos/minuto |
Dados de anexos enviados | 100 MB | 10 MB/minuto |
Pode adicionar um máximo de 50 remetentes autorizados para a API Mail.
Enviar emails acima da sua quota diária de emails
Se a sua app precisar de quotas mais elevadas para enviar correio, pode usar um fornecedor de correio de terceiros, como SendGrid, Mailjet ou Mailgun.
cache de memória
Pode ver o consumo da API Memcache na página de quotas da IAM. O consumo da API Memcache é especificado em unidades de computação da Memcache (MCU) centi, que correspondem a 1/100 de uma MCU. Pode usar até milhões de centi-MCUs.
Recurso ou chamada API | Descrição | Limite do sistema |
---|---|---|
Unidades de computação de Centi Memcache partilhadas por região por minuto | Para cada projeto por região e minuto, os centi-MCUs disponíveis, que são 1/100 de uma unidade de computação do Memcache. Aplicável apenas ao Memcache partilhado. | 90 000 000 centi-MCUs/min/projeto/região |
Pedidos
- Largura de banda de saída (faturável)
-
A quantidade de dados enviados pela aplicação em resposta a pedidos.
Isto inclui:
- dados publicados em resposta a pedidos seguros e não seguros por servidores de aplicações, servidores de ficheiros estáticos ou o Blobstore
- dados enviados em mensagens de email
- dados em pedidos HTTP de saída enviados pelo serviço de obtenção de URLs.
- Largura de banda de entrada
-
A quantidade de dados recebidos pela aplicação a partir de pedidos. Cada pedido HTTP recebido não pode ter mais de 32 MB.
Isto inclui:
- dados recebidos pela aplicação em pedidos seguros e não seguros
- carregamentos para o Blobstore
- dados recebidos em resposta a pedidos HTTP pelo serviço de obtenção de URLs
- Proteja a largura de banda de saída
- A quantidade de dados enviados pela aplicação através de uma ligação segura em resposta a pedidos.
- Proteja a largura de banda de entrada
- A quantidade de dados recebidos pela aplicação através de uma ligação segura a partir de pedidos.
Pesquisar
As quotas gratuitas para a Pesquisa estão listadas na tabela abaixo. Consulte a documentação de Java, Python e Go para uma descrição detalhada de cada tipo de chamada de pesquisa.
Os recursos da API Search são cobrados de acordo com as tarifas indicadas na tabela de preços.
Recurso ou chamada API | Quota gratuita |
---|---|
Armazenamento total (documentos e índices) | 0,25 GB |
Consultas | 1000 consultas por dia |
Adicionar documentos a índices | 0,01 GB por dia |
A secção de quotas da consola de aplicações apresenta uma contagem simples de pedidos de API. Tenha em atenção que, quando indexa vários documentos numa única chamada, a contagem de chamadas aumenta pelo número de documentos.
A API Search impõe estes limites para garantir a fiabilidade do serviço:
- 100 minutos agregados de tempo de execução de consultas por minuto, numa app e num índice.
- 15 000 documentos adicionados/eliminados por minuto
Nota: embora estes limites sejam aplicados por minuto, a Google Cloud consola apresenta os totais diários de cada um. Os clientes com apoio técnico Standard, Enhanced ou Premium podem pedir limites de débito mais elevados contactando o respetivo representante do apoio técnico.
Fila de tarefas
Quando uma tarefa é executada, os pedidos associados contam para as quotas de pedidos da aplicação
Estes limites aplicam-se a todas as filas de tarefas:
Recurso | Limite diário | Taxa máxima |
---|---|---|
Chamadas de gestão da fila de tarefas (através da Google Cloud consola) | 10 000 | n/d |
Recurso | Limite predefinido |
---|---|
Número máximo de filas (inclui filas push e pull, mas não a fila predefinida) | 100 filas. |
Nota: depois de uma tarefa ser executada ou eliminada, o armazenamento que usa é libertado. A sua quota de armazenamento é atualizada a intervalos regulares e pode não apresentar o espaço recuperado imediatamente. Consulte a documentação do Python, Java, ou Go, ou PHP para mais detalhes.
Os seguintes limites aplicam-se às filas de tarefas de acordo com o respetivo tipo:
Limites da fila de envio | |
---|---|
Tamanho máximo da tarefa | 100KB |
Taxa de execução da fila | 500 invocações de tarefas por segundo por fila |
Contagem decrescente/tempo estimado de chegada máximo para uma tarefa | 30 dias a partir da data e hora atuais |
Número máximo de tarefas que podem ser adicionadas num lote | 100 tarefas |
Número máximo de tarefas que podem ser adicionadas numa transação | 5 tarefas |
Número máximo predefinido de filas de tarefas | 100 filas. Contacte o apoio técnico para pedir um aumento. |
Cron
As seguintes quotas aplicam-se especificamente a tarefas cron.
- Tarefas cron
- Número de tarefas cron.
Recurso | Limite predefinido |
---|---|
Tarefa cron | 250 tarefas cron |
Obtenção de URL
- Chamadas da API URL Fetch
- O número total de vezes que a aplicação acedeu ao serviço de obtenção de URLs para realizar um pedido HTTP ou HTTPS.
- Dados do URL Fetch enviados
- A quantidade de dados enviados para o serviço de obtenção de URLs em pedidos.
- Dados do URLFetch recebidos
- A quantidade de dados recebidos do serviço de obtenção de URLs nas respostas. Isto também conta para a quota de largura de banda de entrada.
Recurso | Limite diário | Taxa máxima |
---|---|---|
Chamadas da API UrlFetch | 860 000 000 chamadas | 660 000 chamadas/minuto |
Dados do URLFetch enviados | 4,5 TB | 3600 MB/minuto |
Dados do URLFetch recebidos | 4,5 TB | 3600 MB/minuto |
Limites de rede
Os seguintes limites de rede aplicam-se ao App Engine:- Ligações de saída por segundo por instância: 500 (não podem ser aumentadas)
- Resoluções de DNS de saída por segundo por instância: 100 (não podem ser aumentadas)
- Pacotes máximos por segundo por instância: 80 000
- Máximo de bits por segundo por instância: 100 000 000