Начнем ли мы писать облачные функции для firebase локально?

#android #firebase #google-cloud-platform #google-cloud-functions

# #Android #firebase #google-облачная платформа #google-cloud-функции

Вопрос:

Я собираюсь использовать облачные функции для firebase для рекурсивного удаления документов и коллекций в Firestore, которые запускаются HTTP-запросом (я специально использую вызываемую функцию HTTP). Я нашел некоторую полезную информацию по следующим ссылкам:

https://firebase.google.com/docs/functions/callable

https://firebase.google.com/docs/firestore/solutions/delete-collections

Но я не уверен в одном: похоже, что из руководства функции записываются локально, а затем развертываются на облачном сервере. Итак, где мне хранить все функции и их зависимости? Если я сохраню локальную записанную функцию в своем проекте Android, то каждый раз, когда я обновляю функцию локально, мне придется публиковать новую версию приложения, а это слишком много работы. Можно ли запускать локальную записанную функцию в другой папке, отличной от проекта Android? Кроме того, если я хочу начать писать функцию непосредственно в cloud functions в GCP (чтобы я мог обновить функцию на облачном сервере), где я могу получить файлы зависимостей, такие как package.json, package-lock.json и .eslintrc.json и т.д.? Я не нашел полезного руководства по этому вопросу. Кто-нибудь может мне помочь? Спасибо!

Ответ №1:

Чтобы ответить на ваши вопросы, сначала вы можете хранить свои функции и зависимости где угодно, если у вас есть доступ и вы зарегистрировали свою учетную запись в CLI с правильным проектом, настроенным в нем. Каждый раз, когда вы обновляете свою функцию локально, тогда да, вам нужно ее повторно развернуть.

Если вы хотите, вы можете рассмотреть возможность настройки CI / CD с вашими функциями Firebase, чтобы вы могли автоматизировать развертывания всякий раз, когда вы нажимаете фиксацию в главной и промежуточной ветвях вашего репозитория.

Во-вторых, вы можете запустить локальную записанную функцию в любом месте, если она содержит правильные зависимости для вашего приложения. Как упоминал Дуг, не имеет значения, как организованы ваши файлы.

И, в-третьих, файлы зависимостей, такие как package.json, package-lock.json и .eslintrc.json, — это то, что вам нужно предоставить самостоятельно. Я предлагаю вам ознакомиться с их документами и посмотреть, что лучше всего подходит для вас.

Ответ №2:

Если я сохраню локальную записанную функцию в своем проекте Android, то каждый раз, когда я обновляю функцию локально, мне придется публиковать новую версию приложения, а это слишком много работы.

Это неправда. На самом деле не имеет значения, где организованы файлы вашего проекта. Вы по-прежнему можете развернуть эту функцию в любое удобное для вас время. Он полностью отделен от кода вашего приложения.

Можно ли запускать локальную записанную функцию в другой папке, отличной от проекта Android?

Если это ваши предпочтения, тогда сделайте это. Как я уже упоминал, не имеет значения, как организованы ваши файлы.

Кроме того, если я хочу начать писать функцию непосредственно в cloud functions в GCP (чтобы я мог обновить функцию на облачном сервере), где я могу получить файлы зависимостей, такие как package.json, package-lock.json и .eslintrc.json и т.д.?

Если у вас возникли проблемы с работой с функциями в консоли, вам следует задать отдельный вопрос об этом и указать, где вы застряли в этом процессе.