Azure 應用程式設定支援資料匯入和匯出作業。 使用這些作業來大量使用組態資料,並在 App Configuration 存放區和程式碼專案之間交換資料。 例如,您可以設定一個 App Configuration 存放區進行測試,並設定另一個用於生產環境。 您可以在它們之間複製應用程式設置,這樣您就不必輸入兩次資料。
本文提供使用 Azure 入口網站 或 Azure CLI 匯入和匯出資料的指南。 如果您已採用 設定即程式碼 ,並在 GitHub 或 Azure DevOps 中管理您的設定,您可以使用 GitHub Actions 設定進行中的組態檔匯入,或使用 Azure Pipeline 匯入工作。
匯入資料
匯入會將組態資料從現有來源帶入 App Configuration 存放區。 使用匯入函式將資料移轉至 App Configuration 存放區,或彙總來自多個來源的資料。
本指南說明如何匯入應用程式設定資料:
從組態檔匯入資料
請按照以下步驟從檔案匯入鍵/值。
從 Azure 入口網站,請遵循下列步驟:
流覽至您的 App Configuration 存放區,然後從 [作業] 功能表中選取 [匯入/匯出]。
預設會選取 [匯入] 選項按鈕。 在 [來源類型] 底下,選取 [組態檔]。
使用以下參數填寫表單:
| 參數 |
Description |
Example |
| 檔案類型 |
選取要匯入的檔案類型:YAML、屬性或 JSON。 |
JSON |
按一下 瀏覽 按鈕,然後選取要匯入的檔案。
填寫表格的下一部分:
| 參數 |
Description |
Example |
| 檔案內容描述 |
選擇內容設定檔:預設或 KVSet。
預設檔案內容設定檔是指現有程式設計架構或系統廣泛採用的傳統設定檔架構,支援JSON、YAML或屬性檔案格式。
KVSet 檔案內容概要是指包含 App Configuration 索引鍵值所有屬性的檔案架構,包括索引鍵、值、標籤、內容類型和標誌。 |
預設值 |
| 匯入模式 |
匯入模式可用來判斷是否要忽略相同的索引鍵/值。 使用 忽略比對 選項時,會忽略存放區中與組態檔中相同的任何索引鍵值。 使用 All 選項,會更新組態檔中的所有鍵值。 |
忽略匹配項 |
| 排除功能旗標 |
如果勾選,則不會匯入功能旗標。 |
未核取 |
| Strict |
如果核取此方塊,則當 [檔案內容設定檔] 設定為 [預設] 時,存放區中具有指定前置詞和標籤但未包含在設定檔中的任何索引鍵/值都會被刪除。 當檔案內容設定檔設定為 KVSet 時,會刪除存放區中未包含在組態檔中的任何鍵值。 如果未核取此方塊,則不會刪除存放區中的任何索引鍵/值。 |
未核取 |
| 分隔符號 |
分隔符號是用來將 JSON 或 YAML 檔案扁平化成索引鍵/值的分隔符號。 屬性檔案和功能旗標將會忽略此項。 支援的值包括無分隔符號、句點 (.)、逗號 (,)、分號 (;)、連字號 (-)、底線 (_)、雙底線 (__)、斜線 (/) 和冒號 (:)。 |
: |
| 深度 |
選擇性。 將 JSON 或 YAML 檔案平面化為鍵值對組的深度。 依預設,如果選取分隔符號,檔案會平面化至最深層次。 此設定不適用於性質檔案或功能旗標。 |
|
| 新增前置詞 |
選擇性。 若指定,則會將前置詞新增至所有已匯入索引鍵/值的索引鍵名稱中。 |
測試應用: |
| 新增標籤 |
選擇性。 若指定,則會將提供的標籤指派給所有已匯入的索引鍵/值。 |
產品 |
| 新增內容類型 |
選擇性。 如果指定,提供的內容類型就會新增至所有匯入的鍵/值。 |
JSON (應用程式/json) |
| 新增標籤 |
選擇性。 若指定,則會將提供的標籤新增至所有已匯入的索引鍵/值中。 |
{標籤:標籤1} |
選取 套用 以繼續進行匯入。
您已成功從 JSON 檔案匯入索引鍵/值。 關鍵名稱被使用:分隔符展平,並加上TestApp:作為前綴詞。 所有匯入的鍵值都會標示為 prod,其內容類型為 application/json,並標記為 tag: tag1。
從 Azure CLI 中,遵循下列步驟。 如果您沒有在本機安裝 Azure CLI,您可以選擇性地使用 Azure Cloud Shell。
輸入 import 指令 az appconfig kv import 並新增下列參數:
| 參數 |
Description |
Example |
--name |
輸入您要將資料匯入至的 App Configuration 存放區名稱。 |
my-app-config-store |
--source |
輸入 file 以表示您正在從檔案匯入應用程式設定資料。 |
file |
--path |
輸入包含您要匯入之資料之檔案的本機路徑。 |
C:/Users/john/Downloads/data.json |
--format |
輸入 yaml、屬性或 json 以指出您要匯入的檔案格式。 |
json |
選擇性地也新增下列參數:
| 參數 |
Description |
Example |
--separator |
選擇性。 分隔符號是將鍵值平面化為 JSON/YAML 的分隔符號。 匯出階層式結構需要這個設定,而屬性檔和功能旗標會忽略此設定。 選取下列其中一個選項: .、 ,、 :、 ;、 /-_—。 |
; |
--prefix |
選擇性。 鍵前綴是鍵的開頭部分。 前綴可用來管理配置存儲中的鍵值群組。 這個前置詞會附加至您所匯入每個索引鍵/值「key」屬性的前面。 |
TestApp: |
--label |
選擇性。 輸入要指派給匯入的鍵/值的標籤。 |
prod |
--content-type |
選擇性。 輸入 appconfig/kvset 或 application/json ,指出匯入的內容是由金鑰保存庫參考或 JSON 檔案所組成。 |
application/json |
範例:從 JSON 檔案匯入所有鍵值/值和功能旗標,套用標籤 “prod”,並附加前置詞 “TestApp”。 新增「application/json」內容類型。
az appconfig kv import --name my-app-config-store --source file --path D:/abc.json --format json --separator ; --prefix TestApp: --label prod --content-type application/json
命令列會顯示即將進行的變更清單。 選取 y以確認匯入。
您從 JSON 檔案匯入索引鍵/值,並為其指派標籤 “prod” 和前置詞 “TestApp:”。 使用分隔符號 “;”,且您匯入的所有鍵值/值都會將內容類型設定為 “JSON”。
如需更多選擇性參數和範例,請移至 az appconfig kv import。
從 App Configuration 存放區匯入資料
您可以將值從一個 App Configuration 存放區匯入至另一個 App Configuration 存放區,也可以將值從一個 App Configuration 存放區匯入至相同的 App Configuration 存放區,以複製其值並套用不同的參數,例如新的標籤或內容類型。
請遵循下列步驟,從 Azure 應用程式設定存放區匯入金鑰數值和功能旗標。
從 Azure 入口網站,請遵循下列步驟:
流覽至您的 App Configuration 存放區,然後從 [作業] 功能表中選取 [匯入/匯出]。
預設會選取 [匯入] 選項按鈕。 在 [來源類型] 底下,選取 [應用程式設定]。
選取要從中匯入資料的 App Configuration 存放區,並使用下列參數填寫表單:
| 參數 |
Description |
Example |
| Subscription |
預設會選取您目前的訂閱。 |
my-subscription |
| 資源群組 |
選取包含要匯入之設定的 App Configuration 存放區的資源群組。 依預設,會選取您目前的資源群組。 |
我的資源群組 |
| Resource |
選取包含您要匯入之設定的 [應用程式設定] 存放區。 |
我的-其他-應用程式-設定儲存 |
填寫表格的下一部分:
| 參數 |
Description |
Example |
| 選取模式 |
選擇要從一般鍵值(這是預設選項)或快照中匯入。 |
預設值 |
| 關鍵篩選 |
用於根據要匯入的索引鍵名稱來篩選索引鍵/值。 如果未指定金鑰,則所有金鑰都符合資格。 |
從測試開始 |
| 在特定時間 |
選擇性。 填寫此欄位,以從所選組態存放區中的特定時間點匯入索引鍵/值。 如果留空,則預設為鍵值的當前時間點。 |
2022/07/28 上午 12:00:00 |
| 從標籤 |
選取一或多個標籤,以匯入與這些標籤相關聯的索引鍵/值。 如果未選取任何標籤,則所有標籤都符合資格。 |
產品 |
| 排除功能旗標 |
如果勾選,則不會匯入功能旗標。 |
未核取 |
| 新增前置詞 |
選擇性。 若指定,則會將前置詞新增至所有已匯入索引鍵/值的索引鍵名稱中。 |
測試應用: |
| 覆寫標籤 |
選擇性。 根據預設,會保留來源鍵值的原始標籤。 若要覆寫它們,請核取該方塊並為已匯入的索引鍵/值輸入新的標籤。 |
新 |
| 覆寫內容類型 |
選擇性。 根據預設,會保留來源鍵/值的原始內容類型。 若要覆寫它們,請核取該方塊並為已匯入的索引鍵/值輸入新的內容類型。 請注意,無法覆寫功能旗標的內容類型。 |
JSON (應用程式/json) |
選取 套用 以繼續進行匯入。
您於 2021 年 1 月 28 日凌晨 12 點從 App Configuration 存放區匯入索引鍵/值,索引鍵名稱以 test 開頭,且標籤為 prod。 索引鍵名稱以 TestApp: 作為前綴。 所有匯入的索引鍵/值都已指派標籤 new 和內容類型 application/json。
從 Azure CLI 中,遵循下列步驟。 如果您沒有在本機安裝 Azure CLI,您可以選擇性地使用 Azure Cloud Shell。
輸入 import 指令 az appconfig kv import ,然後輸入下列參數:
| 參數 |
Description |
Example |
--name |
輸入您要將資料匯入的 App Configuration 存放區名稱 |
my-app-config-store |
--source |
輸入 appconfig 以指出您正在從 App Configuration 存放區匯入資料。 |
appconfig |
--src-name |
輸入您要從中匯入資料的 App Configuration 存放區名稱。 |
my-source-app-config |
--src-label |
將匯入限制為具有特定標籤的鍵/值。 如果您不使用此參數,則只會匯入具有 Null 標籤的鍵/值。 支援星號做為篩選器: * 輸入所有標籤; abc* 輸入所有以 abc 為前綴的標籤。 |
prod |
選擇性地新增下列參數:
| 參數 |
Description |
Example |
--label |
選擇性。 輸入要指派給匯入的鍵/值的標籤。 |
new |
--content-type |
選擇性。 輸入 appconfig/kvset 或 application/json ,指出匯入的內容是由金鑰保存庫參考或 JSON 檔案所組成。 只能覆寫匯入金鑰值的內容類型。 功能旗標的預設內容類型是 “application/vnd.microsoft.appconfig.ff+json;charset=utf-8',且不會由此參數更新。 |
application/json |
範例:從另一個應用程式設定匯入標籤為「prod」的索引鍵/值和功能旗標,並為其指派標籤「new」。 新增「application/json」內容類型。
az appconfig kv import --name my-app-config-store --source appconfig --src-name my-source-app-config --src-label prod --label new --content-type application/json
命令列會顯示即將進行的變更清單。 選取 y以確認匯入。
您已從應用程式組態存放區匯入具有「prod」標籤的索引鍵/值,並為其指派「new」標籤。 您匯入的所有鍵值的內容類型都設為「JSON」。
如需更多選擇性參數和範例,請移至 az appconfig kv import。
從 Azure App Service 匯入資料
請遵循下列步驟,從 Azure App Service 匯入索引鍵/值。
備註
App Service 目前不支援功能旗標。 匯入至 App Service 的所有功能旗標都會自動轉換成金鑰值。 您的 App Service 資源只能包含鍵值。
從 Azure 入口網站:
流覽至您的 App Configuration 存放區,然後從 [作業] 功能表中選取 [匯入/匯出]。
預設會選取 [匯入] 選項按鈕。 在 [ 來源類型] 底下,選取 [App Services]。
選取要從中匯入資料的 App Configuration 存放區,並使用下列參數填寫表單:
| 參數 |
Description |
Example |
| Subscription |
預設會選取您目前的訂閱。 |
my-subscription |
| 資源群組 |
選取包含要匯入之設定的 App Service 的資源群組。 |
我的資源群組 |
| Resource |
選取包含您要匯入之設定的 App Service。 |
我的應用程式服務 |
填寫表格的下一部分:
| 參數 |
Description |
Example |
| 更新設定以參考 |
若核取,App Service 中的應用程式設定會更新為已匯入索引鍵/值的應用程式設定參考。 這可讓您在 App Configuration 中繼續管理您的應用程式設定。 您的 App Service 會自動從 [應用程式設定] 提取目前的值。 若要深入瞭解,請參閱 使用 App Service 和 Azure Functions 的應用程式設定參考。 |
已檢查 |
| 新增前置詞 |
選擇性。 若指定,則會將前置詞新增至所有已匯入索引鍵/值的索引鍵名稱中。 |
測試應用: |
| 新增標籤 |
選擇性。 若指定,則會將提供的標籤指派給所有已匯入的索引鍵/值。 |
產品 |
| 新增內容類型 |
選擇性。 如果指定,提供的內容類型就會新增至所有匯入的鍵/值。 |
JSON (應用程式/json) |
選取 套用 以繼續進行匯入。
您已從 App Service 匯入所有應用程式設定為索引鍵/值,並為其指派標籤 prod 和前置詞 TestApp:。 您匯入的所有鍵值對的內容類型都設定為 application/json。
從 Azure CLI 中,遵循下列步驟。 如果您沒有在本機安裝 Azure CLI,您可以選擇性地使用 Azure Cloud Shell。
輸入 import 指令 az appconfig kv import 並新增下列參數:
| 參數 |
Description |
Example |
--name |
輸入您要將資料匯入至的 App Configuration 存放區名稱。 |
my-app-config-store |
--source |
輸入 appservice 以指出您正在從 Azure App Service 匯入應用程式設定資料。 |
appservice |
--appservice-account |
輸入 App Service 的 ARM 識別碼,或使用 App Service 的名稱,如果它與應用程式設定位於相同的訂用帳戶和資源群組中。 |
/subscriptions/123/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/my-app-service 或 my-app-service |
選擇性地也新增下列參數:
| 參數 |
Description |
Example |
--prefix |
選擇性。 鍵前置詞是鍵值的「鍵」屬性的開頭部分。 前綴可用來管理配置存儲中的鍵值群組。 這個前置詞會附加至您所匯入每個索引鍵/值「key」屬性的前面。 |
TestApp: |
--label |
選擇性。 輸入要指派給匯入的鍵/值的標籤。 如果您未指定標籤,則會將 Null 標籤指派給您的鍵/值。 |
prod |
--content-type |
選擇性。 輸入 appconfig/kvset 或 application/json ,以指出匯入的內容包含金鑰保存庫參考或 JSON 檔案。 |
application/json |
若要取得 的 --appservice-account值,請使用命令 az webapp show --resource-group <resource-group> --name <resource-name>。
範例:將所有應用程式設定從 App Service 匯入為具有標籤 “prod” 的索引鍵/值,匯入 App Configuration 存放區,並新增 “TestApp:” 前置詞。
az appconfig kv import --name my-app-config-store --source appservice --appservice-account /subscriptions/123/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/my-app-service --label prod --prefix TestApp:
命令列會顯示即將進行的變更清單。 選取 y以確認匯入。
您已將 App Service 的所有應用程式設定匯入為鍵值對,並為其指派標籤 "prod",加上 "TestApp:" 前綴。 您匯入的所有鍵/值都會將內容類型設定為「JSON」。
如需更多選擇性參數和範例,請移至 az appconfig kv import。
從 Azure Kubernetes 服務中匯入資料 ConfigMaps
請遵循下列步驟,從 Azure Kubernetes Service ConfigMap 匯入索引鍵/值。 此功能的入口網站支援正在開發中,請使用 Azure CLI 從 AKS 匯入。
從 Azure CLI 中,遵循下列步驟。 如果您沒有在本機安裝 Azure CLI,您可以選擇性地使用 Azure Cloud Shell。
輸入 import 指令 az appconfig kv import 並新增下列參數:
| 參數 |
Description |
Example |
--name |
輸入您要將資料匯入至的 App Configuration 存放區名稱。 |
my-app-config-store |
--source |
輸入 aks 以指出您正在從 Azure Kubernetes Service 匯入應用程式設定資料。 |
aks |
--aks-cluster |
輸入 Azure Kubernetes Service 的 ARM 識別碼,或使用 Azure Kubernetes Service 的名稱,如果它與應用程式設定位於相同的訂用帳戶和資源群組中。 |
/subscriptions/123/resourceGroups/my-resource-group/providers/Microsoft.ContainerService/managedClusters/my-aks-cluster 或 my-aks-cluster |
--configmap-namespace |
輸入您要匯入的 ConfigMap 命名空間。 |
default |
--configmap-name |
輸入您要匯入的 ConfigMap 名稱。 |
my-configmap |
選擇性地也新增下列參數:
| 參數 |
Description |
Example |
--prefix |
選擇性。 鍵前置詞是鍵值的「鍵」屬性的開頭部分。 前綴可用來管理配置存儲中的鍵值群組。 這個前置詞會附加至您所匯入每個索引鍵/值「key」屬性的前面。 |
TestApp: |
--label |
選擇性。 輸入要指派給匯入的鍵/值的標籤。 如果您未指定標籤,則會將 Null 標籤指派給您的鍵/值。 |
test |
--content-type |
選擇性。 輸入 appconfig/kvset 或 application/json ,以指出匯入的內容包含金鑰保存庫參考或 JSON 檔案。 |
application/json |
--format |
選擇性。 輸入 yaml、properties 或 json 以指出您要匯入的 ConfigMap 格式。 |
json |
--separator |
選擇性。 分隔符號是用於將鍵值平面化的符號。 匯出階層式結構需要這個設定,而屬性檔和功能旗標會忽略此設定。 選取下列其中一個選項: .、 ,、 :、 ;、 /-_—。 |
; |
若要取得 的 --aks-cluster值,請使用命令 az aks show --resource-group <resource-group> --name <aks-cluster-name>。
範例:將所有設定從 AKS Configmap 匯入為具有標籤 “test” 的索引鍵/值,匯入 App Configuration 存放區,並新增 “TestApp:” 前置詞。
az appconfig kv import --name my-app-config-store --source aks --aks-cluster /subscriptions/123/resourceGroups/my-resource-group/providers/Microsoft.ContainerService/managedClusters/my-aks-cluster --configmap-namespace default --configmap-name my-configmap --label test --prefix TestApp:
命令列會顯示即將進行的變更清單。 選取 y以確認匯入。
您已從 AKS ConfigMap 匯入所有設定為索引鍵/值,指派標籤 “test”,並新增 “TestApp:” 前置詞。
如需更多選擇性參數和範例,請移至 az appconfig kv import。
匯出資料
匯出會將儲存在App Configuration中的組態資料寫入另一個目的地。 例如,使用匯出函式,將資料從 App Configuration 存放區儲存到可在部署期間內嵌在應用程式程式碼中的檔案。
本指南說明如何匯出應用程式設定資料:
將資料匯出至組態檔
請遵循下列步驟,將組態資料從 App Configuration 存放區匯出至 JSON、YAML 或屬性檔案。
從 Azure 入口網站,請遵循下列步驟:
流覽至您的 App Configuration 存放區,然後選取 [匯入/匯出]。
選取 匯出 選項按鈕,然後在 目標型別下,選取 組態檔。
使用以下參數填寫表單:
| 參數 |
Description |
Example |
| 檔案類型 |
選取要匯出的檔案類型:YAML、屬性或 JSON。 |
JSON |
| 檔案內容描述 |
選擇內容設定檔:預設或 KVSet。
預設檔案內容設定檔是指現有程式設計架構或系統廣泛採用的傳統設定檔架構,支援JSON、YAML或屬性檔案格式。
KVSet 檔案內容概要是指包含 App Configuration 索引鍵值所有屬性的檔案架構,包括索引鍵、值、標籤、內容類型和標誌。 |
預設值 |
| 選取模式 |
選擇要從一般鍵值(這是預設選項)匯出,還是從快照匯出。 |
預設值 |
| 關鍵篩選 |
用於根據要匯出的索引鍵名稱來篩選索引鍵/值。 如果未指定金鑰,則所有金鑰都符合資格。 |
從 TestApp 開始: |
| 在特定時間 |
選擇性。 填寫此欄位以從所選設定存放區中的特定時間點匯出索引鍵/值。 如果留空,則預設為鍵值的當前時間點。 |
2022/07/28 上午 12:00:00 |
| 從標籤 |
選取標籤以匯出與這些標籤相關聯的索引鍵/值。 如果未選取任何標籤,則所有標籤都符合資格。 請注意,使用 Default 檔案內容設定檔匯出時,您只能選擇一個標籤。 若要匯出具有多個標籤的鍵/值,請使用 KVSet 檔案內容設定檔。 |
產品 |
| 移除前置詞 |
選擇性。 若指定,則會從包含前置詞的所有已匯出索引鍵/值的索引鍵名稱中移除該前置詞。 |
測試應用: |
| 分隔符號 |
分隔符號是用來分段索引鍵名稱,以及從索引鍵值重新建構 JSON 或 YAML 檔案的階層式組態的分隔符號。 屬性檔案和功能旗標將會忽略此項。 支援的值包括無分隔符號、句點 (.)、逗號 (,)、分號 (;)、連字號 (-)、底線 (_)、雙底線 (__)、斜線 (/) 和冒號 (:)。 |
: |
選取 匯出 以完成匯出。
您已於 2021 年 7 月 28 日凌晨 12 點從 App 設定存放區中匯出以 TestApp: 開頭的索引鍵名稱及標籤為 prod 的索引鍵/值至 JSON 檔案。 前置詞 TestApp: 是從索引鍵名稱中修剪的,分隔符 : 用於分割索引鍵名稱並重建階層式 JSON 格式。
從 Azure CLI 中,遵循下列步驟。 如果您沒有在本機安裝 Azure CLI,您可以選擇性地使用 Azure Cloud Shell。
輸入匯出指令 az appconfig kv export 並新增下列參數:
| 參數 |
Description |
Example |
--name |
輸入包含您要匯出鍵值的 App Configuration 存放區的名稱。 |
my-app-config-store |
--destination |
輸入 file 以表示您要將資料匯出至檔案。 |
file |
--path |
輸入您要儲存檔案的路徑。 |
C:/Users/john/Downloads/data.json |
--format |
輸入 yaml或 propertiesjson ,以指出您要匯出的檔案格式。 |
json |
--label |
輸入標籤,以匯出具有此標籤的索引鍵/值和功能旗標。 如果您未指定標籤,根據預設,您只會匯出不含標籤的鍵值對和功能標誌。 您可以輸入一個標籤,輸入數個標籤,方法是用 ,分隔它們,或 將 * 所有標籤納入考量。 |
prod |
這很重要
如果您未選取標籤,則只會匯出不含標籤的鍵/值。 若要匯出具有標籤的索引鍵/值,您必須選取其標籤。
選擇性地也新增下列參數:
| 參數 |
Description |
Example |
--separator |
選擇性。 分隔符號是將鍵值平面化為 JSON/YAML 的分隔符號。 匯出階層式結構需要這個設定,而屬性檔和功能旗標會忽略此設定。 選取下列其中一個選項: .、 ,、 :、 ;、 /-_—。 |
; |
--prefix |
選擇性。 前置詞會從每個索引鍵/值的「key」屬性中裁掉。 鍵前綴是鍵的開頭部分。 前綴可用來管理配置存儲中的鍵值群組。 針對功能旗標忽略前置詞。 |
TestApp: |
範例:將所有標籤為「prod」的鍵值和功能旗標匯出至 JSON 檔案。
az appconfig kv export --name my-app-config-store --label prod --destination file --path D:/abc.json --format json --separator ; --prefix TestApp:
命令列會顯示要匯出至檔案的索引鍵/值清單。 選取 y來確認匯出。
變體功能旗標會使用 Microsoft 功能管理架構匯出至檔案,而其他功能旗標會使用 .NET 功能管理架構 匯出以取得相容性。 若要專門使用 Microsoft 功能管理結構描述匯出功能旗標,請將環境變數 AZURE_APPCONFIG_FM_COMPATIBLE 設定為 False。
您已將具有「prod」標籤的鍵值和功能旗標匯出至設定檔,並去掉了「TestApp」前綴。 檔案中的值以 “;” 分隔。
如需更多選擇性參數和範例,請移至 az appconfig kv export。
將資料匯出至 App Configuration 存放區
請遵循下列步驟,將金鑰值和功能旗標匯出至 Azure 應用程式組態存放區。
您可以將值從一個 App Configuration 存放區匯出至另一個 App Configuration 存放區,也可以將值從一個 App Configuration 存放區匯出至相同的 App Configuration 存放區,以複製其值並套用不同的參數,例如新的標籤或內容類型。
從 Azure 入口網站,請遵循下列步驟:
流覽至包含您要匯出之資料的 App Configuration 存放區,然後從 [作業] 功能表中選取 [匯入/匯出]。
選取 匯出 選項按鈕,然後在 目標型別下,選取 應用程式設定。
使用以下參數填寫表單:
| 參數 |
Description |
Example |
| 選取模式 |
選擇要從一般鍵值(這是預設選項)匯出,還是從快照匯出。 |
預設值 |
| 關鍵篩選 |
用於根據要匯出的索引鍵名稱來篩選索引鍵/值。 如果未指定金鑰,則所有金鑰都符合資格。 |
從 TestApp 開始: |
| 在特定時間 |
選擇性。 填寫此欄位以從所選設定存放區中的特定時間點匯出索引鍵/值。 如果留空,則預設為鍵值的當前時間點。 |
2022/07/28 上午 12:00:00 |
| 從標籤 |
選取一或多個標籤,以匯出與這些標籤相關聯的索引鍵/值。 如果未選取任何標籤,則所有標籤都符合資格。 |
產品 |
| 排除功能旗標 |
如果勾選,則不會匯出功能旗標。 |
未核取 |
選取目的地商店,使用下列引數填寫表單:
| 參數 |
Description |
Example |
| Subscription |
預設會選取您目前的訂閱。 |
my-subscription |
| 資源群組 |
選取包含您要匯出設定的 App Configuration 存放區的資源群組。 依預設,會選取您目前的資源群組。 |
我的資源群組 |
| Resource |
選取您要匯出設定的 App Configuration 存放區。 |
我的-其他-應用程式-設定儲存 |
填寫表格的下一部分:
| 參數 |
Description |
Example |
| 移除前置詞 |
選擇性。 若指定,則會從包含前置詞的所有已匯出索引鍵/值的索引鍵名稱中移除該前置詞。 |
測試應用: |
| 覆寫標籤 |
選擇性。 根據預設,會保留來源鍵值的原始標籤。 若要覆寫它們,請核取該方塊並為已匯出的索引鍵/值輸入新的標籤。 |
新 |
| 覆寫內容類型 |
選擇性。 根據預設,會保留來源鍵/值的原始內容類型。 若要覆寫它們,請核取該方塊並為已匯出的索引鍵/值輸入新的內容類型。 請注意,無法覆寫功能旗標的內容類型。 |
JSON (應用程式/json) |
選取 套用 以繼續匯出。
您已將截至 2022 年 7 月 28 日上午 12 點的應用程式設定存放區中的索引鍵/值 (索引鍵名稱以 TestApp: 開頭且標籤為 prod) 匯出至另一個應用程式設定存放區。 所有匯出的鍵值去除了鍵的前置詞 TestApp:,並賦予標籤 new 和內容類型 application/json。
從 Azure CLI 中,遵循下列步驟。 如果您沒有在本機安裝 Azure CLI,您可以選擇性地使用 Azure Cloud Shell。
輸入匯出指令 az appconfig kv export ,然後輸入下列參數:
| 參數 |
Description |
Example |
--name |
輸入包含您要匯出鍵值的 App Configuration 存放區的名稱。 |
my-app-config-store |
--destination |
輸入 appconfig 以指出您要將資料匯出至 App Configuration 存放區。 |
appconfig |
--dest-name |
輸入您要將資料匯出至的 App Configuration 存放區名稱。 |
my-other-app-config-store |
--label |
輸入標籤,以匯出具有此標籤的索引鍵/值和功能旗標。 如果您未指定標籤,根據預設,您只會匯出沒有標籤的鍵/值和功能旗標。 您可以輸入一個標籤,或透過用,分隔來輸入多個標籤,或使用*來考慮所有標籤。 |
prod |
這很重要
如果要匯出的鍵值有標籤,則必須使用指令 --label 並輸入對應的標籤。 如果您未選取標籤,則只會匯出不含標籤的鍵/值。 使用逗號 (,) 來選取數個標籤,或使用 來 * 包含所有標籤,包括空值標籤 (無標籤)。
選擇性地也新增下列參數:
| 參數 |
Description |
Example |
--dest-label |
選擇性。 輸入目的地標籤,以將此標籤指派給匯出的金鑰值。 |
new |
範例:將具有「prod」標籤的索引鍵/值和功能旗標匯出至另一個應用程式組態存放區,並新增目的地標籤「new」。
az appconfig kv export --name my-app-config-store --destination appconfig --dest-name my-other-app-config-store --dest-label new --label prod
命令列會顯示正在匯出至檔案中的鍵值清單。 選取 y來確認匯出。
您從 App Configuration 存放區匯出具有標籤「prod」的鍵值和功能標誌,並為其指派標籤「new」。
如需更多選擇性參數和範例,請移至 az appconfig kv import。
將資料匯出至 Azure App Service
請遵循下列步驟,將索引鍵/值匯出至 Azure App Service。
備註
不支援將功能旗標匯出至 App Service。
從 Azure 入口網站,請遵循下列步驟:
流覽至您的 App Configuration 存放區,然後從 [作業] 功能表中選取 [匯入/匯出]。
選取 [匯出] 選項按鈕,然後在 [目標類型] 底下,選取 [App Services]。
依預設,會勾選 Export as reference 選項。 核取該方塊時,App Service 中的應用程式設定會新增為已匯出索引鍵/值的應用程式設定參考。 這可讓您在 App Configuration 中管理您的設定,讓您的 App Service 自動從 App Configuration 提取目前的值。 若要深入瞭解,請參閱 使用 App Service 和 Azure Functions 的應用程式設定參考。 如果取消核取該方塊,則索引鍵和值將直接匯出至 App Service。 請記住,每當您在應用程式設定中進行變更時,請再次匯出資料,以確保您的應用程式獲取更新。
使用以下參數填寫表單:
| 參數 |
Description |
Example |
| 選取模式 |
選擇要從一般鍵值(這是預設選項)匯出,還是從快照匯出。 |
預設值 |
| 關鍵篩選 |
用於根據要匯出的索引鍵名稱來篩選索引鍵/值。 如果未指定金鑰,則所有金鑰都符合資格。 |
從 TestApp 開始: |
| 在特定時間 |
選擇性。 填寫此欄位以從所選設定存放區中的特定時間點匯出索引鍵/值。 如果留空,則預設為鍵值的當前時間點。 |
2022/07/28 上午 12:00:00 |
| 從標籤 |
選取一個標籤,以匯出與此標籤相關聯的索引鍵/值。 |
產品 |
選取目的地商店,並使用下列引數填寫表單:
| 參數 |
Description |
Example |
| Subscription |
預設會選取您目前的訂閱。 |
my-subscription |
| 資源群組 |
選取包含您要匯出設定之 App Service 的資源群組。 |
我的資源群組 |
| Resource |
選取您要匯出設定的 App Service。 |
我的應用程式服務 |
選擇性地填寫表單的下一部分:
| 參數 |
Description |
Example |
| 移除前置詞 |
選擇性。 若指定,則會從包含前置詞的所有已匯出索引鍵/值的索引鍵名稱中移除該前置詞。 |
測試應用: |
選取 套用 以繼續匯出。
您已將截至 2022 年 7 月 28 日上午 12 點的應用程式設定存放區中的索引鍵/值 (索引鍵名稱以 TestApp: 開頭且標籤為 prod) 匯出至 App Service 資源的應用程式設定。 前置詞 TestApp: 已從匯出的索引鍵名稱中修剪。
如果您選中匯出索引鍵/值作為參考的選項,則匯出的索引鍵/值會在 App Service 服務資源組態設定的 [來源] 資料行中顯示為 [應用程式設定參考]。
從 Azure CLI 中,遵循下列步驟。 如果您沒有在本機安裝 Azure CLI,您可以選擇性地使用 Azure Cloud Shell。
輸入匯出指令 az appconfig kv export ,然後輸入下列參數:
| 參數 |
Description |
Example |
--name |
輸入包含您要匯出鍵值的 App Configuration 存放區的名稱。 |
my-app-config-store |
--destination |
輸入 appservice 以指出您要將資料匯出至 App Service。 |
appservice |
--appservice-account |
輸入 App Service 的 ARM 識別碼,或使用 App Service 的名稱,如果它與應用程式設定位於相同的訂用帳戶和資源群組中。 |
/subscriptions/123/resourceGroups/my-as-resource-group/providers/Microsoft.Web/sites/my-app-service 或 my-app-service |
--label |
選擇性。 輸入標籤,以匯出具有此標籤的索引鍵/值和功能旗標。 如果您未指定標籤,根據預設,您只會匯出沒有標籤的鍵/值和功能旗標。 |
prod |
若要取得 的 --appservice-account值,請使用命令 az webapp show --resource-group <resource-group> --name <resource-name>。
或者也可以新增前置詞:
| 參數 |
Description |
Example |
--prefix |
選擇性。 從匯出鍵值的「key」屬性中要移除的前綴。 鍵前綴是鍵的開頭部分。 前綴可用來管理配置存儲中的鍵值群組。 |
TestApp: |
範例:將所有標籤為 “prod” 的鍵值組匯出至 App Service 應用程式,並移除 “TestApp”的字首。
az appconfig kv export --name my-app-config-store --destination appservice --appservice-account /subscriptions/123/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/my-app-service/config/web --label prod --prefix TestApp:
命令列會顯示匯出至 App Service 資源的索引鍵/值清單。 選取 y來確認匯出。
您已將具有「prod」標籤的所有索引鍵/值匯出至 Azure App Service 資源,並裁掉前置詞「TestApp:」。
選擇性地指定要匯出為應用程式組態參考的旗標。
| 參數 |
Description |
--export-as-reference
-r
|
選擇性。 指定是否要將索引鍵/值匯出至 App Service 做為 App Configuration 參考。
深入瞭解。 |
範例:匯出所有具有標籤 「prod」 的索引鍵/值,作為 App Service 應用程式的應用程式設定參考。
az appconfig kv export --name my-app-config-store --destination appservice --appservice-account "/subscriptions/123/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/my-app-service" --label prod --export-as-reference
命令列會顯示出一個索引鍵/值清單,這些值會被匯出作為應用程式設定參考到 App Service 資源中。 選取 y來確認匯出。
您已將帶有標籤 "prod" 的所有索引鍵/值,匯出為 Azure App Service 資源的應用程式設定參考。 在您的 App Service 資源中,匯入的鍵值會在 [來源] 欄中顯示為 App Configuration 參考。
如需更多選擇性參數和範例,請移至 az appconfig kv export。
錯誤訊息
匯入或匯出 App Configuration 鍵值時,您可能會遇到下列錯誤訊息:
-
您的存放區已停用公共存取,或您正從不在存放區設定中的私人端點存取。 如果您的 App Configuration 存放區已啟用私人端點,則預設只能從已設定的虛擬網路內存取它。 請確定執行 Azure 入口網站或 CLI 的機器已加入與私人端點相同的虛擬網路。 如果您剛啟用對應用程式設定存放區的公用網路存取,請等待至少 5 分鐘,然後再重試以允許快取重新整理。
後續步驟