Flask OS环境变量-每个调用的视图的更改?

Flask OS环境变量-每个调用的视图的更改?,flask,google-cloud-platform,dialogflow-es,Flask,Google Cloud Platform,Dialogflow Es,我有保存为OS环境变量的google凭据。我希望根据调用的视图使用多个项目凭据。我已经实现了如下所示 @app.route('/project/one', methods=['POST']) def project_one(): os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "path/to/project/one/json/file" #do stuff authenticated by p

我有保存为OS环境变量的google凭据。我希望根据调用的视图使用多个项目凭据。我已经实现了如下所示

@app.route('/project/one', methods=['POST'])
def project_one():
    os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "path/to/project/one/json/file"
    #do stuff authenticated by project one credentials

@app.route('/project/two', methods=['POST'])
def project_two():
    os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "/path/to/prject/two/json/file"
    #do stuff authenticated by project two credentials

当我单独测试时,两个端点调用正确的google项目,我得到了预期的结果

我担心的是在两个端点同时被调用的高流量情况下,我是否可能从两个地方设置的os变量中得到错误,如果是,我应该为此设置哪种方法

我无法控制变量的名称,因此无法为其指定不同的名称


感谢您提前回答

您使用的是哪种GCP产品?@SerhiiRohoza am使用DialogFlow请提供更多详细信息。在任何情况下,为什么要使用to凭据调用两个不同的项目?调用
proj1
与调用
proj2
不同的具体情况是什么?你试了什么?如果env变量设置为
proj1
,调用为
proj2
,则可能会出现403错误。当您在函数中设置变量时,何时调用这些函数?您是否可以提供更多的代码?我使用一个应用程序,使用dialogflow python客户端库为两个不同的面向用户的频道提供两个不同的dialogflow代理。在此设置中,您每个项目使用一个代理?您是否使用任何条件调用特定代理?如果是这样,您是否可以尝试在条件中使用env变量?您正在使用的env变量用于访问特定的代理?