【问题标题】:Azure Web API set Environment VariablesAzure Web API 设置环境变量
【发布时间】:2018-10-18 06:08:38
【问题描述】:

我正在尝试对 Azure 中托管的 C# WebAPi 2 上的 Firebase Firestore 进行身份验证。 根据docs,很简单:

否则,验证 API 调用的最简单方法是 下载服务帐户 JSON 文件,然后设置 GOOGLE_APPLICATION_CREDENTIALS 环境变量来引用它。 凭据将自动用于身份验证。见 身份验证入门指南了解更多详情。

这在我的机器上本地工作,但我似乎找不到如何在 Azure WebApp 中设置此环境变量的方法?

【问题讨论】:

  • 您可以设置应用设置。这些成为环境变量。

标签: azure environment-variables google-cloud-firestore


【解决方案1】:

正如 Junnas 所说,您可以设置 App 设置,这将充当环境变量。

在 Asp.Net 5 中有一个构建

Configuration = new Configuration()
             .AddJsonFile("config.json")
             .AddEnvironmentVariables();

阅读此blog 和此SO

您可以在下面的链接中找到所有预定义的环境变量,

https://<yoursitename>.scm.azurewebsites.net/Env.cshtml

【讨论】:

  • 谢谢,我也遇到过这些,但它们是 asp.net 5,我们的后端运行 v2.2 和 .NET 4.6.1 您提到的博客使用旧 Web API 版本的帮助程序(我正在使用)。它仅用于读取变量。我看到 System.Environment 有 Environment.SetEnvironmentVariable("NAME","VALUE") 其中 value 可能是服务帐户 JSON 文件的路径,但我如何上传 json 文件以及它是什么路径?
  • 仍然没有弄清楚如何去做,但找到了解决我的问题的方法。 1:将 JSON 文件存储在 App_Data 文件夹中。 2:如果文件不同,则为每个环境/开发人员创建 web.config 覆盖。 3:从 App_Data 中获取文件。 var fullPathToGoogleServicesJson = System.Web.Hosting.HostingEnvironment.MapPath($@"~/App_Data/{CoreSettings.FirebaseProjectGoogleServicesJsonFileName}");将文件传递给 FirestoreClient
猜你喜欢
  • 1970-01-01
  • 2018-03-31
  • 2016-11-29
  • 2018-07-13
  • 2014-12-17
  • 2021-12-19
  • 2021-04-28
  • 2021-04-21
  • 2014-09-24
相关资源
最近更新 更多