标题几乎全部说明了。
在应用设置下设置GOOGLE_APPLICATION_CREDENTIALS环境变量时,我尝试将json文件上传到azure存储并引用了它的url,但是在远程调试网站时,显然url /目录的格式不可接受。我也无法在本地存储json文件,因为该网站对我的C盘目录一无所知。
我应该在哪里存储该文件,以便将我的azure网站的GOOGLE_APPLICATION_CREDENTIALS环境变量设置为json文件的目录?
答案 0 :(得分:1)
如果有人想知道如何在.Net应用程序中平稳处理Google的凭据,而不是在服务器上使用文件的奇怪方式,那么这就是我为Translation Service解决的方法。其他服务必须遵循相同的原则:
将Google凭据json文件的内容作为环境变量存储在您的应用的settings.json / azure配置中(对于内部文本,使用''代替“”):
"GOOGLE_APPLICATION_CREDENTIALS": "{'type': 'service_account','project_id': ...}"
创建并返回客户端:
var credential = GoogleCredential.FromJson(Environment.GetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS"));
var channelCredentials = credential.ToChannelCredentials();
var channel = new Channel(TranslationServiceClient.DefaultEndpoint.ToString(), channelCredentials);
return TranslationServiceClient.Create(channel);
花点时间让我自己理解一下。希望能帮助到你。
答案 1 :(得分:0)
在 azure门户上的 azure应用中,转到应用设置,然后在应用设置下添加凭据标签
然后,您可以像在web.config文件中一样在代码中引用它们。
答案 2 :(得分:0)
我在本地环境中使用.json文件(由于Windows中环境变量长度的限制),而在Azure上,我使用“应用程序设置”来设置环境变量。这段代码处理两种情况:
npm