#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