Краткое руководство: Добавление флагов возможностей в приложение Spring Boot

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

Библиотеки управления функциями Spring Boot не зависят от каких-либо библиотек Azure. Они легко интегрируются с Конфигурацией приложений через поставщика конфигураций Spring Boot.

Предварительные условия

Добавление флага компонента

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

Снимок экрана: флаг включения функции с именем Beta.

Создание консольного приложения

  1. Создайте проект Spring Boot:

    1. Перейдите к Spring Initializr.

    2. Укажите следующие параметры.

      • Создайте проект Maven с Java.
      • Укажите версию Spring Boot , которая равна или больше 3.0.
      • Заполните поля Group (Группа) и Artifact (Артефакт) для приложения. Для этой статьи используется com.example и demo.
    3. После указания предыдущих параметров выберите Создать проект. Скачайте и извлеките проект на локальный компьютер.

  2. Найдите pom.xml в корневом каталоге приложения и откройте его в текстовом редакторе.

  3. Добавьте в список <dependencies> следующее:

    <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>spring-cloud-azure-appconfiguration-config</artifactId>
    </dependency>
    <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>spring-cloud-azure-feature-management</artifactId>
    </dependency>
    
  4. Добавьте следующий раздел <dependencyManagement> для управления версиями библиотеки Spring Cloud Azure:

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.azure.spring</groupId>
                <artifactId>spring-cloud-azure-dependencies</artifactId>
                <version>7.2.0</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    
  5. Перейдите в каталог resources вашего приложения и откройте файл application.properties или application.yaml.

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

    spring.config.import=azureAppConfiguration
    spring.cloud.azure.appconfiguration.stores[0].endpoint= ${AZURE_APPCONFIG_ENDPOINT}
    spring.cloud.azure.appconfiguration.stores[0].feature-flags.enabled=true
    
  6. Обновите файл в каталоге DemoApplication.java пакетов приложения с помощью следующего кода:

    import org.springframework.boot.CommandLineRunner;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.context.annotation.Bean;
    
    import com.azure.spring.cloud.feature.management.FeatureManager;
    
    @SpringBootApplication
    public class DemoApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(DemoApplication.class, args);
        }
    
        @Bean
        public CommandLineRunner runner(FeatureManager featureManager) {
            return args -> {
                System.out.println("Beta is enabled: " + featureManager.isEnabled("Beta"));
            };
        }
    }
    
  7. Задайте переменную среды с именем AZURE_APPCONFIG_ENDPOINT и установите ее в конечную точку хранилища конфигурации приложений. В командной строке выполните следующую команду и перезапустите командную строку, чтобы изменения вступили в силу:

    setx AZURE_APPCONFIG_ENDPOINT "<endpoint-of-your-app-configuration-store>"
    

    Перезапустите командную строку, чтобы изменение вступило в силу. Убедитесь, что он правильно задан, распечатав значение переменной среды.

  8. Создайте и запустите приложение Spring Boot с помощью Maven.

    mvn clean package
    mvn spring-boot:run
    
  9. На портале Конфигурация приложений выберите диспетчер компонентов и измените состояние флага бета-функции на "Вкл." с помощью переключателя в столбце "Включено".

    Ключ Государство
    Бета-версия Вкл
  10. перезапустите приложение. Приложение будет выводить следующее:

    Beta is enabled: true
    

Очистка ресурсов

Если вы не планируете в дальнейшем использовать ресурсы, созданные при работе с этой статьей, удалите созданную группу ресурсов, чтобы избежать расходов.

Внимание

Удаление группы ресурсов — процесс необратимый. Группа ресурсов и все содержащиеся в ней ресурсы удаляются без возможности восстановления. Будьте внимательны, чтобы случайно не удалить не те ресурсы или группу ресурсов. Если ресурсы для работы с этой статьей созданы в группе ресурсов, которая содержит другие нужные ресурсы, удалите каждый ресурс отдельно в соответствующей области ресурса, чтобы не удалять группу ресурсов.

  1. Войдите на портал Azure и выберитеГруппы ресурсов.
  2. Введите имя группы ресурсов в поле Фильтровать по имени.
  3. В списке результатов выберите имя группы ресурсов, чтобы просмотреть общие сведения.
  4. Выберите команду Удалить группу ресурсов.
  5. Подтвердите операцию удаления группы ресурсов. Введите имя группы ресурсов, которую необходимо удалить, и нажмите Удалить.

Через некоторое время группа ресурсов и все ее ресурсы будут удалены.

Следующие шаги

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