O suporte experimental ao 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 SDK Admin do Firebase para Dart Firebase.
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
- CLI Firebase (versão 15.15.0 ou mais recente)
Verifique se você tem uma versão da CLI Firebase compatível com o Dart em
Cloud Functions for Firebase com a flag --version:
`firebase --version`
Ative o experimento na CLI do Firebase
firebase experiments:enable dartfunctions
Inicializar seu projeto
Execução:
firebase init functionsSelecione Dart como seu idioma.
Quando aparecer a pergunta "Do you want to install dependencies now?", responda "Yes".
Ver o código da função
Confira o código que foi gerado em functions/bin/server.dart (ou seu ponto de entrada). Este código demonstra uma função HTTP simples.
O exemplo de código define o número máximo de instâncias da 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ê vai encontrar 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 Dart emulada localmente.
Se você editar o código 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 do Python. Em vez de fazer upload do código-fonte para ser criado em Cloud Build, a CLI Firebase 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 do Cloud Run.
Quando a implantação for concluída, você vai encontrar 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 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 sobre funções do Dart.
- Use o Dart Admin SDK experimental para interagir com outros serviços do Firebase, como o Cloud Firestore, na sua função.
- Além das funções HTTP
onRequest, teste um exemplo deonCallou um exemplo deonCallcom streaming para chamar funções diretamente do seu app (observando a limitação especial relacionada ao método de chamada).
Limitações
- O gatilho
onCallpode ser implantado, mas não pode ser chamado de SDKs do cliente com métodos como httpsCallable, que identificam funções pelo nome. Em vez disso, use métodos como httpsCallableFromURL e transmita o URL completo do Cloud Run da sua função. - Outros gatilhos, como os do Firestore, podem ser executados no pacote de emuladores locais, mas não podem ser implantados.
- O console do Firebase não exibe funções do Dart durante a versão experimental. É possível conferir as funções do Dart na página de funções do Cloud Run do console do Cloud.
Se você encontrar problemas ao trabalhar com funções do Dart, envie um relatório à equipe para nos ajudar a melhorar e expandir o SDK experimental do Dart.