Flagship научился выбирать feature flags по вложенным объектам и массивам

Flagship научился выбирать feature flags по вложенным объектам и массивам
Содержание статьи

23 октября Cloudflare объявила о поддержке вложенных объектов, массивов и null в контексте вычисления флагов Flagship. На Mentoring.digital разбираем изменение для команд, которые управляют доступностью функций по данным пользователя или организации.

Профиль больше не обязательно превращать в плоский набор

Feature flag позволяет выбирать вариант функции по заданным условиям. Теперь контекст может содержать, например, объект profile и массив tags. Правило обращается к profile.plan, а наличие метки проверяется операторами has или not_has.

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

Где доступен структурированный контекст

Поддержка работает через Workers binding, REST API вычисления с JSON-телом запроса и OpenFeature SDK для TypeScript, Python и Go начиная с версии 0.6.0. При передаче структурированных данных через HTTP SDK выбирают POST.

Документация также уточняет порядок правил: применяется первое совпавшее, а при отсутствии совпадений возвращается вариант по умолчанию. Слишком широкое раннее условие может скрыть последующие частные случаи. Для вложенного пути установлен предел в пять сегментов.

Что проверить перед изменением правил

Начните с ограниченного тестового флага. Подготовьте контексты с нужным тарифом и меткой, без метки и без объекта профиля. Для каждого заранее определите ожидаемый вариант. Отдельно проверьте совпадение имени плоского ключа с вложенным путём: документация отдаёт приоритет буквальному ключу верхнего уровня.

Передавайте только сведения, необходимые условию, а не полный профиль пользователя. Это упрощает диагностику и уменьшает объём лишних данных. Проработать контракт контекста и проверки можно с наставником по JavaScript. Описанный набор проверок является рекомендацией, а не результатом внедрения Flagship редакцией.

Похожие статьи по данной теме