可以使用其他自定义环境变量名称代替GOOGLE_APPLICATION_CREDENTIALS吗?

为了对我的应用程序启用多个凭据-我想为每个凭据使用自定义环境变量。

如何明确设置?

GCP docs中,我仅看到此默认选项。

编辑:

我正在使用的库是Google.Cloud.Storage.V1和Google.Apis.Dataflow.v1b3

我成功使用了此

var credentials = GoogleCredential.FromFile(@"c:\certs\sa.json");
var storageclient = Storageclient.Create(credentials);
iCMS 回答:可以使用其他自定义环境变量名称代替GOOGLE_APPLICATION_CREDENTIALS吗?

如果使用默认凭据创建,则只能使用此环境变量

(example in python)

import google.auth

credentials,project_id = google.auth.default()

现在,请考虑您在GOOGLE_APPLICATION_CREDENTIALS环境变量中输入的值。它只是服务帐户密钥文件的路径。因此,you can do that,which is equivalent to the previous command

import google.auth

credentials = service_account.Credentials.from_service_account_file(os.getenv('GOOGLE_APPLICATION_CREDENTIALS'))

因此,您可以使用所需的env var名称,并通过将路径传递到正确的文件来创建显式凭证!

C#示例:

var credentials = GoogleCredential.FromFile(@"c:\certs\trigger-sa.json");
var storageClient = StorageClient.Create(credentials);
本文链接:https://www.f2er.com/1974775.html

大家都在问