匯入或匯出設定資料

Azure 應用程式設定支援資料匯入和匯出作業。 使用這些作業處理大量的設定資料,或交換應用程式設定存放區和程式碼專案間的資料。 例如,您可以設定一個應用程式設定存放區來提供測試,另一個用於生產。 您可以複製兩者間的應用程式設定,而不必輸入資料兩次。

本文提供使用應用程式設定匯入和匯出資料的指南。 如果您要設定與 GitHub 存放庫持續同步,請參閱 GitHub ActionsAzure Pipelines 工作

您可以使用 Azure 入口網站Azure CLI 匯入或匯出資料。

匯入資料

匯入會將設定資料從現有來源帶入應用程式設定存放區。 使用匯入函式移轉資料至應用程式設定存放區,或彙總多個來源的資料。

本指南說明如何匯入應用程式組態資料:

從組態檔匯入資料

請遵循下列步驟,從檔案匯入金鑰值。

注意

不支援從檔案匯入功能旗標。 如果組態檔包含功能旗標,會自動匯入為一般金鑰值。

在 Azure 入口網站中執行下列步驟:

  1. 瀏覽至應用程式設定存放區,然後從 [作業] 功能表選取 [匯入/匯出]。

    Screenshot of the Azure portal, importing a file.

  2. 在 [匯入] 索引標籤上,選取 [來源服務] 下的 [設定檔]。

  3. 在表單中填寫下列參數:

    參數 描述 範例
    針對語言 在 .NET、JAVA (Spring) 和其他之間,選擇匯入檔案的語言。 .NET
    檔案類型 在 YAML、Properties 或 JSON 之間選取匯入檔案的類型。 Json
  4. 選取資料夾圖示,並瀏覽至要匯入的檔案。

    注意

    畫面上會顯示訊息,指出已成功擷取檔案。

  5. 填寫表單的下一部分:

    參數 描述 範例
    分隔符號 分隔符號是匯入設定檔中剖析的字元,可以分隔要新增至設定存放區的金鑰值。 選取下列其中一個選項:.,:;/-_ ;
    Prefix 選擇性。 索引鍵前置詞是索引鍵/值「key」屬性的開頭部分。 前置詞可用於管理組態存放區中的索引鍵/值群組。 輸入的前置詞會附加至您從這個檔案所匯入每個索引鍵/值「key」屬性的前面, TestApp:
    標籤 選擇性。 選取現有的標籤,或輸入新標籤並指派給匯入的索引鍵值。 prod
    內容類型 選擇性。 指出您要匯入 JSON 檔案或 Key Vault 參考。 如需金鑰保存庫參考的詳細資訊,請移至使用 ASP.NET Core 應用程式中的金鑰保存庫參考 JSON (application/json)
  6. 選取 [套用] 繼續匯入。

您已從 JSON 檔案匯入金鑰值,並為其指派標籤「prod」和前置詞「TestApp」。 中間會使用分隔符號「:」加以分隔,而您所匯入所有索引鍵/值的內容類型都會設為「JSON」。

從應用程式組態存放區匯入資料

您可以將值從一個應用程式組態存放區匯入到另一個應用程式組態存放區,也可以將值從一個應用程式組態存放區匯入至相同的應用程式組態存放區,以便複製其值並套用不同的參數,例如新的標籤或內容類型。

請遵循下列步驟,從 Azure 應用程式組態存放區匯入金鑰值和功能旗標。

在 Azure 入口網站中執行下列步驟:

  1. 瀏覽至應用程式設定存放區,然後從 [作業] 功能表選取 [匯入/匯出]。

    Screenshot of the Azure portal, importing from an App Configuration store.

  2. 在 [匯入] 索引標籤上,選取 [來源服務] 下的 [應用程式組態]

  3. 選取 [選取資源],以下列參數填入表單,然後選取 [套用]

    參數 描述 範例
    訂用帳戶 預設會選取您目前的訂用帳戶。 my-subscription
    資源群組 選取包含應用程式組態存放區 (具有要匯入的組態) 的資源群組。 預設會選取您目前的資源群組。 my-resource-group
    資源 選取包含您要匯入之組態的應用程式組態存放區。 my-other-app-config-store

    注意

    「成功擷取存取金鑰」訊息表示與應用程式組態存放區的連線成功。

  4. 填寫表單的下一部分:

    參數 描述 範例
    From 標籤 選取至少一個標籤以匯入具有對應標籤的值。 [全選] 會匯入具有任何標籤的索引鍵/值,[(無標籤)] 會將匯入項目限制於沒有標籤的索引鍵/值。 prod
    在特定時間 選擇性。 填寫並從指定的時間點匯入金鑰值。 這是所選設定存放區中索引鍵/值的時間點。 格式:「YYYY-MM-DDThh:mm:ssZ」。 如果留空,這個欄位會預設為索引鍵/值目前的時間點。 2022 年 7 月 28 日上午 12:00:00
    覆寫預設金鑰值標籤 選擇性。 根據預設,匯入的項目會使用其目前的標籤。 核取方塊並輸入標籤,以自訂標籤覆寫這些預設值。 new
    覆寫預設金鑰值內容類型 選擇性。 根據預設,匯入的項目會使用其目前的內容類型。 核取此方塊,然後選取 [內容類型] 底下的 [Key Vault 參考] 或 [JSON (應用程式/json)],以指出匯入的內容包含 Key Vault 參考或 JSON 檔案。 只能覆寫匯入金鑰值的內容類型。 功能旗標的預設內容類型是「application/vnd.microsoft.appconfig.ff+json;charset=utf-8」,而且不會由此參數更新。 JSON (application/json)
  5. 選取 [套用] 繼續匯入。

您已在 2021 年 1 月 28 日上午 12 點從應用程式組態存放區匯入具有「prod」標籤的索引鍵/值和功能旗標,並已為其指派「new」標籤。 您匯入的所有索引鍵/值,其內容類型均設為「JSON」。

從 Azure App Service 匯入資料

請遵循下列步驟,從 Azure App Service 匯入金鑰值。

注意

App Service 目前不支援功能旗標。 匯入至 App Service 的所有功能旗標都會自動轉換成金鑰值。 您的 App Service 資源只能包含金鑰值。

從 Azure 入口網站:

  1. 瀏覽至應用程式設定存放區,然後從 [作業] 功能表選取 [匯入/匯出]。

    Screenshot of the Azure portal, importing from App Service.

  2. 在 [匯入] 索引標籤上,選取 [來源服務] 底下的 [App Services]

  3. 選取 [選取資源],以下列參數填入表單,然後選取 [套用]

    參數 描述 範例
    訂用帳戶 預設會選取您目前的訂用帳戶。 my-subscription
    資源群組 選取包含 App Service (具有要匯入的組態) 的資源群組。 my-resource-group
    資源 選取包含您要匯入之組態的 App Service。 my-app-service

    注意

    畫面上會隨即顯示訊息,指出已從來源 App Service 資源成功擷取的索引鍵/值數目。

  4. 填寫表單的下一部分:

    參數 描述 範例
    Prefix 選擇性。 索引鍵前置詞是索引鍵/值「key」屬性的開頭部分。 前置詞可用於管理組態存放區中的索引鍵/值群組。 這個前置詞會附加至您所匯入每個索引鍵/值「key」屬性的前面。 TestApp:
    標籤 選擇性。 選取現有的標籤,或輸入新標籤並指派給匯入的索引鍵值。 prod
    內容類型 選擇性。 指出匯入的檔案是否為金鑰保存庫參考或 JSON 檔案。 如需金鑰保存庫參考的詳細資訊,請移至使用 ASP.NET Core 應用程式中的金鑰保存庫參考 JSON (application/json)
  5. 選取 [套用] 繼續匯入。

您已從 App Service 匯入所有應用程式設定作為金鑰值,並為其指派標籤「prod」和前置詞「TestApp」。 您匯入的所有索引鍵/值,其內容類型均設為「JSON」。

匯出資料

匯出會將應用程式設定中儲存的設定資料寫入另一個目的地。 例如,部署期間使用匯出函式,將資料從應用程式設定存放區儲存至可內嵌在應用程式程式碼的檔案。

本指南說明如何匯出應用程式組態資料:

將資料匯出至組態檔

請遵循下列步驟,將組態資料從應用程式組態存放區匯出至 JSON、YAML 或 Properties 檔案。

注意

目前僅在 CLI 中支援將功能旗標從應用程式組態存放區匯出至組態檔。

Azure 入口網站中,執行下列步驟:

  1. 瀏覽至應用程式設定存放區,然後選取 [匯入/匯出]。

    Screenshot of the Azure portal, exporting a file

  2. 在 [匯出] 索引標籤上,選取 [目標服務] 下的 [組態檔]

  3. 在表單中填寫下列參數:

    參數 描述 範例
    Prefix 選擇性。 這個前置詞會從每個索引鍵/值的「key」屬性中裁掉。 索引鍵前置詞是索引鍵的開頭部分。 前置詞可用於管理組態存放區中的索引鍵/值群組。 TestApp:
    From 標籤 選取現有的標籤,將匯出限制為包含特定標籤的索引鍵值。 如果您未選取標籤,預設只會匯出具有「無標籤」標籤的金鑰值。 請參閱下列注意事項。 prod
    在特定時間 選擇性。 填寫並從指定的時間點匯入金鑰值。 這是所選設定存放區中索引鍵/值的時間點。 格式:「YYYY-MM-DDThh:mm:ssZ」。 如果留空,這個欄位會預設為索引鍵/值目前的時間點。 2022 年 7 月 28 日上午 12:00:00
    檔案類型 在 YAML、Properties 或 JSON 之間,選取匯出檔案的類型。 JSON
    分隔符號 分隔符號是將金鑰值扁平化為 Json/Yaml 的分隔符號。 支援組態的階層式結構,不適用於屬性檔案和功能旗標。 選取下列其中一個選項:.,:;/-_(沒有分隔符號) ;

    重要

    如果您未選取「From」標籤,則只會匯出沒有任何標籤的索引鍵/值。 若要使用標籤匯出索引鍵值,請選取標籤。 請注意,在入口網站中,您只能為每個匯出選取一個標籤,如果您想要匯出具有所有指定標籤的金鑰值,請使用 CLI。

  4. 選取 [匯出] 完成匯出。

您已在 2021 年 7 月 28 日上午 12:00:00 從組態檔匯出具有「prod」標籤的金鑰值,並已修剪前置詞「TestApp」。 在檔案中值會以「;」分隔。

將資料匯出至應用程式組態存放區

請遵循下列步驟,將金鑰值和功能旗標匯出至 Azure 應用程式組態存放區。

您可以將值從一個應用程式組態存放區匯出到另一個應用程式組態存放區,也可以將值從一個應用程式組態存放區匯出至相同的應用程式組態存放區,以便複製其值並套用不同的參數,例如新的標籤或內容類型。

在 Azure 入口網站中執行下列步驟:

  1. 瀏覽至包含您要匯出之資料的應用程式組態存放區,然後從 [作業] 功能表選取 [匯入/匯出]

    Screenshot of the Azure portal, exporting from an App Configuration store.

  2. 在 [匯出] 索引標籤上,選取 [目標服務] 下的 [應用程式組態]

  3. 選取 [選取資源],以下列參數填入表單,然後選取 [套用]

    參數 描述 範例
    訂用帳戶 預設會選取您目前的訂用帳戶。 my-subscription
    資源群組 選取包含應用程式組態存放區 (具有要匯入的組態) 的資源群組。 my-resource-group
    資源 選取包含您要匯入之組態的應用程式組態存放區。 my-app-config-store
  4. 此頁面現在會顯示選取的目標服務和資源識別碼。 選取資源動作可讓您切換至另一個來源應用程式組態存放區。

    注意

    畫面上會顯示訊息,指出已成功擷取索引鍵/值。

  5. 填寫表單的下一部分:

    參數 描述 範例
    From 標籤 選取至少一個標籤以匯出具有對應標籤的值。 [全選] 會匯出具有任何標籤的索引鍵/值,[(無標籤)] 會將匯出項目限制於沒有標籤的索引鍵/值。 prod
    在特定時間 選擇性。 填寫並從指定的時間點匯入金鑰值。 這是所選設定存放區中索引鍵/值的時間點。 格式:「YYYY-MM-DDThh:mm:ssZ」。 如果留空,這個欄位會預設為索引鍵/值目前的時間點。 2022 年 7 月 28 日上午 12:00:00
    覆寫預設金鑰值標籤 選擇性。 根據預設,匯入的項目會使用其目前的標籤。 核取方塊並輸入標籤,以自訂標籤覆寫這些預設值。 new
  6. 選取 [套用] 繼續匯出。

您已從 2022 年 7 月 28 日上午 12:00:00 從應用程式組態存放區匯出金鑰值和功能旗標,並且已為其指派「new」標籤。

將資料匯出至 Azure App Service

請遵循下列步驟,將金鑰值匯出至 Azure App Service。

注意

目前不支援將功能旗標匯出至 App Service。

在 Azure 入口網站中執行下列步驟:

  1. 瀏覽至應用程式設定存放區,然後從 [作業] 功能表選取 [匯入/匯出]。

    Screenshot of the Azure portal, exporting from App Service.

  2. 在 [匯出] 索引標籤上,選取 [目標服務] 底下的 [App Service]

  3. 選取 [選取資源],以下列參數填入表單,然後選取 [套用]

    參數 描述 範例
    訂用帳戶 預設會選取您目前的訂用帳戶。 my-subscription
    資源群組 選取包含 App Service (具有要匯出的組態) 的資源群組。 my-resource-group
    資源 選取包含您要匯出之組態的 App Service。 my-app-service
  4. 此頁面現在會顯示選取的目標服務和資源識別碼。 選取資源動作可讓您切換至另一個目標 App Service 資源。

  5. 選擇性填寫表單的下一部分:

    參數 描述 範例
    Prefix 選擇性。 這個前置詞會從每個已匯出索引鍵/值的「key」屬性中裁掉。 索引鍵前置詞是索引鍵的開頭部分。 前置詞可用於管理組態存放區中的索引鍵/值群組。 針對功能旗標忽略前置詞。 TestApp:
    匯出作為參考 選擇性。 檢查是否將索引鍵/值匯出至 App Service,作為應用程式組態參考。 深入了解
    在特定時間 選擇性。 填寫並從指定的時間點匯出索引鍵值。 這是所選設定存放區中索引鍵/值的時間點。 格式:「YYYY-MM-DDThh:mm:ssZ」。 如果留空,這個欄位會預設為索引鍵/值目前的時間點。 2022 年 7 月 28 日上午 12:00:00
    From 標籤 選擇性。 選取現有的標籤,將匯出限制為包含特定標籤的索引鍵值。 如果您未選取標籤,只會匯出具有「無標籤」標籤的金鑰值。 prod
  6. 選取 [套用] 繼續匯出。

您已在 2021 年 7 月 28 日上午 12:00:00 從 App Service 資源匯出具有「prod」標籤的金鑰值,並已修剪前置詞「TestApp」。 索引鍵/值已經以 JSON 格式的內容類型匯出。

如果您勾選方塊,將索引鍵/值匯出作為參考,在 App Service 資源組態設定的「Source」資料行中,就會顯示已匯出的索引鍵/值為應用程式組態的參考。

Screenshot of App Service configuration settings. Exported App Configuration reference in App Service(Portal).

錯誤訊息

匯入或匯出應用程式組態的索引鍵/值時,畫面上可能會出現下列錯誤訊息:

  • 選取的檔案必須介於 1 到 2097152 個位元組之間。:您的檔案太大。 選取較小的檔案。
  • 您的存放區已停用公用存取,或您從不在存放區私人端點組態中的私人端點進行存取。 如要從應用程式組態存放區匯入索引鍵/值,您需擁有該存放區的存取權限。 如有必要,請啟用來源存放區的公用存取,或從核准的私人端點進行存取。 如果您剛啟用公用存取,請等候最多 5 分鐘,讓快取重新整理。

下一步