Облачные функции: хранить простые общие значения между экземплярами без базы данных / VP C? - PullRequest
0 голосов
/ 13 февраля 2020

Написание функции Firebase / Google Cloud и необходимость сохранения значения среды для использования при нескольких вызовах функций. Это значение истекает, и его необходимо время от времени извлекать и обновлять в процессе производства.

Я ищу облегченный вариант для этого. Кажется, все советы, которые я могу найти, - вам нужно раскрутить VP C и создать выделенный экземпляр Redis ... или вам нужно создать облачную базу данных и сохранить ее там ... Мне просто нужно сохранить простое строка, и кажется, что для этого нужно очень много инфраструктуры.

Можно подумать, что переменные среды будут работать, но вы можете установить их только в командной строке, и они обновляются только при развертывании ...

Для хранения данных среды вы можете использовать функции firebase: config: set command.

Чтобы получить данные среды, вы можете использовать функцию functions.config ().

См. https://firebase.google.com/docs/functions/config-env.

Итак, есть ли способ обновить / установить значение в моем коде? Я не могу полагаться на командную строку, чтобы обновить ее по истечении срока действия, например cron для обновления и повторного развертывания.

В Google Apps Script, например, я бы просто использовал вспомогательный сервис 'cache' и сохранял значение в течение нескольких часов. Любой эквивалентный кеш, доступный для облачных функций, не прибегая к хранению в GCS или в базе данных (это одна простая строка токена ...)? Спасибо.

1 Ответ

2 голосов
/ 13 февраля 2020

Облачные функции не предлагают какой-либо формы общих переменных среды между функциями. Вам нужно будет обратиться к внешнему источнику, такому как Cloud Secrets Manager, Cloud Storage или к одной из баз данных. Я использую и Cloud Storage, и Datastore для этой функции. Сейчас я смотрю в Cloud Secrets Manager, поскольку у моего программного обеспечения тоже есть свои секреты.

...