Обзор функций Azure для Azure Redis
В этой статье описывается, как использовать управляемый redis или Кэш Azure для Redis Azure с Функции Azure для создания оптимизированных бессерверных и управляемых событиями архитектур.
Функции Azure предоставить модель программирования на основе событий, в которой триггеры и привязки являются ключевыми функциями. С помощью Функции Azure можно легко создавать бессерверные приложения на основе событий. Службы Redis Azure (Управляемый Redis Azure и Кэш Azure для Redis) предоставляют набор стандартных блоков и рекомендаций по созданию распределенных приложений, включая микрослужбы, управление состояниями, паб или вложенные сообщения и многое другое.
Azure Redis можно использовать в качестве триггера для Функции Azure, что позволяет инициировать бессерверный рабочий процесс. Эта функция может быть очень полезной в архитектурах данных, таких как кэш за записью или любые архитектуры на основе событий.
Вы можете интегрировать Azure Redis и Функции Azure для создания функций, которые реагируют на события из Azure Redis или внешних систем.
Действие | Направление | Уровень поддержки |
---|---|---|
Триггер в вложенных сообщениях Redis pub | Триггер | Предварительный просмотр |
Триггер в списках Redis | Триггер | Предварительный просмотр |
Триггер потоков Redis | Триггер | Предварительный просмотр |
Чтение кэшированного значения | Входные данные | Предварительный просмотр |
Запись значений в кэш | Выходные данные | Предварительный просмотр |
Уровень | Кэш Azure для Redis (Базовый, Стандартный, Премиум, Enterprise, Enterprise Flash) | Управляемый Redis Azure (оптимизированная для памяти, базовая, оптимизированная для вычислений, оптимизированная для флэш-памяти) |
---|---|---|
Публикация и подписка | Да | Да |
Списки | Да | Да |
Потоки | Да | Да |
Привязки | Да | Да |
Важно!
Триггеры Redis в настоящее время поддерживаются только для функций, работающих в плане Elastic Premium или выделенном плане Служба приложений.
Функции выполняются в изолированном рабочем процессе C#. Дополнительные сведения см. в руководстве по запуску Функции Azure C# в изолированном рабочем процессе.
Добавьте расширение в проект, установив данный пакет NuGet.
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Redis
Создайте проект функции Java. Вы можете использовать Maven:
mvn archetype:generate -DarchetypeGroupId=com.microsoft.azure -DarchetypeArtifactId=azure-functions-archetype -DjavaVersion=8
Добавьте пакет расширений, добавив или заменив следующий код в файле host.json :
{ "version": "2.0", "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle.Preview", "version": "[4.11.*, 5.0.0)" } }
Предупреждение
Расширение Redis в настоящее время доступно только в выпуске пакета предварительной версии.
Добавьте в файл библиотеку Java для привязок
pom.xml
Redis:<dependency> <groupId>com.microsoft.azure.functions</groupId> <artifactId>azure-functions-java-library-redis</artifactId> <version>${azure.functions.java.library.redis.version}</version> </dependency>
Добавьте пакет расширений, добавив или заменив следующий код в файле host.json :
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.11.*, 5.0.0)"
}
}
Предупреждение
Расширение Redis в настоящее время доступно только в выпуске пакета предварительной версии.
Триггеры и привязки Redis Azure имеют необходимое свойство для строка подключения кэша. Строка подключения можно найти в меню ключей доступа на портале Azure Managed Redis или Кэш Azure для Redis. Триггер Redis или привязка ищет переменную среды, содержащую строка подключения с именем, переданным параметруConnection
.
В локальной разработке Connection
можно определить с помощью файла local.settings.json. При развертывании в Azure можно использовать параметры приложения.
При подключении к экземпляру кэша с помощью функции Azure в развертываниях можно использовать три типа подключений: строку подключения, управляемое удостоверение, назначаемое системой, и управляемое удостоверение, назначаемое пользователем.
Для локальной разработки можно также использовать секреты субъекта-службы.
appsettings
Используйте для настройки каждого из следующих типов проверки подлинности клиента, предполагаяConnection
, что Redis
он задан в функции.
"Redis": "<cacheName>.<region>.redis.azure.net:10000,password=..."
"Redis:redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis:principalId": "<principalId>"
"Redis:redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis:principalId": "<principalId>",
"Redis:clientId": "<clientId>"
Подключения, использующие секреты субъекта-службы, доступны только во время локальной разработки.
"Redis:redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis:principalId": "<principalId>",
"Redis:clientId": "<clientId>"
"Redis:tenantId": "<tenantId>"
"Redis:clientSecret": "<clientSecret>"