App Engine 标准 Python 3 个环境变量未定义

App Engine Standard Python 3 environment variables undefined

我正在尝试访问我的 App Engine Standard Python 3 应用程序中的 GOOGLE_CLOUD_PROJECT 环境变量。根据 the documentation 这个变量应该在运行时设置。我使用 Flask 创建了一个简单的函数来演示这个问题:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def root():
    try:
        return GOOGLE_CLOUD_PROJECT
    except NameError:
        return 'GOOGLE_CLOUD_PROJECT undefined'

无论我尝试什么,我都会触发异常并返回 'GOOGLE_CLOUD_PROJECT undefined'。为什么我无法访问此环境变量?

仅查看您提供的代码,原因是这不是使用 Python 获取环境变量值的方法。实际上,如果您没有 except,您会看到的错误消息是变量 GOOGLE_CLOUD_PROJECT 在您的 Python 代码中不存在。

你可能想使用这样的东西:

from flask import Flask
import os

app = Flask(__name__)

@app.route('/')
def root():
    try:
        return os.environ['GOOGLE_CLOUD_PROJECT']
    except NameError:
        return 'GOOGLE_CLOUD_PROJECT undefined'

if __name__ == '__main__':
    app.run(host='127.0.0.1', port=8080, debug=True)