尝试找出在运行云功能时是否有一种编程方式来了解它是在开发环境(本地使用功能框架)还是在生产环境(已部署)中运行。 例如。在 Google AppEngine 中,我们可以通过以下方式知道它是在开发环境中运行还是在生产环境中运行:
if os.getenv('SERVER_SOFTWARE', '').startswith('Google App Engine'):
# Running in prod!
else:
# Running in dev!
GCF有什么类似的吗?
谢谢!
最佳答案
所以,我找到了这篇博文:https://rominirani.com/google-cloud-functions-tutorial-using-environment-variables-20b4f0f82aa0
事实证明,在部署时,GCF 环境中有很多环境变量。现在,话虽如此,我不知道测试框架中有多少这样的东西,但我怀疑它们不多。因此,您可以依靠检查是否存在生产部署中但不存在于开发中的环境变量之一。
例如FUNCTION_REGION
是可能没有为框架设置的变量之一,因为框架可能不关心它位于哪个区域。
这有点 hacky,但它会起作用。
即使是 hackier,如果您愿意,您也可以在部署 GCF 时设置您自己依赖的环境变量(这样,即使这些变量中的任何一个随时间发生变化,您仍然是安全的)。
关于python - 如何知道 Google Cloud 函数是在 dev 还是 prod 中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61690852/