前言
原文
Configure application settings
App setting
在 App Service 中,app setting 其實就是 environment variables
設置好的 app setting 會透過 --env 被傳到 container
而 app setting 總是會被加密保存
如果你使用的是 ASP.NET,app setting 就像是 Web.config 或 appsettings.json 內的 <appSetting>
但你在 app setting 設置的值將會覆蓋(override) 在 Web.config 或 appsettings.json 內的值
也因這個特性
你可以在 Web.config 或 appsettings.json 設置 development settings (e.g. local MySQL password)
然後在 app setting 中設置 production secret (e.g. MySQL password of production database)
Add / Edit app settings on Azure Portal
逐一修改
你可以經由 Azure Portal 來查看及修改 app settings

批量修改
你只需要在 app settings 介面中點一下 Advance edit
就可以以 JSON 的格式批量的修改 app setting 了

該 JSON 包含了 name、value,以及 slotSetting 格式例子如下

Add / Edit app settings on CLI / PowerShell
Portal 能做的,CLI 自然也都能做
只要在指令中加入 --settings 就可以設置 app setting 了
例子如下
az webapp config appsettings set --resource-group <group-name> --name <app-name> --settings key1=value1 key2=value2
如果你用的是 Azure PowerShell
那就要用到 -AppSettings 了
例子如下
Set-AzWebApp -ResourceGroupName <group-name> -Name <app-name> -AppSettings @{"DB_HOST"="myownserver.mysql.database.azure.com"}
Slot setting
Slot setting 是一個 bolean
如果是 true,那麼這個設定的值就會跟着這個 slot 不會被swap
如果是 false 就不會
下面就是一個例子
| Slot name | Production slot | Deployment slot |
| App setting of the slots (before swap) | ![]() | ![]() |
| App setting of the slots (after swap) | ![]() | ![]() |
在上面的例子中
我們可以看到
因為其一個 slot 的 <key-1> 和 <key-3> 被設置為 "slotSetting": true
所以 <key-1> 和 <key-3> 的值並沒有被 swap
而 <key-2> 的值則是被 swap 了
逐一修改
在使用 Azure portal 新增或修改 app setting 的時候
它會有一個名為 Deployment slot setting 的勾選方塊
把它勾選了就是把 slotSetting 設置為 true,反之就是 false

批量修改
在使用 JSON 設置 app setting 的時候
它有一個名為 slotSetting 的參數
把它設置為 true 或 false 就可以了
就像是這樣

Connection strings
如果你用的是 ASP.NET
App settings 會覆蓋掉 Web.config 內的 <connectionStrings>
下面是一些設置 connection string 的例子
[
{
"name": "name-1",
"value": "conn-string-1",
"type": "SQLServer",
"slotSetting": false
},
{
"name": "name-2",
"value": "conn-string-2",
"type": "PostgreSQL",
"slotSetting": false
},
...
]
(( 其實我不太懂原文在這裏加上這麼一段是什麼意思,如果大家知道的話請在下面留言告知一下。先謝過了( •̀ ω •́ )✧




![[小遊記] 郵輪值不值得去?海洋光譜號 5 晚體驗實錄](https://thinkdb.link/wp-content/uploads/2026/04/after-ship-trip-v2.jpg)
![[是日雜談] 大牌流動充電器(尿袋 / 充電寶)起火不斷,市場內卷的啟示](https://thinkdb.link/wp-content/uploads/2025/07/power-bank-fire-2.jpg)
![[碰壁指南] 輸入了錯誤 commit message?Git rebase 修改沒煩惱](https://thinkdb.link/wp-content/uploads/2025/07/輸入了錯誤-commit-message?git-rebase-修改沒煩惱v2.jpg)
![[碰壁指南] 設置 Certbot Cloudflare DNS challenge,解決 HTTP challenge 被攔截](https://thinkdb.link/wp-content/uploads/2025/06/certbot-cloudflare-dns-challenge.jpg)
發佈留言