python - 如何知道 Google Cloud 函数是在 dev 还是 prod 中运行?

标签 python google-cloud-platform google-cloud-functions

尝试找出在运行云功能时是否有一种编程方式来了解它是在开发环境(本地使用功能框架)还是在生产环境(已部署)中运行。 例如。在 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/

相关文章:

python - Pyplot 在图例中显示不同的颜色,但以相同的颜色绘制

google-cloud-platform - 将 us-central1 以外的区域用于 Google Cloud Functions

python-2.7 - Apache Airflow 1.9 : Dataflow exception at the job's end

firebase - Cloud Functions for Firebase 中的套接字挂断错误

python - .one() 和 .scalar() 有什么区别

python - 胶水 etl 作业 - 使用 create_dynamic_frame.from_options 获取 s3 子文件夹

google-cloud-platform - GCP 通过 Compute Engine 的服务帐号访问和存储密码/凭据的正确方法

Firebase:云功能,如何缓存 Firestore 文档快照

node.js - 如何使用云函数更新集合?

python - matplotlib - 更快的帧率?