O suporte experimental do Dart no Cloud Functions for Firebase permite criar apps de pilha completa com o Flutter e o Dart. Comunique-se com outros serviços do Firebase usando o novo Firebase SDK Admin do Firebase para Dart.
Para começar a usar as funções do Dart, siga as tarefas de configuração neste guia e continue explorando as funções HTTP e chamáveis do Dart.
Pré-requisitos
- SDK do Dart 3.9 ou mais recente
- Firebase CLI (versão 15.15.0 ou mais recente)
Verifique se você tem uma versão da Firebase CLI que oferece suporte ao Dart em
Cloud Functions for Firebase com a flag --version:
`firebase --version`
Ativar o experimento na Firebase CLI
firebase experiments:enable dartfunctions
Inicializar seu projeto
Execução:
firebase init functionsSelecione o Dart como seu idioma.
Quando perguntado "Do you want to install dependencies now?", responda "Yes".
Conferir o código da função
Confira o código gerado em functions/bin/server.dart (ou seu ponto de entrada). Esse código demonstra uma função HTTP simples.
O exemplo de código define o número máximo de instâncias para a função helloWorld como 10 com o construtor HttpsOptions. Saiba mais sobre as opções de ambiente de execução em Definir opções de ambiente de execução.
Testar localmente
firebase emulators:start
Depois que o Local Emulator Suite for inicializado, você verá uma
linha de registro como functions http function initialized
(http://127.0.0.1:5001/<url>). Carregue esse URL no navegador para chamar a função do Dart emulada localmente.
Se você editar o código do Dart, o Firebase Local Emulator Suite vai detectar a mudança e recarregar a função automaticamente.
Implantar
firebase deploy --only functions
O processo de implantação do Dart é diferente das funções do Node.js ou Python. Em vez de fazer upload do código-fonte para ser criado em Cloud Build, a Firebase CLI executa uma etapa de compilação do Dart na máquina de desenvolvimento e faz upload do binário gerado diretamente para as funções Cloud Run.
Quando a implantação estiver concluída, você verá uma linha de registro como Function URL
(hello-world(us-central1)): https://hello-world-<random-hash>.<region>.run.app
Carregue esse URL no navegador para chamar a função do Dart recém-implantada.
Próximas etapas
- Defina opções de configuração como instâncias mínimas.
- Saiba mais sobre funções HTTP e funções chamáveis.
- Siga o codelab de funções do Dart Codelab de funções do Dart
- Use o Dart Admin SDK experimental para interagir com outros serviços Firebase, como Cloud Firestore, na sua função.
- Além das funções HTTP
onRequest, você pode testar umonCallexemplo ouonCallcom streaming exemplo para chamar funções diretamente do seu app (observando a limitação especial em relação ao método de chamada).
Limitações
- O acionador
onCallpode ser implantado, mas não pode ser chamado de SDKs do cliente com métodos como httpsCallable, que identificam funções por nome. Em vez disso, você pode usar métodos como httpsCallableFromURL e transmitir o URL completo do Cloud Run da sua função. - Outros acionadores, como os do Firestore, podem ser executados no local emulator suite, mas não podem ser implantados.
- O console Firebase não mostra as funções do Dart durante a versão experimental. Em vez disso, é possível conferir as funções do Dart na Cloud Run página de funções do Cloud console.
Se você encontrar problemas ao trabalhar com funções do Dart, você é encorajado a enviar um relatório à equipe para nos ajudar a melhorar e expandir o SDK experimental do Dart.