Импорт и экспорт данных конфигурации
Конфигурация приложений Azure поддерживает операции импорта и экспорта данных. Эти операции позволяют выполнять массовые операции с данными конфигурации и обмен данными между хранилищем Конфигурации приложений и проектом кода. Например, можно настроить одно хранилище Конфигурации приложений для тестирования, а другое — для рабочей среды. Вы можете копировать параметры приложения между ними, чтобы не вводить данные дважды.
В этой статье приведено руководство по импорту и экспорту данных с помощью портал Azure или Azure CLI. Если вы приняли конфигурацию в качестве кода и управляете конфигурациями в GitHub или Azure Devops, вы можете настроить текущий импорт файла конфигурации с помощью GitHub Actions или использовать задачу push-отправки Azure Pipeline.
Импорт данных
Операция импорта позволяет перенести данные конфигурации в хранилище Конфигурации приложений из существующего источника. С помощью функции импорта можно переносить данные в хранилище Конфигурации приложений или для агрегировать данные из нескольких источников.
В этом руководстве показано, как импортировать данные Конфигурации приложений:
- из файла конфигурации в формате JSON, YAML или свойств;
- из хранилища Конфигурации приложений;
- из Службы приложений Azure.
Импорт данных из файла конфигурации
Чтобы импортировать пары "ключ-значение" из файла, выполните указанные ниже действия.
Примечание.
Импорт флагов признаков из файла не поддерживается. Если файл конфигурации содержит флаги признаков, они будут автоматически импортированы как обычные пары "ключ-значение".
На портале Azure сделайте следующее:
Перейдите к хранилищу Конфигурации приложений и выберите в меню Операции пункт Импорт и экспорт.
На вкладке Импорт выберите Файл конфигурации в разделе Исходная служба.
Заполните форму, указав следующие параметры:
Параметр Описание Пример Выбор языка Выберите язык импортируемого файла: .NET, Java (Spring) или Other. .NET Тип файла Выберите тип файла, который вы импортируете между Yaml, Properties и Json. Json Выберите значок Папка и перейдите к файлу, который нужно импортировать.
Примечание.
На экране появится сообщение, указывающее, что файл был успешно получен.
Заполните следующую часть формы:
Параметр Описание Пример Разделитель Разделитель — это символ, при анализе импортированного файла конфигурации разделяющий пары "ключ-значение", которые будут добавлены в хранилище конфигураций. Выберите один из следующих вариантов: ., ,, :, ;, /, -, _, –. ; Префикс Необязательно. Префикс ключа — это начальная часть свойства key-value. Префиксы можно использовать для управления группами ключевых значений в хранилище конфигурации. Введенный префикс будет добавлен в передней части свойства "ключ" каждого значения ключа, импортированного из этого файла. TestApp: Этикетка Необязательно. Выберите существующую метку или введите новую метку, которая будет назначена импортированным значениям ключей. тыкать Content type Необязательно. Укажите, импортируете ли вы JSON-файл или ссылки на хранилище ключей. Дополнительные сведения о ссылках на Key Vault см. в статье Использование ссылок Key Vault в приложении ASP.NET Core. JSON (application/json) Выберите Применить, чтобы продолжить импорт.
Вы импортировали пары "ключ-значение" из JSON-файла, назначили им метку "prod" и префикс "TestApp". Используется разделитель ":" и все импортированные значения ключей имеют тип контента в формате JSON.
Импорт данных из хранилища Конфигурации приложений
Вы можете импортировать значения из одного хранилища Конфигурации приложений в другое или из одного хранилища Конфигурации приложений в то же самое хранилище, если требуется продублировать значения, но применить другие параметры, такие как новая метка или тип контента.
Выполните указанные ниже действия, чтобы импортировать пары "ключ-значение" и флаги признаков из хранилища Конфигурации приложений Azure.
На портале Azure сделайте следующее:
Перейдите к хранилищу Конфигурации приложений и выберите в меню Операции пункт Импорт и экспорт.
На вкладке Импорт выберите Конфигурация приложений в разделе Исходная служба.
Нажмите Выбрать ресурс, заполните форму указанными ниже параметрами и нажмите кнопку Применить.
Параметр Описание Пример Отток подписок Текущая подписка выбрана по умолчанию. my-subscription Группа ресурсов Выберите группу ресурсов с хранилищем Конфигурации приложений с конфигурацией, которую требуется импортировать. Ваша текущая группа ресурсов будет выбрана по умолчанию. my-resource-group Ресурс Выберите хранилище Конфигурации приложений, содержащее конфигурацию, которую требуется импортировать. my-other-app-config-store Примечание.
Сообщение "Ключи доступа успешно получены" указывает, что подключение к хранилищу Конфигурации приложений успешно выполнено.
Заполните следующую часть формы:
Параметр Описание Пример Из метки Выберите хотя бы одну метку, чтобы импортировать значения с соответствующими метками. Выберите все значения ключей с любой меткой и (без метки) ограничивает импорт значений ключей без метки. тыкать В определенное время Необязательно. Вы можете указать это значение, если требуется импортировать пары "ключ-значение" для определенной точки времени. Это точка во времени значений ключей в выбранном хранилище конфигурации. Формат: "ГГГГ-ММ-ДДTчч:мм:ссZ". Это поле по умолчанию использует текущую точку во времени значений ключей, если оставить пустым. 28.07.2022 00:00:00 Переопределение меток пар "ключ-значение" по умолчанию Необязательно. По умолчанию для импортированных элементов используется текущая метка. Установите флажок и введите метку, чтобы переопределить эти значения по умолчанию настраиваемой меткой. новую Переопределение типов содержимого по умолчанию для пар "ключ-значение" Необязательно. По умолчанию для импортированных элементов используется текущий тип контента. Установите флажок и выберите Ссылка на хранилище ключей или JSON (application/json) в разделе Тип контента, чтобы указать, что импортированное содержимое состоит из ссылки на хранилище ключей или JSON-файла. Тип контента можно переопределить только для импортированных пар "ключ-значение". По умолчанию для флагов признаков используется тип контента "application/vnd.microsoft.appconfig.ff+json;charset=utf-8", и изменить его с помощью этого параметра невозможно. JSON (application/json) Выберите Применить, чтобы продолжить импорт.
Вы импортировали значения ключей и флаги компонентов с меткой prod из хранилища Конфигурация приложений 28 января 2021 г. в 12:00 и назначили им метку new. Все импортированные значения ключей имеют тип контента в формате JSON.
Импорт данных из Службы приложений Azure
Чтобы импортировать пары "ключ-значение" из Службы приложений Azure, выполните указанные ниже действия.
Примечание.
Служба приложений в настоящее время не поддерживает флаги признаков. Все флаги признаков, импортированные в Службу приложений, автоматически преобразуются в пары "ключ-значение". Ресурсы Службы приложений могут содержать только пары "ключ-значение".
На портале Azure
Перейдите к хранилищу Конфигурации приложений и выберите в меню Операции пункт Импорт и экспорт.
На вкладке Импорт выберите Службы приложений в разделе Исходная служба.
Нажмите Выбрать ресурс, заполните форму указанными ниже параметрами и нажмите кнопку Применить.
Параметр Описание Пример Отток подписок Текущая подписка выбрана по умолчанию. my-subscription Группа ресурсов Выберите группу ресурсов, которая содержит Службу приложений с конфигурацией, которую требуется импортировать. my-resource-group Ресурс Выберите Службу приложений, содержащую конфигурацию, которую требуется импортировать. my-app-service Примечание.
Отображается сообщение, указывающее количество значений ключей, которые успешно извлекались из исходного Служба приложений ресурса.
Заполните следующую часть формы:
Параметр Описание Пример Префикс Необязательно. Префикс ключа — это начальная часть свойства key-values. Префиксы можно использовать для управления группами ключевых значений в хранилище конфигурации. Этот префикс добавляется к передней части свойства "ключ" каждого импортированного значения ключа. TestApp: Этикетка Необязательно. Выберите существующую метку или введите новую метку, которая будет назначена импортированным значениям ключей. тыкать Content type Необязательно. Укажите, является ли импортируемый файл ссылкой Key Vault или JSON-файлом. Дополнительные сведения о ссылках на Key Vault см. в статье Использование ссылок Key Vault в приложении ASP.NET Core. JSON (application/json) Выберите Применить, чтобы продолжить импорт.
Вы импортировали все параметры приложения из Служба приложений в качестве значений ключей и назначили им метку "prod" и префикс "TestApp". Все импортированные значения ключей имеют тип контента в формате JSON.
Экспорт данных
Операция экспорта позволяет записать данные конфигурации, хранящиеся в Конфигурации приложений, в другое место назначения. Функция экспорта позволяет, к примеру, сохранять данные из хранилища Конфигурации приложений в файл, который может быть внедрен в код приложения во время развертывания.
В этом руководстве показано, как экспортировать данные Конфигурации приложений:
- в файл конфигурации в формате JSON, YAML или свойств;
- в хранилище Конфигурации приложений;
- в ресурс Службы приложений Azure.
Экспорт данных в файл конфигурации
Выполните приведенные ниже действия, чтобы экспортировать данные конфигурации из хранилища конфигурации приложения в файл Json, Yaml или Properties.
Примечание.
Экспорт флагов признаков из хранилища Конфигурации приложений в файл конфигурации в настоящее время поддерживается только в CLI.
На портале Azure сделайте следующее:
Перейдите к хранилищу Конфигурации приложений и выберите элемент Импорт и экспорт.
На вкладке Экспорт выберите Файл конфигурации в разделе Целевая служба.
Заполните форму, указав следующие параметры:
Параметр Описание Пример Префикс Необязательно. Этот префикс будет обрезана из каждого свойства key-value. Префикс ключа — это начальная часть ключа. Префиксы можно использовать для управления группами ключевых значений в хранилище конфигурации. TestApp: Из метки Выберите существующую метку, чтобы ограничить экспорт парами "ключ-значение" с определенной меткой. Если метка не выбрана, по умолчанию будут экспортированы только пары "ключ-значение" с меткой "Без метки". См. примечание ниже. тыкать В определенное время Необязательно. Вы можете указать это значение, если требуется импортировать пары "ключ-значение" для определенной точки времени. Это точка во времени значений ключей в выбранном хранилище конфигурации. Формат: "ГГГГ-ММ-ДДTчч:мм:ссZ". Это поле по умолчанию использует текущую точку во времени значений ключей, если оставить пустым. 28.07.2022 00:00:00 Тип файла Выберите тип файла, который вы экспортируете между Yaml, Properties или Json. JSON Разделитель Разделитель — это символ для выравнивания пар "ключ-значение" в файле JSON или YAML. Он необходим для работы с иерархической структурой конфигурации и не применяется к файлам свойств и флагам признаков. Выберите один из следующих вариантов: ., ,, :, ;, /, -, _, – или (без разделителя). ; Внимание
Если вы не выберете метку From, экспортируются только ключевые значения без меток. Чтобы экспортировать пару "ключ-значение" с меткой, необходимо выбрать ее метку. Обратите внимание, что для каждой операции экспорта на портале можно выбрать только одну метку; если требуется экспортировать пары "ключ-значение" со всеми указанными метками, используйте CLI.
Нажмите Экспорт для завершения экспорта.
Вы экспортировали значения ключей, имеющие метку prod из файла конфигурации, в состоянии 07.28.2021 12:00:00:00 и обрезали префикс TestApp. Значения разделяются в файле символом ";".
Экспорт данных в хранилище Конфигурации приложений
Выполните указанные ниже действия, чтобы экспортировать пары "ключ-значение" и флаги признаков в хранилище Конфигурации приложений Azure.
Вы можете экспортировать значения из одного хранилища Конфигурации приложений в другое или из одного хранилища Конфигурации приложений в то же самое хранилище, если требуется продублировать значения, но применить другие параметры, такие как новая метка или тип контента.
На портале Azure сделайте следующее:
Перейдите в хранилище Конфигурации приложений, содержащее данные, которые требуется экспортировать, и выберите пункт Импорт и экспорт в меню Операции.
На вкладке Экспорт выберите Конфигурация приложений в разделе Целевая служба.
Нажмите Выбрать ресурс, заполните форму указанными ниже параметрами и нажмите кнопку Применить.
Параметр Описание Пример Отток подписок Текущая подписка выбрана по умолчанию. my-subscription Группа ресурсов Выберите группу ресурсов с хранилищем Конфигурации приложений с конфигурацией, которую требуется импортировать. my-resource-group Ресурс Выберите хранилище Конфигурации приложений, содержащее конфигурацию, которую требуется импортировать. my-app-config-store Теперь на странице отображаются выбранные целевая служба и идентификатор ресурса. Действие Выбор ресурса позволяет переключиться на другое исходное хранилище Конфигурации приложений.
Примечание.
На экране отображается сообщение, указывающее, что ключ-значения успешно извлекались.
Заполните следующую часть формы:
Параметр Описание Пример Из метки Выберите хотя бы одну метку, чтобы экспортировать значения с соответствующими метками. Выберите все будут экспортировать значения ключей с любой меткой, и (без метки) экспорт будет ограничиваться значениями ключей без метки. тыкать В определенное время Необязательно. Вы можете указать это значение, если требуется импортировать пары "ключ-значение" для определенной точки времени. Это точка во времени значений ключей в выбранном хранилище конфигурации. Формат: "ГГГГ-ММ-ДДTчч:мм:ссZ". Это поле по умолчанию использует текущую точку во времени значений ключей, если оставить пустым. 28.07.2022 00:00:00 Переопределение меток пар "ключ-значение" по умолчанию Необязательно. По умолчанию для импортированных элементов используется текущая метка. Установите флажок и введите метку, чтобы переопределить эти значения по умолчанию настраиваемой меткой. новую Выберите Применить, чтобы продолжить экспорт.
Вы экспортировали значения ключей и флаги компонентов, имеющие метку "prod" из хранилища Конфигурация приложений, в их состоянии с 07.28.2022 12:00:00:00 и назначили им метку "new".
Экспорт данных в Службу приложений Azure
Чтобы экспортировать пары "ключ-значение" в Службу приложений Azure, выполните указанные ниже действия.
Примечание.
Экспорт флагов признаков в Службу приложений в настоящее время не поддерживается.
На портале Azure сделайте следующее:
Перейдите к хранилищу Конфигурации приложений и выберите в меню Операции пункт Импорт и экспорт.
На вкладке Экспорт выберите Службы приложений в разделе Целевая служба.
Нажмите Выбрать ресурс, заполните форму указанными ниже параметрами и нажмите кнопку Применить.
Параметр Описание Пример Отток подписок Текущая подписка выбрана по умолчанию. my-subscription Группа ресурсов Выберите группу ресурсов с хранилищем Конфигурации приложений с конфигурацией, которую требуется экспортировать. my-resource-group Ресурс Выберите Службу приложений, содержащую конфигурацию, которую требуется экспортировать. my-app-service Теперь на странице отображаются выбранные целевая служба и идентификатор ресурса. Действие "Выбор ресурса" позволяет переключиться на другой целевой Служба приложений ресурс.
При необходимости заполните следующую часть формы:
Параметр Описание Пример Префикс Необязательно. Этот префикс будет обрезана из каждого экспортированного свойства key-value "key". Префикс ключа — это начальная часть ключа. Префиксы можно использовать для управления группами ключевых значений в хранилище конфигурации. Префикс игнорируется для флагов признаков. TestApp: Экспорт в качестве ссылки Необязательно. Проверьте экспорт значений ключей в Служба приложений в виде Конфигурация приложений ссылок. Подробнее В определенное время Необязательно. Заполните, чтобы экспортировать пары "ключ-значение" из определенной точки времени. Это точка во времени значений ключей в выбранном хранилище конфигурации. Формат: "ГГГГ-ММ-ДДTчч:мм:ссZ". Это поле по умолчанию использует текущую точку во времени значений ключей, если оставить пустым. 28.07.2022 00:00:00 Из метки Необязательно. Выберите существующую метку, чтобы ограничить экспорт парами "ключ-значение" с определенной меткой. Если метка не выбрана, будут экспортированы только пары "ключ-значение" с меткой "Без метки". тыкать Выберите Применить, чтобы продолжить экспорт.
Вы экспортировали пары "ключ-значение" с меткой "prod" из ресурса Службы приложений по состоянию на 28.07.2021 00:00:00 и обрезали префикс "TestApp". Значения ключей экспортированы с типом контента в формате JSON.
Если вы установите флажок для экспорта значений ключей в качестве ссылок, экспортированные значения ключей указываются как Конфигурация приложений ссылки в столбце "Источник" параметров конфигурации ресурсов Служба приложений.
Сообщения об ошибках
При импорте или экспорте Конфигурация приложений ключевых значений могут возникнуть следующие сообщения об ошибках:
- Размер выбранного файла должен находиться в диапазоне от 1 до 2097152 байт: размер вашего файла слишком велик. Выберите меньший файл.
- Открытый доступ для вашего хранилища отключен, или вы обращаетесь из частной конечной точки, которая не относится к конфигурациям частных конечных точек хранилища. Чтобы импортировать значения ключей из хранилища Конфигурация приложений, необходимо иметь доступ к хранилищу. При необходимости включите открытый доступ к исходному хранилищу или обращайтесь к нему из одобренной частной конечной точки. Если вы только что включили открытый доступ, подождите 5 минут, чтобы кэш обновился.