Конфигурация приложений Azure обеспечивает управление функциями с помощью флагов функций, что позволяет командам динамически контролировать функциональные возможности приложений без повторного развертывания кода. Это позволяет обеспечить безопасные, целевые развертывания, ускорить экспериментирование и снизить риск, что дает разработчикам гибкий контроль над поведением приложений и способность быстро реагировать на изменения бизнес-потребностей или клиентов.
Диспетчер функций на портале Azure предоставляет пользовательский интерфейс для создания флагов функций, используемых в приложениях, и управления ими.
Требуемые условия
Создание флага компонента
Создайте флаг функции на портале Azure, выполнив приведенные ниже действия.
Откройте хранилище конфигурации приложений Azure на портале Azure. В меню ресурсов в разделе Операции выберите Диспетчер функций>Создать.
В разделе «Для чего вы будете использовать флаг функции» выберите одну из следующих целей:
-
Переключение — включение и отключение функций с помощью простого коммутатора. Используйте для кратковременных операционных переключений и сценариев, где достаточно одного переключателя включения/выключения.
-
Развертывание — постепенное включение функции для процента пользователей. Используйте для постепенного выпуска функций для снижения риска, а также для канареечного или поэтапного развертывания в различных средах или сегментах пользователей.
-
Эксперимент — выполнение контролируемых экспериментов с выделением трафика для определения оптимального варианта. Используется для тестирования A/B, многовариантных экспериментов или оценки функций на основе метрик, а также для других сценариев, требующих статистического сравнения.
Используйте переключатель , чтобы мгновенно включить или отключить функциональные возможности для всех пользователей.
Настройте основы , чтобы задать основные свойства флага функции.
| Настройка |
Пример значения |
Описание |
|
Включение флага компонента |
Включить |
Этот параметр включает флаг компонента при создании. Если этот параметр отключен, конфигурация нового флага компонента сохраняется, но новый флаг компонента остается отключенным. |
|
Имя флага функции |
бета |
Имя флага функции — это то, что вы используете для ссылки на флаг в коде. Он должен быть уникальным в приложении. |
|
Ключ |
бета |
Ключ можно использовать для фильтрации флагов функций, загруженных в приложение. Ключ создается по умолчанию из имени флага функции, но вы также можете добавить префикс или пространство имен для группировки флагов функций, например .appconfig.featureflag/Beta. |
|
Ярлык |
Оставьте пустым |
Вы можете использовать метки для создания различных флагов для одного и того же ключа и фильтрации флагов, загруженных в приложение, на основе метки. По умолчанию флаг компонента не имеет метки. |
|
Описание |
Оставьте пустым |
Оставьте пустым или введите описание флага функции. |
Настройте телеметрию для сбора событий оценки для этого фича-флага. При включении события оценки отправляются издателю телеметрии, настроенного в приложении. Перед включением телеметрии свяжите ресурс Application Insights с хранилищем конфигурации приложений в Telemetry>App Insights.
Выберите "Просмотр и создание ", чтобы просмотреть сводку по флагу новой функции, а затем нажмите кнопку "Создать ", чтобы завершить операцию. Уведомление указывает, что флаг новой функции был создан успешно.
Используйте развертывание для постепенного предоставления функции процентам пользователей.
Настройте основы , чтобы задать основные свойства флага функции.
| Настройка |
Пример значения |
Описание |
|
Включение флага компонента |
Включить |
Этот параметр включает флаг компонента при создании. Если этот параметр отключен, конфигурация нового флага компонента сохраняется, но новый флаг компонента остается отключенным. |
|
Имя флага функции |
бета |
Имя флага функции — это то, что вы используете для ссылки на флаг в коде. Он должен быть уникальным в приложении. |
|
Ключ |
бета |
Ключ можно использовать для фильтрации флагов функций, загруженных в приложение. Ключ создается по умолчанию из имени флага функции, но вы также можете добавить префикс или пространство имен для группировки флагов функций, например .appconfig.featureflag/myapp/Beta. |
|
Ярлык |
Оставьте пустым |
Вы можете использовать метки для создания различных флагов для одного и того же ключа и фильтрации флагов, загруженных в приложение, на основе метки. По умолчанию флаг компонента не имеет метки. |
|
Описание |
Оставьте пустым |
Оставьте пустым или введите описание флага функции. |
На вкладке "Аудитория" включите флаг функции для указанного процента или явно включите или исключите группы и пользователей.
| Настройка |
Пример значения |
Описание |
|
Процент по умолчанию |
0–100 |
Введите значение от 0 до 100, чтобы указать процент пользователей, получающих функцию по умолчанию. |
|
Переопределение по группам |
Отключено (снято) |
Для включения переопределений на основе групп, выберите. Если этот параметр включен, вы можете: - Добавьте группы для явного включения в развертывание и задайте процент участников группы, которые должны получать эту функцию.
- Добавьте группы, которые следует исключить из развертывания.
|
|
Переопределение пользователями |
Отключено (снято) |
Выберите, чтобы включить целевую ориентацию на основе пользователей. Если этот параметр включен, можно указать отдельных пользователей для включения или исключения. |
На вкладке "Конфигурация" настройте значения для флага функции. Приложение может получить соответствующую конфигурацию, оценивая, какое значение применяется для каждого пользователя.
| Настройка |
Пример значения |
Описание |
|
Добавить конфигурацию |
Галочка установлена |
Выберите для подключения параметров "ключ-значение" к флагу функции. Эти параметры позволяют приложению динамически настраивать поведение без повторного развертывания кода. |
|
Старая конфигурация |
{"color":"blue"} |
Отображает значения конфигурации, ранее связанные с флагом компонента перед этим обновлением. Используйте это для сравнения изменений и отслеживания версий. |
|
Новая конфигурация |
{"color":"green"} |
Отображает обновленные значения конфигурации, которые вы применяете сейчас. Эти значения переопределяют старую конфигурацию и определяют новое поведение при включении флага компонента. |
Настройте условия для планирования изменений и управления пользовательскими ограничениями для обслуживания функций.
| Настройка |
Пример значения |
Описание |
|
Добавление расписания |
Начало: 2025-11-01 Конец: 2025-11-15 Часовой пояс: (UTC-06:00) Центральное время (США и Канада) Повторение: отключено |
Определите развертывание на основе времени, указав даты начала и окончания. При необходимости обновите предлагаемый часовой пояс и включите повторение для повторяющихся активаций. |
|
Добавление настраиваемого условия |
User.Subscription == "Premium" |
Создайте условия на основе настраиваемых атрибутов (например, региона, типа устройства или уровня подписки). Условия позволяют точно определять, какие пользователи получают эту функцию. |
|
Требовать включения всех фильтров компонентов |
Вкл. (установлен) |
Этот параметр отображается только после включения пользовательского условия и добавления расписания. При проверке все включённые фильтры функций должны иметь значение true для применения этой функции (логическое И). Когда флажок снят, фильтры оцениваются независимо (логическое ИЛИ). |
Настройте телеметрию для сбора событий оценки для этого фича-флага. При включении события оценки отправляются издателю телеметрии, настроенного в приложении. Перед включением телеметрии свяжите ресурс Application Insights с хранилищем конфигурации приложений в Telemetry>App Insights.
Выберите "Просмотр и создание ", чтобы просмотреть сводку по флагу новой функции, а затем нажмите кнопку "Создать ", чтобы завершить операцию. Уведомление указывает, что флаг новой функции был создан успешно.
Используйте эксперимент для выполнения тестов A/B и сравнения вариантов.
Настройте основы , чтобы задать основные свойства флага функции.
| Настройка |
Пример значения |
Описание |
|
Включение флага компонента |
Включить |
Этот параметр включает флаг компонента при создании. Если этот параметр отключен, конфигурация нового флага компонента сохраняется, но новый флаг компонента остается отключенным. |
|
Имя флага функции |
бета |
Имя флага функции — это то, что вы используете для ссылки на флаг в коде. Он должен быть уникальным в приложении. |
|
Ключ |
бета |
Ключ можно использовать для фильтрации флагов функций, загруженных в приложение. Ключ создается по умолчанию из имени флага функции, но вы также можете добавить префикс или пространство имен для группировки флагов функций, например .appconfig.featureflag/myapp/Beta. |
|
Ярлык |
Оставьте пустым |
Вы можете использовать метки для создания различных флагов для одного и того же ключа и фильтрации флагов, загруженных в приложение, на основе метки. По умолчанию флаг компонента не имеет метки. |
|
Описание |
Оставьте пустым |
Оставьте пустым или введите описание флага функции. |
Настройте варианты для сравнения поведения, выделения трафика и выполнения целевых тестов.
| Настройка |
Пример значения |
Описание |
|
Имя варианта |
Вариант 1 |
Введите уникальное имя для каждого варианта. |
|
Ценность |
<your-variant-1-value> |
Значение, возвращаемое для варианта. Это может быть строка, число, логический объект или объект JSON. Используйте Edit value в многострочном режиме для сложной конфигурации JSON, считываемой приложением при оценке флага. |
|
Вариант по умолчанию |
Вариант 1 (по умолчанию) |
Выберите один вариант в качестве стабильного резервного и базового плана. Этот вариант возвращается, если конкретное назначение не применяется или когда флаг функции отключен; Это также базовый план, используемый для целевого выделения и контролируемых тестов. |
Настройте распределение для направления трафика между вариантами и применения исключений для определенных групп или пользователей.
| Настройка |
Пример значения |
Описание |
|
Распределение трафика между вариантами |
По умолчанию: 100% Вариант 1: 0% Вариант 2: 0% |
Укажите процент трафика, выделенного для каждого варианта. Распределение для всех вариантов должно составлять 100%. Используйте это для управления способом, которым аудитория знакомится с различными вариантами. |
|
Переопределения распределения |
Переопределение по Группам / Переопределение по Пользователям |
Назначьте определенные варианты выбранным группам или отдельным пользователям независимо от распределения на основе процента. Когда применяется переопределение как группы, так и пользователя, назначение пользователя имеет приоритет. |
|
Распределение (семя) |
Использование пользовательского начального значения: 12345 |
Распределение процентиля по умолчанию происходит случайным образом. Предоставьте фиксированное начальное значение для создания детерминированных (повторяемых) выделений между флагами компонентов, которые используют одно и то же начальное значение. |
Это важно
Если оценки функций происходят в клиентском приложении (например, в веб-браузере), данные флага компонентов, включая имена пользователей, указанные здесь, могут быть предоставлены конечным пользователям. Дополнительные сведения см. в разделе "Клиентские приложения" в конфигурации приложений.
Настройте условия для ограничения воздействия, планирования изменений и управления пользовательскими ограничениями для обслуживания функций.
| Настройка |
Пример значения |
Описание |
|
Ограничение воздействия |
Галочка установлена |
При выборе дополнительные параметры отображаются для управления экспозицией по процентам, группам и пользователям. Если флажок снят, флаг функции применяется глобально без этих ограничений. |
|
Процент по умолчанию |
100 |
Отображается только в том случае, если установлен флажок ограничение воздействия. Введите значение от 0 до 100, чтобы указать процент всей пользовательской базы, которая получает функцию по умолчанию. |
|
Переопределение по группам |
Include: MarketingTeam (100%) Исключить: TestGroup |
Отображается только в том случае, если проверяется ограничение воздействия . Включите группы, чтобы включить функцию для них, даже если они выходят за пределы процента по умолчанию. Исключите группы, чтобы отключить функцию для них. |
|
Переопределение пользователями |
Включать: john@example.com Исключать: jane@example.com |
Отображается только в том случае, если ограничение воздействия установлено. Добавьте пользователей для активации функции для них, даже если они выходят за пределы предопределенного процента. Исключите пользователей, чтобы отключить функцию для них. Для длинного списка пользователей рекомендуется использовать группы вместо пользователей, так как флаги функций имеют ограничение в 10 КБ. |
|
Добавление расписания |
Начало: 2025-11-01 Конец: 2025-11-15 Часовой пояс: (UTC-06:00) Центральное время (США и Канада) Повторение: еженедельно |
Определите развертывание на основе времени, указав время начала и окончания. При необходимости обновите предлагаемый часовой пояс и включите повторение для повторяющихся активаций (например, еженедельно или ежемесячно). |
|
Добавление настраиваемого условия |
User.Region == "EU" |
Создайте условия на основе настраиваемых атрибутов (например, региона, типа устройства или уровня подписки). Условия позволяют точно нацеливать, чтобы только пользователи, соответствующие этим критериям, получали эту функцию. |
|
Требовать включения всех фильтров компонентов |
Вкл . (установлен) |
Этот параметр отображается только после включения нескольких условий. При проверке все включенные фильтры функций должны иметь значение true для применения флага функции (логического И). Когда флажок снят, фильтры оцениваются независимо (логическое ИЛИ). |
Настройте телеметрию для сбора событий оценки для этого фича-флага. При включении события оценки отправляются издателю телеметрии, настроенного в приложении. Перед включением телеметрии свяжите ресурс Application Insights с хранилищем конфигурации приложений в Telemetry>App Insights.
Выберите "Просмотр и создание ", чтобы просмотреть сводку по флагу новой функции, а затем нажмите кнопку "Создать ", чтобы завершить операцию. Уведомление указывает, что флаг новой функции был создан успешно.
Изменение флагов компонентов
Чтобы обновить флаг компонента, выполните следующие действия.
В меню ресурсов перейдите в operations>Feature Manager.
Перейдите к правому краю флага функции, который вы хотите изменить, и выберите многоточие действий (...). В этом меню можно просмотреть сведения о флаге функции, изменить флаг, заблокировать или разблокировать его, создать метку, обновить теги, просмотреть журнал или удалить флаг.
Нажмите кнопку "Изменить ", чтобы внести изменения с помощью визуального редактора или дополнительного редактирования , чтобы напрямую изменить необработанный JSON флага.
При необходимости измените состояние флага функции, включив или отключив переключатель включено .
Управление представлением
В меню диспетчера компонентов отображаются флаги компонентов, хранящиеся в конфигурации приложений Azure. Вы можете изменить отображение диспетчера компонентов в портал Azure, выбрав пункт "Управление представлением".
Параметры позволяют выбрать, сколько флагов функций загружается при каждом действии Загрузить ещё.
«Загрузить больше» будет виден только в том случае, если количество флагов функций больше 200.
Изменение столбцов позволяет добавлять или удалять столбцы и изменять порядок столбцов.
Флаги компонентов, созданные с помощью диспетчера компонентов, хранятся в виде обычных значений ключей. Они хранятся с особым префиксом .appconfig.featureflag/ и типом application/vnd.microsoft.appconfig.ff+json;charset=utf-8контента.
Чтобы просмотреть базовые ключевые значения флагов компонентов в обозревателе конфигураций, выполните указанные ниже действия.
В меню ресурсов выберите Операции>Обозреватель конфигураций, а затем выберите Управление>Настройками.
Выберите Добавить флаги для функций в обозреватель конфигураций и нажмите Применить.
Связанный контент
Чтобы начать использование флагов функций с Azure App Configuration, перейдите к следующим кратким руководствам, в зависимости от языка или платформы вашего приложения.