Экспериментальная поддержка Dart в Cloud Functions for Firebase позволяет создавать полнофункциональные приложения с помощью Flutter и Dart. Обменивайтесь данными с другими сервисами Firebase с помощью нового Firebase Admin Dart SDK.
Чтобы начать работу с функциями Dart, выполните задачи по настройке, описанные в этом руководстве, а затем продолжите изучение HTTP и вызываемых функций Dart.
Требования
- Dart SDK 3.9 или более поздней версии
- Firebase CLI (версия 15.15.0 или более поздняя).
Убедитесь, что у вас установлена версия CLI Firebase, которая поддерживает Dart в Cloud Functions for Firebase, с помощью флага --version:
`firebase --version`
Включите эксперимент в CLI Firebase
firebase experiments:enable dartfunctions
Инициализируйте проект
Запущено:
firebase init functionsВыберите язык Dart.
Когда появится вопрос "Do you want to install dependencies now?" (Установить зависимости сейчас?), ответьте "Yes" (Да).
Как посмотреть код функции
Посмотрите код, сгенерированный в functions/bin/server.dart (или в вашей точке входа). В этом коде показана простая функция HTTP.
Обратите внимание, что в образце кода максимальное количество экземпляров функции helloWorld задано равным 10 с помощью конструктора HttpsOptions. Подробнее о настройке параметров среды выполнения…
Локальное тестирование
firebase emulators:start
После загрузки Local Emulator Suite вы увидите строку журнала, похожую на functions http function initialized
(http://127.0.0.1:5001/<url>). Загрузите этот URL в браузере, чтобы вызвать локально эмулированную функцию Dart.
Если вы измените код Dart, Firebase Local Emulator Suite обнаружит это и автоматически перезагрузит функцию.
Развернуть
firebase deploy --only functions
Процесс развертывания для Dart отличается от процесса для функций Node.js или Python. Вместо того чтобы загружать исходный код для сборки в Cloud Build, CLI Firebase запускает этап компиляции Dart на вашем компьютере для разработки и загружает сгенерированный двоичный файл непосредственно в функции Cloud Run.
Когда развертывание завершится, вы увидите строку журнала, похожую на Function URL
(hello-world(us-central1)): https://hello-world-<random-hash>.<region>.run.app.
Загрузите этот URL в браузере, чтобы вызвать только что развернутую функцию Dart.
Дальнейшие действия
- Задайте параметры конфигурации, например минимальное количество экземпляров.
- Подробнее о функциях HTTP и вызываемых функциях…
- Пройдите практическую работу Dart Functions.
- Используйте экспериментальный Dart Admin SDK для взаимодействия с другими сервисами Firebase, например Cloud Firestore, из вашей функции.
- Помимо HTTP-функций
onRequest, вы можете попробовать примерonCallили примерonCallс потоковой передачей, чтобы вызывать функции непосредственно из приложения (обратите внимание на особое ограничение, связанное с методом вызова).
Ограничения
- Триггер
onCallможно развернуть, но его нельзя вызвать из клиентских SDK с помощью методов, которые идентифицируют функции по имени, например httpsCallable. Вместо этого вы можете использовать такие методы, как httpsCallableFromURL, и передавать полный URL-адрес Cloud Run вашей функции. - Другие триггеры, например триггеры Firestore, можно запускать в локальном наборе эмуляторов, но нельзя развертывать.
- В консоли Firebase функции Dart не отображаются. Функции Dart можно посмотреть на странице функций Cloud Run в консоли Cloud.
Если вы обнаружите проблемы при работе с функциями Dart, отправьте нам отчет. Это поможет нам улучшить и расширить экспериментальный Dart SDK.