Импорт и экспорт данных конфигурации

Конфигурация приложений Azure поддерживает операции импорта и экспорта данных. Эти операции позволяют выполнять массовые операции с данными конфигурации и обмен данными между хранилищем Конфигурации приложений и проектом кода. Например, можно настроить одно хранилище Конфигурации приложений для тестирования, а другое — для рабочей среды. Вы можете копировать параметры приложения между ними, чтобы не вводить данные дважды.

В этой статье содержится руководство по импорту и экспорту данных с помощью Конфигурации приложений. Если вы хотите настроить текущую синхронизацию с репозиторием GitHub, ознакомьтесь с задачами GitHub Actions и Azure Pipelines.

Импортируйте данные с помощью портала Azure или Azure CLI.

Импорт данных

Операция импорта позволяет перенести данные конфигурации в хранилище Конфигурации приложений из существующего источника. С помощью функции импорта можно переносить данные в хранилище Конфигурации приложений или для агрегировать данные из нескольких источников.

В этом руководстве показано, как импортировать данные Конфигурации приложений:

Импорт данных из файла конфигурации

Чтобы импортировать пары "ключ-значение" из файла, выполните указанные ниже действия.

Примечание

Импорт флагов признаков из файла не поддерживается. Если файл конфигурации содержит флаги признаков, они будут автоматически импортированы как обычные пары "ключ-значение".

На портале Azure сделайте следующее:

  1. Перейдите к хранилищу Конфигурации приложений и выберите в меню Операции пункт Импорт и экспорт.

    Снимок экрана: импорт файла на портале Azure.

  2. На вкладке Импорт выберите Файл конфигурации в разделе Исходная служба.

  3. Заполните форму, указав следующие параметры:

    Параметр Описание Пример
    Выбор языка Выберите язык импортируемого файла: .NET, Java (Spring) или Other. .NET
    Тип файла Выберите тип импортируемого файла: YAML, свойства или JSON. Json
  4. Выберите значок Папка и перейдите к файлу, который нужно импортировать.

    Примечание

    На экране появится сообщение, указывающее, что файл был успешно получен.

  5. Заполните следующую часть формы:

    Параметр Описание Пример
    Separator Разделитель — это символ, при анализе импортированного файла конфигурации разделяющий пары "ключ-значение", которые будут добавлены в хранилище конфигураций. Выберите один из следующих вариантов: ., ,, :, ;, /, -, _, . ;
    Prefix Необязательный элемент. Префикс ключа — это начальная часть свойства "ключ-значение". Префиксы можно использовать для управления группами "ключ-значение" в хранилище конфигураций. Введенный префикс будет добавлен к передней части свойства "ключ" каждого параметра "ключ-значение", импортированного из этого файла. TestApp:
    Label Необязательный элемент. Выберите существующую метку или введите новую метку, которая будет назначена импортированным значениям ключей. prod
    Тип содержимого Необязательный элемент. Укажите, импортируете ли вы JSON-файл или ссылки на хранилище ключей. Дополнительные сведения о ссылках на Key Vault см. в статье Использование ссылок Key Vault в приложении ASP.NET Core. JSON (application/json)
  6. Выберите Применить, чтобы продолжить импорт.

Вы импортировали пары "ключ-значение" из JSON-файла, назначили им метку "prod" и префикс "TestApp". Используется разделитель ":", а для всех импортированных значений "ключ-значение" задан тип контента "JSON".

Импорт данных из хранилища Конфигурации приложений

Вы можете импортировать значения из одного хранилища Конфигурации приложений в другое или из одного хранилища Конфигурации приложений в то же самое хранилище, если требуется продублировать значения, но применить другие параметры, такие как новая метка или тип контента.

Выполните указанные ниже действия, чтобы импортировать пары "ключ-значение" и флаги признаков из хранилища Конфигурации приложений Azure.

На портале Azure сделайте следующее:

  1. Перейдите к хранилищу Конфигурации приложений и выберите в меню Операции пункт Импорт и экспорт.

    Снимок экрана: импорт из хранилища Конфигурации приложений на портале Azure.

  2. На вкладке Импорт выберите Конфигурация приложений в разделе Исходная служба.

  3. Нажмите Выбрать ресурс, заполните форму указанными ниже параметрами и нажмите кнопку Применить.

    Параметр Описание Пример
    Подписка Текущая подписка выбрана по умолчанию. my-subscription
    Группа ресурсов Выберите группу ресурсов с хранилищем Конфигурации приложений с конфигурацией, которую требуется импортировать. Ваша текущая группа ресурсов будет выбрана по умолчанию. my-resource-group
    Ресурс Выберите хранилище Конфигурации приложений, содержащее конфигурацию, которую требуется импортировать. my-other-app-config-store

    Примечание

    Сообщение "Ключи доступа успешно получены" указывает, что подключение к хранилищу Конфигурации приложений успешно выполнено.

  4. Заполните следующую часть формы:

    Параметр Описание Пример
    Из метки Выберите хотя бы одну метку, чтобы импортировать значения с соответствующими метками. При выборе всех будут импортированы значения типа "ключ-значение" с любой меткой, а (без метки) импорт будет ограничен значениями "ключ-ключ" без метки. prod
    В определенное время Необязательный элемент. Вы можете указать это значение, если требуется импортировать пары "ключ-значение" для определенной точки времени. Это точка во времени для значений "ключ-значение" в выбранном хранилище конфигураций. Формат: "ГГГГ-ММ-ДДTчч:мм:ссZ". По умолчанию в этом поле используется текущая точка во времени для значений "ключ-значение", если оставить пустым. 28.07.2022 00:00:00
    Переопределение меток пар "ключ-значение" по умолчанию Необязательный элемент. По умолчанию для импортированных элементов используется текущая метка. Установите флажок и введите метку, чтобы переопределить эти значения по умолчанию настраиваемой меткой. new
    Переопределение типов содержимого по умолчанию для пар "ключ-значение" Необязательный элемент. По умолчанию для импортированных элементов используется текущий тип контента. Установите флажок и выберите Ссылка на хранилище ключей или JSON (application/json) в разделе Тип контента, чтобы указать, что импортированное содержимое состоит из ссылки на хранилище ключей или JSON-файла. Тип контента можно переопределить только для импортированных пар "ключ-значение". По умолчанию для флагов признаков используется тип контента "application/vnd.microsoft.appconfig.ff+json;charset=utf-8", и изменить его с помощью этого параметра невозможно. JSON (application/json)
  5. Выберите Применить, чтобы продолжить импорт.

Вы импортировали ключевые значения и флаги функций с меткой "prod" из хранилища Конфигурация приложений 28 января 2021 г. в 12:00 и назначили им метку "new". Для всех импортированных значений типа "ключ-значение" задан тип контента "JSON".

Импорт данных из Службы приложений Azure

Чтобы импортировать пары "ключ-значение" из Службы приложений Azure, выполните указанные ниже действия.

Примечание

Служба приложений в настоящее время не поддерживает флаги признаков. Все флаги признаков, импортированные в Службу приложений, автоматически преобразуются в пары "ключ-значение". Ресурсы Службы приложений могут содержать только пары "ключ-значение".

На портале Azure выполните следующие действия.

  1. Перейдите к хранилищу Конфигурации приложений и выберите в меню Операции пункт Импорт и экспорт.

    Снимок экрана: импорт из Службы приложений на портале Azure.

  2. На вкладке Импорт выберите Службы приложений в разделе Исходная служба.

  3. Нажмите Выбрать ресурс, заполните форму указанными ниже параметрами и нажмите кнопку Применить.

    Параметр Описание Пример
    Подписка Текущая подписка выбрана по умолчанию. my-subscription
    Группа ресурсов Выберите группу ресурсов, которая содержит Службу приложений с конфигурацией, которую требуется импортировать. my-resource-group
    Ресурс Выберите Службу приложений, содержащую конфигурацию, которую требуется импортировать. my-app-service

    Примечание

    Отобразится сообщение, указывающее количество значений "ключ-ключ", которые были успешно возвращены из исходного Служба приложений ресурса.

  4. Заполните следующую часть формы:

    Параметр Описание Пример
    Prefix Необязательный элемент. Префикс ключа — это начальная часть свойства "ключ-значение". Префиксы можно использовать для управления группами "ключ-значение" в хранилище конфигураций. Этот префикс будет добавлен к передней части свойства "ключ" каждого импортированного значения типа "ключ-значение". TestApp:
    Label Необязательный элемент. Выберите существующую метку или введите новую метку, которая будет назначена импортированным значениям ключей. prod
    Тип содержимого Необязательный элемент. Укажите, является ли импортируемый файл ссылкой Key Vault или JSON-файлом. Дополнительные сведения о ссылках на Key Vault см. в статье Использование ссылок Key Vault в приложении ASP.NET Core. JSON (application/json)
  5. Выберите Применить, чтобы продолжить импорт.

Вы импортировали все параметры приложения из Службы приложений в качестве пар "ключ-значение", назначили им метку "prod" и префикс "TestApp". Для всех импортированных значений "ключ-значение" задан тип контента JSON.

Экспорт данных

Операция экспорта позволяет записать данные конфигурации, хранящиеся в Конфигурации приложений, в другое место назначения. Функция экспорта позволяет, к примеру, сохранять данные из хранилища Конфигурации приложений в файл, который может быть внедрен в код приложения во время развертывания.

В этом руководстве показано, как экспортировать данные Конфигурации приложений:

Экспорт данных в файл конфигурации

Выполните указанные ниже действия, чтобы экспортировать данные конфигурации из хранилища конфигураций приложения в файл в формате JSON, YAML или свойств.

Примечание

Экспорт флагов признаков из хранилища Конфигурации приложений в файл конфигурации в настоящее время поддерживается только в CLI.

На портале Azure сделайте следующее:

  1. Перейдите к хранилищу Конфигурации приложений и выберите элемент Импорт и экспорт.

    Снимок экрана: экспорт файла на портале Azure

  2. На вкладке Экспорт выберите Файл конфигурации в разделе Целевая служба.

  3. Заполните форму, указав следующие параметры:

    Параметр Описание Пример
    Prefix Необязательный элемент. Этот префикс будет обрезаться из каждого свойства "ключ-значение". Префикс ключа — это начальная часть ключа. Префиксы можно использовать для управления группами "ключ-значение" в хранилище конфигураций. TestApp:
    Из метки Выберите существующую метку, чтобы ограничить экспорт парами "ключ-значение" с определенной меткой. Если метка не выбрана, по умолчанию будут экспортированы только пары "ключ-значение" с меткой "Без метки". См. примечание ниже. prod
    В определенное время Необязательный элемент. Вы можете указать это значение, если требуется импортировать пары "ключ-значение" для определенной точки времени. Это момент времени для значений "ключ-ключ" в выбранном хранилище конфигураций. Формат: "ГГГГ-ММ-ДДTчч:мм:ссZ". По умолчанию в этом поле используется текущая точка во времени значений "ключ-значение", если оставить его пустым. 28.07.2022 00:00:00
    Тип файла Выберите тип экспортируемого файла: YAML, свойства или JSON. JSON
    Separator Разделитель — это символ для выравнивания пар "ключ-значение" в файле JSON или YAML. Он необходим для работы с иерархической структурой конфигурации и не применяется к файлам свойств и флагам признаков. Выберите один из следующих вариантов: ., ,, :, ;, /, -, _, или (без разделителя). ;

    Важно!

    Если не выбрать метку "От", будут экспортированы только ключ-значения без меток. Чтобы экспортировать пару "ключ-значение" с меткой, необходимо выбрать ее метку. Обратите внимание, что для каждой операции экспорта на портале можно выбрать только одну метку; если требуется экспортировать пары "ключ-значение" со всеми указанными метками, используйте CLI.

  4. Нажмите Экспорт для завершения экспорта.

Вы экспортировали пары "ключ-значение" с меткой "prod" из файла конфигурации по состоянию на 28.07.2021 00:00:00 и обрезали префикс "TestApp". Значения разделяются в файле символом ";".

Экспорт данных в хранилище Конфигурации приложений

Выполните указанные ниже действия, чтобы экспортировать пары "ключ-значение" и флаги признаков в хранилище Конфигурации приложений Azure.

Вы можете экспортировать значения из одного хранилища Конфигурации приложений в другое или из одного хранилища Конфигурации приложений в то же самое хранилище, если требуется продублировать значения, но применить другие параметры, такие как новая метка или тип контента.

На портале Azure сделайте следующее:

  1. Перейдите в хранилище Конфигурации приложений, содержащее данные, которые требуется экспортировать, и выберите пункт Импорт и экспорт в меню Операции.

    Снимок экрана: экспорт из хранилища Конфигурации приложений на портале Azure.

  2. На вкладке Экспорт выберите Конфигурация приложений в разделе Целевая служба.

  3. Нажмите Выбрать ресурс, заполните форму указанными ниже параметрами и нажмите кнопку Применить.

    Параметр Описание Пример
    Подписка Текущая подписка выбрана по умолчанию. my-subscription
    Группа ресурсов Выберите группу ресурсов с хранилищем Конфигурации приложений с конфигурацией, которую требуется импортировать. my-resource-group
    Ресурс Выберите хранилище Конфигурации приложений, содержащее конфигурацию, которую требуется импортировать. my-app-config-store
  4. Теперь на странице отображаются выбранные целевая служба и идентификатор ресурса. Действие Выбор ресурса позволяет переключиться на другое исходное хранилище Конфигурации приложений.

    Примечание

    На экране отображается сообщение о том, что ключ-значение было успешно получено.

  5. Заполните следующую часть формы:

    Параметр Описание Пример
    Из метки Выберите хотя бы одну метку, чтобы экспортировать значения с соответствующими метками. Выберите все , будет экспортировать ключ-значения с любой меткой, а (Без метки) ограничит экспорт значениями "ключ-ключ" без метки. prod
    В определенное время Необязательный элемент. Вы можете указать это значение, если требуется импортировать пары "ключ-значение" для определенной точки времени. Это момент времени для значений "ключ-ключ" в выбранном хранилище конфигураций. Формат: "ГГГГ-ММ-ДДTчч:мм:ссZ". По умолчанию в этом поле используется текущая точка во времени значений "ключ-значение", если оставить его пустым. 28.07.2022 00:00:00
    Переопределение меток пар "ключ-значение" по умолчанию Необязательный элемент. По умолчанию для импортированных элементов используется текущая метка. Установите флажок и введите метку, чтобы переопределить эти значения по умолчанию настраиваемой меткой. new
  6. Выберите Применить, чтобы продолжить экспорт.

Вы экспортировали пары "ключ-значение" и флаги признаков с меткой "prod" из хранилища Конфигурации приложений по состоянию на 28.07.2022 00:00:00 и назначили им метку "new".

Экспорт данных в Службу приложений Azure

Чтобы экспортировать пары "ключ-значение" в Службу приложений Azure, выполните указанные ниже действия.

Примечание

Экспорт флагов признаков в Службу приложений в настоящее время не поддерживается.

На портале Azure сделайте следующее:

  1. Перейдите к хранилищу Конфигурации приложений и выберите в меню Операции пункт Импорт и экспорт.

    Снимок экрана: экспорт из Службы приложений на портале Azure.

  2. На вкладке Экспорт выберите Службы приложений в разделе Целевая служба.

  3. Нажмите Выбрать ресурс, заполните форму указанными ниже параметрами и нажмите кнопку Применить.

    Параметр Описание Пример
    Подписка Текущая подписка выбрана по умолчанию. my-subscription
    Группа ресурсов Выберите группу ресурсов с хранилищем Конфигурации приложений с конфигурацией, которую требуется экспортировать. my-resource-group
    Ресурс Выберите Службу приложений, содержащую конфигурацию, которую требуется экспортировать. my-app-service
  4. Теперь на странице отображаются выбранные целевая служба и идентификатор ресурса. Действие Выбрать ресурс позволяет переключиться на другой целевой Служба приложений ресурс.

  5. При необходимости заполните следующую часть формы:

    Параметр Описание Пример
    Prefix Необязательный элемент. Этот префикс будет обрезаться из каждого экспортированного свойства "ключ-значение". Префикс ключа — это начальная часть ключа. Префиксы можно использовать для управления группами "ключ-значение" в хранилище конфигураций. Префикс игнорируется для флагов признаков. TestApp:
    Экспорт в качестве ссылки Необязательный элемент. Убедитесь, что ключ-значения экспортируются в Служба приложений в виде Конфигурация приложений ссылок. Подробнее
    В определенное время Необязательный элемент. Заполните, чтобы экспортировать пары "ключ-значение" из определенной точки времени. Это момент времени для значений "ключ-ключ" в выбранном хранилище конфигураций. Формат: "ГГГГ-ММ-ДДTчч:мм:ссZ". По умолчанию в этом поле используется текущая точка во времени значений "ключ-значение", если оставить его пустым. 28.07.2022 00:00:00
    Из метки Необязательный элемент. Выберите существующую метку, чтобы ограничить экспорт парами "ключ-значение" с определенной меткой. Если метка не выбрана, будут экспортированы только пары "ключ-значение" с меткой "Без метки". prod
  6. Выберите Применить, чтобы продолжить экспорт.

Вы экспортировали пары "ключ-значение" с меткой "prod" из ресурса Службы приложений по состоянию на 28.07.2021 00:00:00 и обрезали префикс "TestApp". Ключ-значения экспортированы с типом контента в формате JSON.

Если вы установите флажок для экспорта "ключ-значения" в качестве ссылок, экспортированные "ключ-значения" будут указаны как Конфигурация приложений ссылки в столбце "Источник" параметров конфигурации ресурсов Служба приложений.

Снимок экрана: параметры конфигурации Служба приложений. Экспортированная ссылка на Конфигурация приложений в Служба приложений(портал).

Сообщения об ошибках

При импорте или экспорте Конфигурация приложений ключей могут возникнуть следующие сообщения об ошибках:

  • Размер выбранного файла должен находиться в диапазоне от 1 до 2097152 байт: размер вашего файла слишком велик. Выберите меньший файл.
  • Открытый доступ для вашего хранилища отключен, или вы обращаетесь из частной конечной точки, которая не относится к конфигурациям частных конечных точек хранилища. Чтобы импортировать ключи и значения из хранилища Конфигурация приложений, необходимо иметь доступ к такому хранилищу. При необходимости включите открытый доступ к исходному хранилищу или обращайтесь к нему из одобренной частной конечной точки. Если вы только что включили открытый доступ, подождите 5 минут, чтобы кэш обновился.

Дальнейшие действия