匯入或匯出設定資料
Azure 應用程式設定支援資料匯入和匯出作業。 使用這些作業處理大量的設定資料,或交換應用程式設定存放區和程式碼專案間的資料。 例如,您可以設定一個應用程式設定存放區來提供測試,另一個用於生產。 您可以複製兩者間的應用程式設定,而不必輸入資料兩次。
本文提供使用 Azure 入口網站 或 Azure CLI (部分機器翻譯) 匯入和匯出資料的指南。 如果您已採用設定即程式碼,並管理 GitHub 或 Azure Devops 中的設定,即可以使用 GitHub Actions 或使用 Azure Pipeline Push 工作來設定進行中的設定檔匯入。
匯入資料
匯入會將設定資料從現有來源帶入應用程式設定存放區。 使用匯入函式移轉資料至應用程式設定存放區,或彙總多個來源的資料。
本指南說明如何匯入應用程式組態資料:
從組態檔匯入資料
請遵循下列步驟,從檔案匯入金鑰值。
在 Azure 入口網站中執行下列步驟:
瀏覽至應用程式設定存放區,然後從 [作業] 功能表選取 [匯入/匯出]。
預設會選取 [匯入] 選項按鈕。 在 [來源類型] 下,選取 [設定檔]。
在表單中填寫下列參數:
參數 描述 範例 檔案類型 選取要匯入的檔案類型:YAML、Properties 或 JSON。 Json 按一下 [瀏覽] 按鈕,然後選取要匯入的檔案。
填寫表單的下一部分:
參數 描述 範例 檔案內容設定檔 選取內容設定檔:預設或 KVSet。 預設檔案內容設定檔是指現有程式設計結構描述或系統廣泛採用的傳統設定檔結構描述,支援 JSON、Yaml 或 Properties 檔案格式。 KVSet 檔案內容設定檔是指包含應用程式設定索引鍵/值的所有屬性 (包括索引鍵、值、標籤、內容類型和標籤) 的檔案結構描述。 Default 匯入模式 匯入模式用於確定是否忽略相同的索引鍵/值。 使用 [忽略相符] 選項時,存放區中與設定檔中的索引鍵/值相同的任何索引鍵/值都會被忽略。 使用 [全部] 選項時,設定檔中的所有索引鍵/值都會更新。 忽略相符 排除功能旗標 如果核取,則不會匯入功能旗標。 未選取 Strict 如果核取此方塊,則當 [檔案內容設定檔] 設定為 [預設] 時,存放區中具有指定前置詞和標籤但未包含在設定檔中的任何索引鍵/值都會被刪除。 當 [檔案內容設定檔] 設定為 KVSet 時,則存放區中未包含在設定檔中的任何索引鍵/值都會被刪除。 如果未核取此方塊,則不會刪除存放區中的任何索引鍵/值。 未選取 分隔符號 分隔符號是用來將 JSON 或 YAML 檔案扁平化成索引鍵/值的分隔符號。 對於屬性檔和功能旗標,它會被忽略。 支援的值包括無分隔符號、句點 (.)、逗號 (,)、分號 (;)、連字號 (-)、底線 (_)、雙底線 (__)、斜線 (/) 和冒號 (:)。 : 深度 選擇性。 將 JSON 或 YAML 檔案扁平化成索引鍵/值組的深度。 根據預設,如果選取了分隔符號,則檔案會扁平化成最深的層級。 此設定不適用於屬性檔或功能旗標。 新增前置詞 選擇性。 若指定,則會將前置詞新增至所有已匯入索引鍵/值的索引鍵名稱中。 TestApp: 新增標籤 選擇性。 若指定,則會將提供的標籤指派給所有已匯入的索引鍵/值。 prod 新增內容類型 選擇性。 若指定,則會將提供的內容類型新增至所有已匯入的索引鍵/值中。 JSON (application/json) 新增標記 選擇性。 若指定,則會將提供的標籤新增至所有已匯入的索引鍵/值中。 {tag: tag1} 選取 [套用] 繼續匯入。
您已成功從 JSON 檔案中匯入索引鍵/值。 索引鍵名稱已使用 :
分隔符號進行了扁平化並以 TestApp:
為前置詞。 所有已匯入的索引鍵/值都會標示為 prod
,其內容類型為 application/json
,並以 tag: tag1
標記。
從應用程式組態存放區匯入資料
您可以將值從一個應用程式組態存放區匯入到另一個應用程式組態存放區,也可以將值從一個應用程式組態存放區匯入至相同的應用程式組態存放區,以便複製其值並套用不同的參數,例如新的標籤或內容類型。
請遵循下列步驟,從 Azure 應用程式組態存放區匯入金鑰值和功能旗標。
在 Azure 入口網站中執行下列步驟:
瀏覽至應用程式設定存放區,然後從 [作業] 功能表選取 [匯入/匯出]。
預設會選取 [匯入] 選項按鈕。 在 [來源類型] 下,選取 [應用程式設定]。
選取要從中匯入資料的應用程式設定存放區,並使用以下參數填寫表單:
參數 描述 範例 訂用帳戶 預設會選取您目前的訂用帳戶。 my-subscription 資源群組 選取包含應用程式組態存放區 (具有要匯入的組態) 的資源群組。 預設會選取您目前的資源群組。 my-resource-group 資源 選取包含您要匯入之組態的應用程式組態存放區。 my-other-app-config-store 填寫表單的下一部分:
參數 描述 範例 選取模式 選取是要從一般索引鍵/值 (這是預設選項),還是要從快照中匯入。 Default 金鑰篩選條件 用於根據要匯入的索引鍵名稱來篩選索引鍵/值。 若未指定任何索引鍵,則所有索引鍵都符合條件。 從測試開始 在特定時間 選擇性。 填寫此欄位以從所選設定存放區中的特定時間點匯入索引鍵/值。 如果留空,則它會預設為索引鍵/值的目前時間點。 2022 年 7 月 28 日上午 12:00:00 From 標籤 選取一或多個標籤以匯入與這些標籤相關聯的索引鍵/值。 如果未選取任何標籤,則所有標籤都符合條件。 prod 排除功能旗標 如果核取,則不會匯入功能旗標。 未選取 新增前置詞 選擇性。 若指定,則會將前置詞新增至所有已匯入索引鍵/值的索引鍵名稱中。 TestApp: 覆寫標籤 選擇性。 根據預設,會保留來源索引鍵/值的原始標籤。 若要覆寫它們,請核取該方塊並為已匯入的索引鍵/值輸入新的標籤。 new 覆寫內容類型 選擇性。 根據預設,會保留來源索引鍵/值的原始內容類型。 若要覆寫它們,請核取該方塊並為已匯入的索引鍵/值輸入新的內容類型。 請注意,無法覆寫功能旗標的內容類型。 JSON (application/json) 選取 [套用] 繼續匯入。
您從應用程式設定存放區中匯入了截至 2021 年 1 月 28 日上午 12 點的索引鍵/值,索引鍵名稱以 test
開頭,標籤為 prod
。 索引鍵名稱以 TestApp:
為前置詞。 所有已匯入的索引鍵/值都會指派標籤 new
和內容類型 application/json
。
從 Azure App Service 匯入資料
請遵循下列步驟,從 Azure App Service 匯入金鑰值。
注意
App Service 目前不支援功能旗標。 匯入至 App Service 的所有功能旗標都會自動轉換成金鑰值。 您的 App Service 資源只能包含金鑰值。
從 Azure 入口網站:
瀏覽至應用程式設定存放區,然後從 [作業] 功能表選取 [匯入/匯出]。
預設會選取 [匯入] 選項按鈕。 在 [來源類型] 底下,選取 [應用程式服務]。
選取要從中匯入資料的應用程式設定存放區,並使用以下參數填寫表單:
參數 描述 範例 訂用帳戶 預設會選取您目前的訂用帳戶。 my-subscription 資源群組 選取包含 App Service (具有要匯入的組態) 的資源群組。 my-resource-group 資源 選取包含您要匯入之組態的 App Service。 my-app-service 填寫表單的下一部分:
參數 描述 範例 更新參考的設定 若核取,App Service 中的應用程式設定會更新為已匯入索引鍵/值的應用程式設定參考。 這可讓您在應用程式設定中持續管理您的應用程式設定。 您的 App Service 會自動從應用程式設定中提取目前的值。 若要深入了解,請參閱使用 App Service 和 Azure Functions 的應用程式設定參考。 已選取 新增前置詞 選擇性。 若指定,則會將前置詞新增至所有已匯入索引鍵/值的索引鍵名稱中。 TestApp: 新增標籤 選擇性。 若指定,則會將提供的標籤指派給所有已匯入的索引鍵/值。 prod 新增內容類型 選擇性。 若指定,則會將提供的內容類型新增至所有已匯入的索引鍵/值中。 JSON (application/json) 選取 [套用] 繼續匯入。
您從 App Service 匯入了所有應用程式設定作為索引鍵/值,並為其指派了標籤 prod
和前置詞 TestApp:
。 您匯入的所有索引鍵/值的內容類型都設定為 application/json
。
匯出資料
匯出會將應用程式設定中儲存的設定資料寫入另一個目的地。 例如,部署期間使用匯出函式,將資料從應用程式設定存放區儲存至可內嵌在應用程式程式碼的檔案。
本指南說明如何匯出應用程式組態資料:
將資料匯出至組態檔
請遵循下列步驟,將設定資料從應用程式設定存放區中匯出成 JSON、YAML 或 Properties 檔案。
在 Azure 入口網站中,執行下列步驟:
瀏覽至應用程式設定存放區,然後選取 [匯入/匯出]。
選取 [匯出] 選項按鈕,然後在 [目標類型] 底下選取 [設定檔]。
在表單中填寫下列參數:
參數 描述 範例 檔案類型 選取要匯出的檔案類型:YAML、Properties 或 JSON。 JSON 檔案內容設定檔 選取內容設定檔:預設或 KVSet。 預設檔案內容設定檔是指現有程式設計結構描述或系統廣泛採用的傳統設定檔結構描述,支援 JSON、Yaml 或 Properties 檔案格式。 KVSet 檔案內容設定檔是指包含應用程式設定索引鍵/值的所有屬性 (包括索引鍵、值、標籤、內容類型和標籤) 的檔案結構描述。 Default 選取模式 選取是要從一般索引鍵/值 (這是預設選項),還是要從快照中匯出。 Default 金鑰篩選條件 用於根據要匯出的索引鍵名稱來篩選索引鍵/值。 若未指定任何索引鍵,則所有索引鍵都符合條件。 從 TestApp: 開始 在特定時間 選擇性。 填寫此欄位以從所選設定存放區中的特定時間點匯出索引鍵/值。 如果留空,則它會預設為索引鍵/值的目前時間點。 2022 年 7 月 28 日上午 12:00:00 From 標籤 選取標籤以匯出與這些標籤相關聯的索引鍵/值。 如果未選取任何標籤,則所有標籤都符合條件。 請注意,使用 Default
檔案內容設定檔匯出時,您只能選取一個標籤。 若要匯出具有多個標籤的索引鍵/值,請使用KVSet
檔案內容設定檔。prod 移除前置詞 選擇性。 若指定,則會從包含前置詞的所有已匯出索引鍵/值的索引鍵名稱中移除該前置詞。 TestApp: 分隔符號 分隔符號是用於對索引鍵名稱進行分段以及根據索引鍵/值重新建構 JSON 或 YAML 檔案的階層式設定的分隔符號。 對於屬性檔和功能旗標,它會被忽略。 支援的值包括無分隔符號、句點 (.)、逗號 (,)、分號 (;)、連字號 (-)、底線 (_)、雙底線 (__)、斜線 (/) 和冒號 (:)。 : 選取 [匯出] 完成匯出。
您已將截至 2021 年 7 月 28 日上午 12 點的應用程式設定存放區中的索引鍵/值 (索引鍵名稱以 TestApp:
開頭且標籤為 prod
) 匯出至 JSON 檔案。 前置詞 TestApp:
已從索引鍵名稱中移除,而分隔符號 :
用於對索引鍵名稱進行分段並重新建構階層式 JSON 格式。
將資料匯出至應用程式組態存放區
請遵循下列步驟,將金鑰值和功能旗標匯出至 Azure 應用程式組態存放區。
您可以將值從一個應用程式組態存放區匯出到另一個應用程式組態存放區,也可以將值從一個應用程式組態存放區匯出至相同的應用程式組態存放區,以便複製其值並套用不同的參數,例如新的標籤或內容類型。
在 Azure 入口網站中執行下列步驟:
瀏覽至包含您要匯出之資料的應用程式設定存放區,然後從 [作業] 功能表中選取 [匯入/匯出]。
選取 [匯出] 選項按鈕,然後在 [目標類型] 底下選取 [應用程式設定]。
在表單中填寫下列參數:
參數 描述 範例 選取模式 選取是要從一般索引鍵/值 (這是預設選項),還是要從快照中匯出。 Default 金鑰篩選條件 用於根據要匯出的索引鍵名稱來篩選索引鍵/值。 若未指定任何索引鍵,則所有索引鍵都符合條件。 從 TestApp: 開始 在特定時間 選擇性。 填寫此欄位以從所選設定存放區中的特定時間點匯出索引鍵/值。 如果留空,則它會預設為索引鍵/值的目前時間點。 2022 年 7 月 28 日上午 12:00:00 From 標籤 選取一或多個標籤以匯出與這些標籤相關聯的索引鍵/值。 如果未選取任何標籤,則所有標籤都符合條件。 prod 排除功能旗標 如果核取,則不會匯出功能旗標。 未選取 選取目的地存放區,並使用以下參數填寫表格:
參數 描述 範例 訂用帳戶 預設會選取您目前的訂用帳戶。 my-subscription 資源群組 選取包含您要匯出設定之應用程式設定存放區的資源群組。 預設會選取您目前的資源群組。 my-resource-group 資源 選取您要匯出設定的應用程式設定存放區。 my-other-app-config-store 填寫表單的下一部分:
參數 描述 範例 移除前置詞 選擇性。 若指定,則會從包含前置詞的所有已匯出索引鍵/值的索引鍵名稱中移除該前置詞。 TestApp: 覆寫標籤 選擇性。 根據預設,會保留來源索引鍵/值的原始標籤。 若要覆寫它們,請核取該方塊並為已匯出的索引鍵/值輸入新的標籤。 new 覆寫內容類型 選擇性。 根據預設,會保留來源索引鍵/值的原始內容類型。 若要覆寫它們,請核取該方塊並為已匯出的索引鍵/值輸入新的內容類型。 請注意,無法覆寫功能旗標的內容類型。 JSON (application/json) 選取 [套用] 繼續匯出。
您已將截至 2022 年 7 月 28 日上午 12 點的應用程式設定存放區中的索引鍵/值 (索引鍵名稱以 TestApp:
開頭且標籤為 prod
) 匯出至另一個應用程式設定存放區。 所有已匯出的索引鍵/值都被移除了索引鍵前置詞 TestApp:
,並指派了標籤 new
和內容類型 application/json
。
將資料匯出至 Azure App Service
請遵循下列步驟,將金鑰值匯出至 Azure App Service。
注意
不支援將功能旗標匯出至 App Service。
在 Azure 入口網站中執行下列步驟:
瀏覽至應用程式設定存放區,然後從 [作業] 功能表選取 [匯入/匯出]。
選取 [匯出] 選項按鈕,然後在 [目標類型] 底下選取 [應用程式服務]。
預設會核取 [匯出為參考] 選項。 核取該方塊時,App Service 中的應用程式設定會新增為已匯出索引鍵/值的應用程式設定參考。 這可讓您在應用程式設定中管理您的設定,而您的 App Service 會自動從應用程式設定中提取目前的值。 若要深入了解,請參閱使用 App Service 和 Azure Functions 的應用程式設定參考。 如果取消核取該方塊,則索引鍵和值將直接匯出至 App Service。 每當您在應用程式設定中進行變更時,請記得再次匯出您的資料,以確保您的應用程式會取得更新。
在表單中填寫下列參數:
參數 描述 範例 選取模式 選取是要從一般索引鍵/值 (這是預設選項),還是要從快照中匯出。 Default 金鑰篩選條件 用於根據要匯出的索引鍵名稱來篩選索引鍵/值。 若未指定任何索引鍵,則所有索引鍵都符合條件。 從 TestApp: 開始 在特定時間 選擇性。 填寫此欄位以從所選設定存放區中的特定時間點匯出索引鍵/值。 如果留空,則它會預設為索引鍵/值的目前時間點。 2022 年 7 月 28 日上午 12:00:00 From 標籤 選取一個標籤以匯出與此標籤相關聯的索引鍵/值。 prod 選取目的地存放區並使用以下參數填寫表格:
參數 描述 範例 訂用帳戶 預設會選取您目前的訂用帳戶。 my-subscription 資源群組 選取包含您要匯出設定之 App Service 的資源群組。 my-resource-group 資源 選取您要匯出設定的 App Service。 my-app-service 選擇性填寫表單的下一部分:
參數 描述 範例 移除前置詞 選擇性。 若指定,則會從包含前置詞的所有已匯出索引鍵/值的索引鍵名稱中移除該前置詞。 TestApp: 選取 [套用] 繼續匯出。
您已將截至 2022 年 7 月 28 日上午 12 點的應用程式設定存放區中的索引鍵/值 (索引鍵名稱以 TestApp:
開頭且標籤為 prod
) 匯出至 App Service 資源的應用程式設定。 前置詞 TestApp:
已從匯出的索引鍵名稱中移除。
如果您勾選方塊,將索引鍵/值匯出作為參考,在 App Service 資源組態設定的「Source」資料行中,就會顯示已匯出的索引鍵/值為應用程式組態的參考。
錯誤訊息
匯入或匯出應用程式組態的索引鍵/值時,畫面上可能會出現下列錯誤訊息:
- 您的存放區已停用公用存取,或您從不在存放區私人端點組態中的私人端點進行存取。 如果您的應用程式設定存放區已啟用私人端點,依預設您只能從已設定的虛擬網路內存取它。 請確定執行 Azure 入口網站或 CLI 的電腦已加入與私人端點相同的虛擬網路。 如果您剛啟用對應用程式設定存放區的公用網路存取,請等待至少 5 分鐘,然後再重試以允許快取重新整理。