你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

为 Azure 静态 Web 应用配置应用程序设置

应用程序设置包含可能更改的配置值(例如数据库连接字符串)。 通过添加应用程序设置,可以修改应用的配置输入,而无需更改应用程序代码。

应用程序设置:

  • 可用作静态 Web 应用的后端 API 的环境变量
  • 可用于存储身份验证配置中使用的机密
  • 静态加密
  • 复制到过渡环境和生产环境
  • 只能是字母数字字符、._

本文所述的应用程序设置仅适用于 Azure 静态 Web 应用的后端 API。

若要配置生成前端 Web 应用程序所需的环境变量,请参阅生成配置

先决条件

  • Azure 静态 Web 应用应用程序
  • Azure CLI - 在要使用命令行的情况下为必需

为本地开发配置 API 应用程序设置

Azure Static Web Apps 中的 API 由 Azure Functions 提供支持,使你能够在 local.settings.json 文件中定义应用程序设置(当你在本地运行应用程序时)。 此文件定义配置的 Values 属性中的应用程序设置。

注意

local.settings.json 文件仅用于本地开发。 使用 Azure 门户配置适用于生产环境的应用程序设置。

以下示例 local.settings.json 演示如何为 DATABASE_CONNECTION_STRING 添加值。

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "node",
    "DATABASE_CONNECTION_STRING": "<YOUR_DATABASE_CONNECTION_STRING>"
  }
}

Settings defined in the Values property can be referenced from code as environment variables. In Node.js functions, for example, they're available in the process.env object.

const connectionString = process.env.DATABASE_CONNECTION_STRING;

The local.settings.json file isn't tracked by the GitHub repository because sensitive information, like database connection strings, are often included in the file. Since the local settings remain on your machine, you need to manually configure your settings in Azure.

Generally, configuring your settings is done infrequently, and isn't required with every build.

配置应用程序设置

可以通过 Azure 门户或使用 Azure CLI 配置应用程序设置。

重要

本文所述的应用程序设置仅适用于 Azure 静态 Web 应用的后端 API。

若要配置生成前端 Web 应用程序所需的环境变量,请参阅生成配置

使用 Azure 门户

Azure 门户提供一个用于创建、更新和删除应用程序设置的接口。

  1. 转到 Azure 门户

  2. 打开静态 Web 应用。

  3. 在“设置”部分下,选择“环境变量”

  4. 选择要创建环境变量的环境。 你可以为每个环境创建变量。 在你创建拉取请求时,会自动创建过渡环境,然后在合并拉取请求时将其提升到生产环境。

  5. 选择“+ 添加”以添加新环境变量。

  6. 在“名称”和“值”框中输入值。

  7. 选择“应用”。

  8. 再次选择“应用”以保存所做的更改。

使用 Azure CLI

使用 az staticwebapp appsettings 命令更新 Azure 中的设置。

在终端或命令行中执行以下命令,以添加或更新名为 message、值为 Hello world 的设置。 请务必将占位符 <YOUR_APP_ID> 替换为你的值。

az staticwebapp appsettings set --name <YOUR_APP_ID> --setting-names "message=Hello world"

Tip

You can add or update multiple settings by passing multiple name-value pairs to --setting-names.

View application settings with the Azure CLI

In a terminal or command line, execute the following command. Make sure to replace the placeholder <YOUR_APP_ID> with your value.

az staticwebapp appsettings list --name <YOUR_APP_ID>

Delete application settings with the Azure CLI

In a terminal or command line, execute the following command to delete a setting named message. Make sure to replace the placeholder <YOUR_APP_ID> with your value.

az staticwebapp appsettings delete --name <YOUR_APP_ID> --setting-names "message"

Tip

Delete multiple settings by passing multiple setting names to --setting-names.