Как узнать, работает ли функция Google Cloud в dev или prod? - PullRequest
1 голос
/ 09 мая 2020

Попытка выяснить, есть ли программный c способ узнать, при запуске облачной функции, выполняется ли она в dev (локально с помощью functions-framework) или в prod (развернута). Например, в Google AppEngine мы могли узнать, запущен ли он в dev или prod по:

if os.getenv('SERVER_SOFTWARE', '').startswith('Google App Engine'):
    # Running in prod!
else:
    # Running in dev!

Есть ли что-нибудь подобное с GCF?

Спасибо!

1 Ответ

1 голос
/ 09 мая 2020

Итак, я нашел это сообщение в блоге: https://rominirani.com/google-cloud-functions-tutorial-using-environment-variables-20b4f0f82aa0

Оказывается, при развертывании в среде GCF есть много переменных env. Сказав это, я не знаю, сколько из них присутствует в тестовой среде, но подозреваю, что не многие из них. Таким образом, вы можете полагаться на проверку наличия одной из переменных env, которая находится в производственном развертывании и отсутствует в dev.

например, FUNCTION_REGION - одна из переменных, которая, вероятно, не установлена вверх для фреймворка, поскольку фреймворку, скорее всего, все равно, в каком регионе он находится. вы развертываете GCF, устанавливаете свою собственную переменную env, на которую вы полагаетесь (таким образом, в случае изменения любой из этих переменных с течением времени, вы все равно в безопасности).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...