Функции Firebase Cloud: как обновить значение, используемое несколькими функциями

#javascript #firebase #google-cloud-platform #google-cloud-functions

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

Вопрос:

У меня есть несколько облачных функций, которые используют одно значение, в основном что-то вроде этого:

index.js

 function emailFooter() {
    return `<div>email footer</div>`;
}

exports.sendEmailSuccess = functions.https.onCall(() => {
    const emailContent = 'success content'   emailFooter();
    sendEmail(emailContent) // fake email sender
});

exports.sendEmailFailure = functions.https.onCall(() => {
    const emailContent = 'failure content'   emailFooter();
    sendEmail(emailContent) // fake email sender
});
  

Проблема в том, что я хочу изменить содержимое нижнего колонтитула (возвращаемое emailFooter ), но для этого (насколько я исследовал) Сначала мне нужно изменить его в коде, а затем развернуть каждую облачную функцию, которая использует emailFooter ( sendEmailSuccess и sendEmailFailure ) , поэтому нижний колонтитул будет выглядеть одинаково для каждого типа электронной почты.

Конечно, я мог бы просто развернуть все функции одновременно firebase deploy --only functions , но раньше мы были несколькими разработчиками, и некоторые из нас обновляли функции до такой степени, что мы не знаем, какие из них одинаковы в index.js как и в GCP (около 20 функций), и я должен был бы проверить каждую из них, чтобыЯ бы не стал развертывать старую версию.

Есть ли способ обновить это единственное значение или хотя бы узнать, какие функции обновлены?

Спасибо.

Ответ №1:

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

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