Import or export configuration data
Azure App Configuration supports data import and export operations. Use these operations to work with configuration data in bulk and exchange data between your App Configuration store and code project. For example, you can set up one App Configuration store for testing and another one for production. You can copy application settings between them so that you don't have to enter data twice.
This article provides a guide for importing and exporting data using either the Azure portal or the Azure CLI. If you have adopted Configuration as Code and manage your configurations in GitHub or Azure Devops, you can set up ongoing configuration file import using GitHub Actions or use the Azure Pipeline Push Task.
Import data
Import brings configuration data into an App Configuration store from an existing source. Use the import function to migrate data into an App Configuration store or aggregate data from multiple sources.
This guide shows how to import App Configuration data:
- from a configuration file in Json, Yaml or Properties
- from an App Configuration store
- from Azure App Service
Import data from a configuration file
Follow the steps below to import key-values from a file.
From the Azure portal, follow these steps:
Navigate to your App Configuration store, and select Import/export from the Operations menu.
The Import radio button is selected by default. Under Source type, select Configuration file.
Fill out the form with the following parameters:
Parameter Description Example File type Select the file type for import: YAML, Properties, or JSON. Json Click the Browse button, and select the file to import.
Fill out the next part of the form:
Parameter Description Example File content profile Select a content profile: Default or KVSet. The Default file content profile refers to the conventional configuration file schema widely adopted by existing programming frameworks or systems, supports JSON, Yaml, or Properties file formats. The KVSet file content profile refers to a file schema that contains all properties of an App Configuration key-value, including key, value, label, content type, and tags. Default Import mode The import mode is used to determine whether to ignore identical key-values. With the Ignore match option, any key-values in the store that are the same as those in the configuration file are ignored. With the All option, all key-values in the configuration file are updated. Ignore match Exclude feature flag If checked, feature flags will not be imported. Unchecked Strict If the box is checked, any key-values in the store with the specified prefix and label that are not included in the configuration file are deleted when the File content profile is set to Default. When the File content profile is set to KVSet, any key-values in the store that are not included in the configuration file are deleted. If the box is unchecked, no key-values in the store will be deleted. Unchecked Separator The separator is the delimiter used for flattening JSON or YAML files into key-value. It will be ignored for property files and feature flags. Supported values include no-separator, period (.), comma (,), semicolon (;), hyphen (-), underscore (_), double underscore (__), slash (/), and colon (:). : Depth Optional. The depth for flattening JSON or YAML files into key-value pairs. By default, files are flattened to the deepest level if a separator is selected. This setting is not applicable for property files or feature flags. Add prefix Optional. If specified, a prefix will be added to the key names of all imported key-values. TestApp: Add label Optional. If specified, the provided label will be assigned to all imported key-values. prod Add content type Optional. If specified, the provided content type will be added to all imported key-values. JSON (application/json) Add tags Optional. If specified, the provided tags will be added to all imported key-values. {tag: tag1} Select Apply to proceed with the import.
You have successfully imported key-values from a JSON file. The key names were flattened using the :
separator and prefixed with TestApp:
. All imported key-values are labeled as prod
, with a content type of application/json
, and tagged with tag: tag1
.
Import data from an App Configuration store
You can import values from one App Configuration store to another App Configuration store, or you can import values from one App Configuration store to the same App Configuration store in order to duplicate its values and apply different parameters, such as new label or content type.
Follow the steps below to import key-values and feature flags from an Azure App Configuration store.
From the Azure portal, follow these steps:
Navigate to your App Configuration store, and select Import/export from the Operations menu.
The Import radio button is selected by default. Under Source type, select App Configuration.
Select an App Configuration store to import data from, and fill out the form with the following parameters:
Parameter Description Example Subscription Your current subscription is selected by default. my-subscription Resource group Select a resource group that contains the App Configuration store with configuration to import. Your current resource group is selected by default. my-resource-group Resource Select the App Configuration store that contains the configuration you want to import. my-other-app-config-store Fill out the next part of the form:
Parameter Description Example Selection mode Select whether to import from regular key-values, which is the default option, or from a snapshot. Default Key filter Used to filter key-values based on the key name for import. If no keys are specified, all keys are eligible. Starts with test At a specific time Optional. Fill out this field to import key-values from a specific point in time in the selected configuration store. If left empty, it defaults to the current point in time of the key-values. 07/28/2022 12:00:00 AM From label Select one or more labels to import key-values associated with those labels. If no label is selected, all labels are eligible. prod Exclude feature flag If checked, feature flags will not be imported. Unchecked Add prefix Optional. If specified, a prefix will be added to the key names of all imported key-values. TestApp: Override labels Optional. By default, the original labels of the source key-values are preserved. To override them, check the box and enter a new label for imported key-values. new Override content types Optional. By default, the original content types of the source key-values are preserved. To override them, check the box and enter a new content type for imported key-values. Note that the content type of feature flags cannot be overridden. JSON (application/json) Select Apply to proceed with the import.
You imported key-values from an App Configuration store as of January 28, 2021, at 12 AM, with key names starting with test
and the label prod
. The key names were prefixed with TestApp:
. All imported key-values were assigned the label new
and the content type application/json
.
Import data from Azure App Service
Follow the steps below to import key-values from Azure App Service.
Note
App Service doesn't currently support feature flags. All feature flags imported to App Service are converted to key-values automatically. Your App Service resources can only contain key-values.
From the Azure portal:
Navigate to your App Configuration store, and select Import/export from the Operations menu.
The Import radio button is selected by default. Under Source type, select App Services.
Select an App Configuration store to import data from, and fill out the form with the following parameters:
Parameter Description Example Subscription Your current subscription is selected by default. my-subscription Resource group Select a resource group that contains the App Service with configuration to import. my-resource-group Resource Select the App Service that contains the configuration you want to import. my-app-service Fill out the next part of the form:
Parameter Description Example Update settings to reference If checked, the app settings in App Service will be updated to App Configuration references for the imported key-values. This allows you to manage your app settings in App Configuration going forward. Your App Service will automatically pull the current value from App Configuration. To learn more, see Use App Configuration references for App Service and Azure Functions. Checked Add prefix Optional. If specified, a prefix will be added to the key names of all imported key-values. TestApp: Add label Optional. If specified, the provided label will be assigned to all imported key-values. prod Add content type Optional. If specified, the provided content type will be added to all imported key-values. JSON (application/json) Select Apply to proceed with the import.
You imported all application settings from an App Service as key-values, and assigned them the label prod
and the prefix TestApp:
. All key-values that you imported have content type set as application/json
.
Export data
Export writes configuration data stored in App Configuration to another destination. Use the export function, for example, to save data from an App Configuration store to a file that can be embedded in your application code during deployment.
This guide shows how to export App Configuration data:
- to a configuration file in Json, Yaml or Properties
- to an App Configuration store
- to an Azure App Service resource
Export data to a configuration file
Follow these steps to export configuration data from an App Configuration store to a JSON, YAML, or Properties file.
From the Azure portal, follow these steps:
Navigate to your App Configuration store, and select Import/export.
Select the Export radio button and under Target type, select Configuration file.
Fill out the form with the following parameters:
Parameter Description Example File type Select the file type for export: YAML, Properties, or JSON. JSON File content profile Select a content profile: Default or KVSet. The Default file content profile refers to the conventional configuration file schema widely adopted by existing programming frameworks or systems, supports JSON, Yaml, or Properties file formats. The KVSet file content profile refers to a file schema that contains all properties of an App Configuration key-value, including key, value, label, content type, and tags. Default Selection mode Select whether to export from regular key-values, which is the default option, or from a snapshot. Default Key filter Used to filter key-values based on the key name for export. If no keys are specified, all keys are eligible. Starts with TestApp: At a specific time Optional. Fill out this field to export key-values from a specific point in time in the selected configuration store. If left empty, it defaults to the current point in time of the key-values. 07/28/2022 12:00:00 AM From label Select the label to export key-values associated with those labels. If no label is selected, all labels are eligible. Note that you can only select one label when exporting with the Default
file content profile. To export key-values with more than one label, use theKVSet
file content profile.prod Remove prefix Optional. If specified, the prefix will be removed from the key names of all exported key-values that contain it. TestApp: Separator The separator is the delimiter used for segmenting key names and reconstructing hierarchical configurations for JSON or YAML files from key-values. It will be ignored for property files and feature flags. Supported values include no separator, period (.), comma (,), semicolon (;), hyphen (-), underscore (_), double underscore (__), slash (/), and colon (:). : Select Export to finish the export.
You exported key-values from an App Configuration store as of July 28, 2021, at 12 AM, with key names starting with TestApp:
and the label prod
, to a JSON file. The prefix TestApp:
was trimmed from key names, and the separator :
was used to segment the key names and reconstruct the hierarchical JSON format.
Export data to an App Configuration store
Follow the steps below to export key-values and feature flags to an Azure App Configuration store.
You can export values from one App Configuration store to another App Configuration store, or you can export values from one App Configuration store to the same App Configuration store in order to duplicate its values and apply different parameters, such as new label or content type.
From the Azure portal, follow these steps:
Navigate to your App Configuration store that contains the data you want to export, and select Import/export from the Operations menu.
Select the Export radio button and under Target type, select App Configuration.
Fill out the form with the following parameters:
Parameter Description Example Selection mode Select whether to export from regular key-values, which is the default option, or from a snapshot. Default Key filter Used to filter key-values based on the key name for export. If no keys are specified, all keys are eligible. Starts with TestApp: At a specific time Optional. Fill out this field to export key-values from a specific point in time in the selected configuration store. If left empty, it defaults to the current point in time of the key-values. 07/28/2022 12:00:00 AM From label Select one or more labels to export key-values associated with those labels. If no label is selected, all labels are eligible. prod Exclude feature flag If checked, feature flags will not be exported. Unchecked Select destination store, fill out the form with the following parameters:
Parameter Description Example Subscription Your current subscription is selected by default. my-subscription Resource group Select a resource group that contains the App Configuration store where you want to export the configuration. Your current resource group is selected by default. my-resource-group Resource Select the App Configuration store where you want to export the configuration. my-other-app-config-store Fill out the next part of the form:
Parameter Description Example Remove prefix Optional. If specified, the prefix will be removed from the key names of all exported key-values that contain it. TestApp: Override labels Optional. By default, the original labels of the source key-values are preserved. To override them, check the box and enter a new label for exported key-values. new Override content types Optional. By default, the original content types of the source key-values are preserved. To override them, check the box and enter a new content type for exported key-values. Note that the content type of feature flags cannot be overridden. JSON (application/json) Select Apply to proceed with the export.
You exported key-values from an App Configuration store as of July 28, 2022, at 12 AM, with key names starting with TestApp:
and the label prod
, to another App Configuration store. All exported key-values were trimmed the key prefix TestApp:
, and assigned the label new
and the content type application/json
.
Export data to Azure App Service
Follow the steps below to export key-values to Azure App Service.
Note
Exporting feature flags to App Service is not supported.
From the Azure portal, follow these steps:
Navigate to your App Configuration store, and select Import/export from the Operations menu.
Select the Export radio button and under Target type, select App Services.
The Export as reference option is checked by default. When the box is checked, the application settings in App Service will be added as App Configuration references for the exported key-values. This allows you to manage your settings in App Configuration, with your App Service automatically pulling the current values from App Configuration. To learn more, see Use App Configuration references for App Service and Azure Functions. If the box is unchecked, the key and value will be directly exported to App Service. Remember to export your data again whenever you make changes in App Configuration to ensure your application picks up the updates.
Fill out the form with the following parameters:
Parameter Description Example Selection mode Select whether to export from regular key-values, which is the default option, or from a snapshot. Default Key filter Used to filter key-values based on the key name for export. If no keys are specified, all keys are eligible. Starts with TestApp: At a specific time Optional. Fill out this field to export key-values from a specific point in time in the selected configuration store. If left empty, it defaults to the current point in time of the key-values. 07/28/2022 12:00:00 AM From label Select one label to export key-values associated with this label. prod Select a destination store and fill out the form with the following parameters:
Parameter Description Example Subscription Your current subscription is selected by default. my-subscription Resource group Select a resource group that contains the App Service where you want to export the configuration. my-resource-group Resource Select the App Service where you want to export the configuration. my-app-service Optionally fill out the next part of the form:
Parameter Description Example Remove prefix Optional. If specified, the prefix will be removed from the key names of all exported key-values that contain it. TestApp: Select Apply to proceed with the export.
You exported key-values from an App Configuration store as of July 28, 2022, at 12 AM, with key names starting with TestApp:
and the label prod
, to the application settings of an App Service resource. The prefix TestApp:
was trimmed from exported key names.
If you checked the box to export key-values as references, the exported key-values are indicated as App Configuration references in the "Source" column of your App Service resource configuration settings.
Error messages
You may encounter the following error messages when importing or exporting App Configuration key-values:
- Public access is disabled for your store or you are accessing from a private endpoint that is not in the store's private endpoint configurations. If your App Configuration store has private endpoints enabled, you can only access it from within the configured virtual network by default. Ensure that the machine running the Azure portal or CLI is joined to the same virtual network as the private endpoint. If you have just enabled public network access to your App Configuration store, wait at least 5 minutes before retrying to allow the cache to refresh.