Visualização pública do Cloud Functions v2

Desenvolvido por Cloud Run e Eventarc , o Cloud Functions para Firebase v2 tem o potencial de oferecer uma infraestrutura mais poderosa, controle avançado sobre desempenho e escalabilidade e mais controle do tempo de execução das funções. Esta documentação de visualização pública explica o que há de novo e o que está disponível neste momento no programa beta para v2 e fornece algumas orientações sobre como usar a nova API, sozinha ou em conjunto com as APIs do Cloud Functions para Firebase v1.

O que há de novo no Cloud Functions para Firebase v2

As alterações e aprimoramentos atualmente disponíveis no Cloud Functions para Firebase v2 incluem:

  • As instâncias de função agora podem executar mais de uma solicitação por vez . Este recurso está disponível para funções com uma CPU dedicada ou superior. Os níveis de simultaneidade podem ser definidos por função ou em todas as funções com o método setGlobalOptions . Se não especificado, novas funções com 1 CPU dedicada ou superior terão como padrão 80 solicitações simultâneas. Consulte Permitir solicitações simultâneas .
  • Proteja suas funções de chamada e HTTP com uma nova configuração de cors . Os gatilhos HTTP agora também têm uma configuração cors para tornar o CORS mais fácil de gerenciar .
  • O Cloud Functions agora foi criado no Cloud Run . Se você não estiver familiarizado com o Cloud Run, não se preocupe: criar funções é tão fácil quanto antes. O Cloud Run é um produto sem servidor mais moderno que oferece melhor desempenho, melhor configuração, melhor monitoramento e muito mais.
  • O Google colaborou com líderes do setor para criar a especificação CloudEvents . As funções de manipulação de eventos agora usam esse padrão aberto como sua assinatura de evento.
  • Os novos tipos de acionadores incluem acionadores de alertas do Firebase , acionadores de eventos personalizados para extensões do Firebase e funções de fila de tarefas para executar tarefas com uso intensivo de recursos no Cloud Tasks (as funções de fila de tarefas também estão disponíveis na v1).
  • O SDK firebase-functions firebase foi reimaginado como mais nativo do JavaScript moderno. Você pode configurar funções v2 globalmente, usar objetos de opções e usar importações modulares .
  • As funções HTTP agora podem ter um tempo limite de 1 hora (antes eram 9 minutos) se necessário para cargas de trabalho de longa duração.
  • As instâncias de função agora são padronizadas para a conta de serviço de computação padrão em vez da conta de serviço do mecanismo de aplicativo.

Limitações durante a visualização pública

Esta visualização pública limitada do Cloud Functions v2 ainda não inclui o conjunto completo de funcionalidades planejadas nem fornece paridade total de recursos com o Cloud Functions v1. Ele é limitado em termos de acionadores e regiões disponíveis e possui as outras limitações atuais descritas nesta seção.

Locais do Cloud Functions atualmente disponíveis

Atualmente, o Cloud Functions v2 está disponível nas seguintes regiões:

  • europe-north1
  • europe-west1
  • europe-west4
  • us-central1
  • us-east1
  • us-west1

Acionadores do Cloud Functions atualmente disponíveis

O Cloud Functions v2 é compatível com os seguintes acionadores em segundo plano do Firebase:

  • Banco de dados em tempo real do Firebase
  • Armazenamento na núvem
  • Alertas do Firebase
  • Pub/Sub
  • Chamadas
  • Tarefas na nuvem
  • HTTP

Atualmente, o Cloud Functions v2 não é compatível com os seguintes acionadores:

  • Cloud Firestore
  • Autenticação do Firebase
  • Google Analytics
  • Funções programadas
  • Configuração remota do Firebase
  • Laboratório de testes do Firebase

Outras limitações

Essas limitações também se aplicam ao Cloud Functions v2:

  • Os nomes das funções são restritos a letras minúsculas, números e traços.
  • A observabilidade total ainda não foi incorporada ao Firebase CLI ou ao Firebase console. Para observar suas instâncias de função, use o Console do Google Cloud para o serviço Cloud Run subjacente .
  • Atualmente, o Firebase Local Emulator Suite é compatível com as funções HTTP, Cloud Storage e Pub/Sub na v2.
  • URLs cloudfunctions.net ainda não são compatíveis com funções HTTP; temporariamente, você verá URLs .run.app . Essa limitação também afeta a chamada de funções que podem ser chamadas e de fila de tarefas (consulte os respectivos guias para soluções alternativas aceitáveis).
  • As partidas a frio ainda não foram otimizadas na v2 e temporariamente podem ser significativamente mais lentas do que na v1. No entanto, os usuários finais devem experimentar menos partidas a frio em geral, graças à simultaneidade.