Можете ли вы назвать конкретные версии функции Google Cloud? - PullRequest
1 голос
/ 06 марта 2019

У нас есть несколько приложений, которые зависят от облачных функций Google, и существует асинхронность между обновлением облачных функций и обновлением приложений.

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

Чтобы решить эту проблему, можно указать, какую версию облачной функции выполнять. Возможно ли это?

Большое спасибо!

1 Ответ

1 голос
/ 06 марта 2019

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


Если вам нужна такая версия, вы, конечно, можете включить ее в используемую вами схему именования.Поэтому, если у вас есть myFunction, который вы хотите обновить несовместимым способом, разверните myFunction_v2.

Со временем, когда клиенты v1 исчезнут, вы можете обновить версионную функцию v2 до значения по умолчанию myFunction.


В качестве альтернативы вы можете включить номер версиив ваш код и в вызов.Поэтому пусть каждый клиент передает версию ожидаемой функциональности, а затем серверный код выполняет условную проверку:

if (context.params.api_version === 1) {
  ... behavior 1
}
else if (context.params.api_version === 2) {
  ... behavior 2
}
...