Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве показано, как включить динамические обновления конфигурации в приложении "Функции Azure". Он развивает возможности приложения "Функции Azure", представленного в начальных руководствах. Прежде чем продолжить, сначала завершите создание приложения Функций Azure с помощью конфигурации приложений Azure .
В этом руководстве описано, как:
- Настройте динамическое обновление конфигурации для приложения "Функции Azure".
- Включите автоматическое обновление конфигурации с помощью промежуточного программного обеспечения для конфигурации приложений.
- Используйте последнюю конфигурацию в вызовах функций, когда изменения происходят в хранилище конфигурации приложений.
Предпосылки
- Завершите краткое руководство по созданию приложения Azure Functions с помощью Azure App Configuration
Повторная загрузка данных из App Configuration
Поставщик .NET конфигурации приложений Azure поддерживает кэширование и динамическое обновление параметров конфигурации на основе действий приложения. В этом разделе вы конфигурируете поставщика для динамического обновления настроек и включаете автоматическое обновление конфигурации с помощью промежуточного ПО для обновления конфигурации приложений Microsoft.Azure.AppConfiguration.Functions.Worker, при каждом выполнении функции.
Примечание.
Конфигурацию приложений Azure можно использовать с функциями Azure в изолированной рабочей модели или в модели внутрипроцессной. В этом руководстве в качестве примера используется изолированная рабочая модель. Полные примеры кода для обеих моделей можно найти в репозитории GitHub конфигурации приложений Azure.
Откройте файл Program.cs и обновите вызов на
AddAzureAppConfiguration, добавив методConfigureRefresh. Этот метод настраивает условия обновления параметров конфигурации, включая указание ключей для отслеживания и интервала между проверками обновления.// Connect to Azure App Configuration builder.Configuration.AddAzureAppConfiguration(options => { Uri endpoint = new(Environment.GetEnvironmentVariable("AZURE_APPCONFIG_ENDPOINT") ?? throw new InvalidOperationException("The environment variable 'AZURE_APPCONFIG_ENDPOINT' is not set or is empty.")); options.Connect(endpoint, new DefaultAzureCredential()) // Load all keys that start with `TestApp:` and have no label .Select("TestApp:*") // Reload configuration if any selected key-values have changed. // Use the default refresh interval of 30 seconds. It can be overridden via AzureAppConfigurationRefreshOptions.SetRefreshInterval. .ConfigureRefresh(refreshOptions => { refreshOptions.RegisterAll(); }); });Вы вызываете
RegisterAllметод, чтобы указать поставщику конфигурации приложений перезагрузить всю конфигурацию при обнаружении изменения в любом из выбранных значений ключей (начиная с TestApp: и без метки). Дополнительные сведения об изменениях конфигурации мониторинга см. в рекомендациях по обновлению конфигурации.По умолчанию интервал обновления имеет значение 30 секунд. Этот интервал можно настроить, вызвав
AzureAppConfigurationRefreshOptions.SetRefreshIntervalметод.Обновите файл Program.cs, чтобы включить автоматическое обновление конфигурации при каждом выполнении функции, добавив промежуточное ПО для конфигурации приложений:
// Connect to Azure App Configuration builder.Configuration.AddAzureAppConfiguration(options => { // Omitted the code added in the previous step. }); // Add Azure App Configuration middleware to the service collection. builder.Services.AddAzureAppConfiguration() // Use Azure App Configuration middleware for dynamic configuration refresh. builder.UseAzureAppConfiguration(); builder.ConfigureFunctionsWebApplication(); builder.Build().Run();
Локальное тестирование функции
Установите переменную среды .
Установите переменную среды с именем AZURE_APPCONFIG_ENDPOINT на значение конечной точки вашего хранилища конфигураций приложений, найденной в разделе Обзор вашего хранилища в портале Azure.
Если вы используете командную строку Windows, выполните следующую команду и перезапустите командную строку, чтобы изменения вступили в силу:
setx AZURE_APPCONFIG_ENDPOINT "<endpoint-of-your-app-configuration-store>"Если вы используете PowerShell, выполните следующую команду:
$Env:AZURE_APPCONFIG_ENDPOINT = "<endpoint-of-your-app-configuration-store>"Если вы используете macOS или Linux, выполните следующую команду:
export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'Чтобы протестировать функцию, нажмите клавишу F5. При появлении запроса примите запрос из Visual Studio, чтобы скачать и установить средства Azure Functions Core (CLI ). Кроме того, возможно, вам понадобиться включить исключение брандмауэра, чтобы инструменты могли обрабатывать HTTP-запросы.
Скопируйте URL-адрес функции из выходных данных среды выполнения Функций Azure.
Вставьте URL-адрес HTTP-запроса в адресную строку браузера. На следующем рисунке показан ответ в браузере на локальный запрос GET, возвращаемый функцией.
Выберите хранилище конфигурации приложений на портале Azure и обновите значение следующего ключа в обозревателе конфигураций.
Ключ Ценность TestApp:Settings:Message Данные из конфигурации приложений Azure — обновлены Обновите браузер несколько раз. После прохождения интервала обновления по умолчанию в 30 секунд на странице отображается обновленное значение, полученное из приложения "Функции Azure".
Очистка ресурсов
Если вы не планируете в дальнейшем использовать ресурсы, созданные при работе с этой статьей, удалите созданную группу ресурсов, чтобы избежать расходов.
Это важно
Удаление группы ресурсов — процесс необратимый. Группа ресурсов и все содержащиеся в ней ресурсы удаляются без возможности восстановления. Будьте внимательны, чтобы случайно не удалить не те ресурсы или группу ресурсов. Если ресурсы для работы с этой статьей созданы в группе ресурсов, которая содержит другие нужные ресурсы, удалите каждый ресурс отдельно в соответствующей области ресурса, чтобы не удалять группу ресурсов.
- Войдите на портал Azure и выберитеГруппы ресурсов.
- Введите имя группы ресурсов в поле Фильтровать по имени.
- В списке результатов выберите имя группы ресурсов, чтобы просмотреть общие сведения.
- Выберите команду Удалить группу ресурсов.
- Подтвердите операцию удаления группы ресурсов. Введите имя группы ресурсов, которую необходимо удалить, и нажмите Удалить.
Через некоторое время группа ресурсов и все ее ресурсы будут удалены.
Дальнейшие действия
В этом руководстве вы включили приложение Функций Azure для динамического обновления параметров конфигурации из конфигурации приложений.
Чтобы узнать, как использовать флаги функций из конфигурации приложений Azure в приложении "Функции Azure", перейдите к следующему руководству.
Чтобы узнать, как использовать управляемое удостоверение Azure для упрощения доступа к конфигурации приложений, перейдите к следующему руководству.