#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 и т.д.?
Если у вас возникли проблемы с работой с функциями в консоли, вам следует задать отдельный вопрос об этом и указать, где вы застряли в этом процессе.