Com a tecnologia do Cloud Run e do Eventarc, o Cloud Functions para Firebase (2nd gen) oferece uma infraestrutura mais eficiente, gerenciamento avançado do desempenho e da escalonabilidade e mais controle do ambiente de execução das funções. Nesta documentação de pré-lançamento você encontra as novidades e o que está disponível atualmente para a 2ª geração. Além disso, você também pode conferir algumas orientações sobre como usar a nova API, sozinha ou com as APIs do Cloud Functions para Firebase (1st gen).
Novidades do Cloud Functions para Firebase (2nd gen)
As mudanças e melhorias atualmente disponíveis no Cloud Functions para Firebase (2nd gen) incluem:
- Agora as instâncias de função podem executar mais de uma solicitação por vez.
Esse recurso está disponível para funções com uma ou mais CPUs dedicadas.
Os níveis de simultaneidade podem ser definidos por função
ou em todas as funções com o método
setGlobalOptions
. Se as novas funções com uma ou mais CPUs dedicadas não forem especificadas, elas terão como padrão 80 solicitações simultâneas. Consulte Permitir solicitações simultâneas. - Proteja as funções HTTP e chamáveis com uma nova configuração
cors
. Os gatilhos de HTTP agora também têm uma configuraçãocors
para facilitar o gerenciamento do CORS. - O Cloud Functions agora está integrado ao Cloud Run. Se você não conhece o Cloud Run, não se preocupe: a criação de funções está tão fácil como antes. O Cloud Run é um produto mais moderno e sem servidor que oferece melhor desempenho, configuração, monitoramento e muito mais.
- O Google colaborou com líderes do setor para criar a especificação CloudEvents. As funções de gerenciamento de eventos agora usam esse padrão aberto como assinatura do evento.
- Os novos tipos de gatilhos incluem os de alertas do Firebase, de eventos personalizados para Extensões do Firebase e funções da fila de tarefas para executar atividades que tenham consumo intenso de recursos no Cloud Tasks. As funções da fila de tarefas também estão disponíveis na 1ª geração.
- O SDK
firebase-functions
foi reformulado como nativo para JavaScript moderno. É possível configurar funções de 2ª geração globalmente, assim como usar objetos de opções e importações modulares. - As funções HTTP agora podem ter um tempo limite de 1 hora (anteriormente, o tempo era de 9 minutos), que pode ser necessário para cargas de trabalho de longa duração.
- As instâncias de função agora adotam o padrão como a conta de serviço padrão do Compute em vez da conta de serviço do App Engine.
Limitações durante o pré-lançamento
O pré-lançamento do Cloud Functions (2nd gen) ainda não inclui o conjunto completo de funcionalidades planejadas nem fornece paridade total de recursos com o Cloud Functions (1st gen). Ele é limitado em termos de gatilhos disponíveis e tem as outras limitações atuais descritas nesta seção.
Gatilhos do Cloud Functions disponíveis atualmente
O Cloud Functions (2nd gen) oferece suporte aos seguintes gatilhos em segundo plano do Firebase:
- Firebase Realtime Database
- Cloud Storage
- Alertas do Firebase
- Pub/Sub
- Chamáveis
- Cloud Tasks
- HTTP
- Funções programadas
- Funções de bloqueio do Firebase Authentication
- Configuração remota do Firebase
- Firebase Test Lab
- Cloud Firestore
O Cloud Functions (2nd gen) atualmente não oferece suporte aos gatilhos a seguir:
onCreate
eonDelete
do Firebase Authentication- Google Analytics
Outras limitações
Estas limitações também se aplicam ao Cloud Functions (2ª geração):
- A observabilidade completa ainda não está integrada à CLI do Firebase ou ao Console do Firebase. Para observar as instâncias de função, use o Console do Google Cloud para o serviço do Cloud Run de base.
- No momento, o Pacote de emuladores locais do Firebase oferece suporte às funções HTTP, do Cloud Storage e do Pub/Sub de 2ª geração.
- As inicializações a frio ainda não foram otimizadas na 2ª geração e podem ser temporariamente muito mais lentas do que na 1ª. No entanto, os usuários finais vão ter menos inicializações a frio devido à simultaneidade.