У меня есть 2 варианта использования запланированных функций для моего приложения. Тот, который запускается один раз в день и удаляет пользователей, которые были неактивны в течение x месяцев. Это удаляет пользователя из аутентификации firebase, и у меня есть функция, управляемая событиями, которая удаляет пользовательские данные, когда это происходит. Во-вторых, у меня есть вариант использования, для которого мне нужно прочитать все документы в потенциально большой коллекции и выполнить некоторые арифметические действия с данными, а затем сохранить их в куче разных коллекций. Это также будет выполняться один раз в день, и данные будут собираться каждый день, чтобы показать пользователю изменения с течением времени. Насколько я понимаю, запланированные функции должны выполняться не более 9 минут, поэтому мне интересно, будет ли достаточно этого периода времени, или мне придется искать в другом месте, например, в облаке?
Извините, если это очевидный вопрос, я совершенно новичок в этом.
Это полностью зависит от количества документов, которые вы пытаетесь обработать, и я бы рекомендовал провести некоторые тесты с предполагаемым количеством документов, которые вам, возможно, придется обработать. Вы можете проверить Облачные функции 2-го поколения, который может выполнять функции HTTP до 60 минут и может иметь до 16 ГБ ОЗУ и 4 виртуальных ЦП. Облачный планировщик может быть полезен для периодического запуска функции HTTP.
@ Twix1983 Облачные функции Firebase — это облачные функции Google (то же самое), но Firebase по-прежнему поддерживает iirc только первого поколения. Если вы хотите использовать Gen 2, возможно, вам придется создать его из Облачная консоль Google. Вы также можете увидеть существующие облачные функции Firebase.
Я попытался выяснить, как я могу получить доступ к своим данным firestore через функцию 2-го поколения, но мне не очень повезло, сможете ли вы указать мне правильное направление?
@Twix1983 Вы можете использовать Firebase Admin SDK так же, как и в любой другой функции. В качестве альтернативы, если вы используете только Firestore, вы также можете использовать пакет @google-cloud/firestore
, который Admin SDK использует под капотом.
Извините, что спрашиваю, но функция HTTP, которую вы упомянули, и функции HTTP, которые вы можете создать с помощью облачных функций Firebase, — это одно и то же, верно, поэтому они будут иметь одинаковые возможности?