Spring: функция диспетчера функций Azure переключает Microsoft.Компонент таргетинга не найден

#spring #azure #kotlin #spring-cloud #spring-cloud-azure

#spring #azure #kotlin #spring-облако #spring-cloud-azure

Вопрос:

В настоящее время у меня возникла проблема с диспетчером функций Azure. Я использовал следующий учебник, чтобы добавить переключатель функций в свое приложение: Ссылка

Это работает нормально, пока мы говорим о флаге функции, установленном вручную. Как только для типа функции в Azure будет установлено значение «Таргетинг», следующий код приведет к ошибке.

 featureManager.isEnabledAsync(FeatureToggle.OUR_FEATURE_TARGETING.key).block()
 

В частности, мы получим No bean named 'Microsoft.Targeting' available журнал ошибок spring. Клиент, пытающийся получить доступ к конечной точке, содержащей приведенный выше код, получит 500 с сообщением об ошибке Fail fast is set and a Filter was unable to be found: Microsoft.Targeting


Дополнительная информация

Я использую Kotlin и Spring.

Установка для функции значения «На основе времени» также приведет к ошибке.

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

 @Autowired
private lateinit var featureManager: FeatureManager

fun feature(): String {
        if (featureManager.isEnabledAsync(FeatureToggle.OUR_FEATURE_TARGETING.key).block() == true) {
            return "feature A!"
        } else {
            return "feature B!"
        }
 

И перечисление функций выглядит следующим образом

 enum class FeatureToggle(val key: String) {
    OUR_FEATURE_TARGETING("feature")
}
 

Ответ №1:

В этом руководстве это не рассматривается, но встроенные флаги функций не настроены на включение по умолчанию, поэтому их необходимо встроить в @Configuration файл. Дополнительную информацию можно найти здесь https://microsoft.github.io/spring-cloud-azure/docs/azure-app-configuration/2.3.0/reference/html/index.html#built-in-feature-filters