检查是否部署在云端



我有一个运行在Docker容器中的python程序。我的身份验证方法取决于容器是否部署在GCP中。理想情况下,我有一个这样的函数:

def deployment_environment():
# return 'local' if [some test] else 'cloud'
pass

检查这个最习惯的方法是什么?我的直觉是使用命名为[APP_NAME]_DEPLOYMENT_ENVIRONMENT的环境,它可以以任何一种方式设置-但确保设置正确有太多可移动的部分。有GCP包/工具可以帮我检查吗?

我想到了两个解决方案:

与env

在部署时设置一个env变量,如下所示:

gcloud functions deploy [function-name] --set-env-vars ENV_GCP=1

然后,在你的代码中:

import socket

def deployment_environment():
return 'cloud' if ('ENV_GCP' in os.environ) else 'local'
<表类>优点缺点的意图很明确,设置和使用env更涉及习惯用法依赖于用户正确设置env

相关内容

  • 没有找到相关文章