Cloud Functions для Firebase
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Уже используете Cloud Functions в Google Cloud ? Узнайте больше о том, какую роль в этом процессе играет Firebase.
Ключевые возможности
Интегрирует функции Firebase и подключает Firebase к Google Cloud | Написанные вами функции могут реагировать на события, генерируемые различными функциями Firebase и Google Cloud : от триггеров аутентификации Firebase до триггеров облачного хранилища . Интегрируйте функции Firebase с помощью Admin SDK и Cloud Functions, а также интегрируйтесь со сторонними сервисами, создавая собственные веб-перехватчики. Cloud Functions минимизирует количество шаблонного кода, упрощая использование Firebase и Google Cloud внутри вашей функции. |
Нулевое обслуживание | Разверните свой код JavaScript, TypeScript или Python на наших серверах одной командой из командной строки. После этого Firebase автоматически масштабирует вычислительные ресурсы в соответствии с особенностями использования ресурсов вашими пользователями. Вам больше не придётся беспокоиться об учётных данных, настройке серверов, подготовке новых серверов или выводе из эксплуатации старых. |
Сохраняет вашу логику конфиденциальной и безопасной | Во многих случаях разработчики предпочитают контролировать логику приложения на сервере, чтобы избежать вмешательства на стороне клиента. Кроме того, иногда нежелательно допускать обратную разработку такого кода. Cloud Functions полностью изолирован от клиента, поэтому вы можете быть уверены в его конфиденциальности и в том, что он всегда выполняет именно то, что вам нужно. |
Как это работает?
После написания и развертывания функции серверы Google немедленно начинают ею управлять. Вы можете запустить функцию напрямую с помощью HTTP-запроса, Admin SDK или запланированного задания, или, в случае фоновых функций, серверы Google отслеживают события и запускают функцию при её срабатывании.
По мере увеличения или уменьшения нагрузки Google реагирует, быстро масштабируя количество виртуальных серверов, необходимых для выполнения вашей функции. Каждая функция работает изолированно, в своей собственной среде с собственной конфигурацией.
Жизненный цикл фоновой функции
- Вы пишете код для новой функции, выбираете поставщика событий (например, Cloud Firestore ) и определяете условия, при которых должна выполняться функция.
- При развертывании вашей функции:
- Firebase CLI создает
.zip
архив кода функции, который затем загружается в контейнер Cloud Storage (с префиксомgcf-sources
) до того, как Cloud Functions создаст репозиторий Artifact Registry (с именемgcf-artifacts
) в вашем проекте. - Cloud Build извлекает код функции и собирает исходный код функции. Журналы Cloud Build можно просмотреть в консоли Google Cloud .
- Образ контейнера для кода встроенных функций загружается в частный репозиторий Artifact Registry в вашем проекте (с именем
gcf-artifacts
), и ваша новая функция развертывается.
- Firebase CLI создает
- Когда поставщик событий генерирует событие, соответствующее условиям функции, вызывается код. К функции привязана учётная запись службы, которую можно использовать для доступа к другим службам Firebase с помощью Firebase Admin SDK .
- Если функция занята обработкой большого количества событий, Google создаёт дополнительные экземпляры для более быстрой обработки. Если функция простаивает, экземпляры очищаются.
- При обновлении функции путем развертывания обновленного кода экземпляры старых версий очищаются вместе с артефактами сборки в Artifact Registry и заменяются новыми экземплярами.
- При удалении функции все экземпляры и ZIP-архивы очищаются, а также связанные с ними артефакты сборки в Artifact Registry . Связь между функцией и поставщиком событий удаляется.
Помимо прослушивания событий с помощью фоновой функции, вы можете вызывать функции напрямую с помощью HTTP-запроса или вызова от клиента . Вы также можете запускать функции по фиксированному расписанию или добавлять задачи в очередь через Admin SDK .
Путь реализации
Настройка Cloud Functions | Установите Firebase CLI и инициализируйте Cloud Functions в своем проекте Firebase. | |
Функции записи | Напишите код JavaScript, TypeScript или Python для обработки событий из служб Firebase, служб Google Cloud или других поставщиков событий. | |
Тестовые функции | Используйте локальный эмулятор для проверки своих функций. | |
Развертывание и мониторинг | Перейдите на тарифный план Blaze с оплатой по факту использования и разверните свои функции с помощью Firebase CLI. После этого вы сможете просматривать и выполнять поиск по журналам через консоль Google Cloud . |
Следующие шаги
- Приступите к настройке, созданию и развертыванию функций.
- Узнайте больше о том, что можно делать с функциями .
- Попробуйте выполнить практическую работу по Cloud Functions .