Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается, как использовать Azure Managed Redis или Azure Cache for Redis с Azure Functions для создания оптимизированных бессерверных и управляемых событиями архитектур.
Azure Functions предоставляет модель программирования на основе событий, в которой триггеры и привязки являются ключевыми функциями. С помощью Azure Functions можно легко создавать бессерверные приложения на основе событий. Azure службах Redis (Azure Managed Redis и Azure Cache for Redis) предоставляют набор стандартных блоков и рекомендаций по созданию распределенных приложений, включая микрослужбы, управление состоянием, pub/sub messaging и многое другое.
Azure Redis можно использовать в качестве триггера для Azure Functions, что позволяет инициировать бессерверный рабочий процесс. Эта функция может быть очень полезной в архитектурах данных, таких как кэш за записью или любые архитектуры на основе событий.
Вы можете интегрировать Azure Redis и Azure Functions для создания функций, которые реагируют на события из Azure Redis или внешних систем.
| Действие | Направление |
|---|---|
| Триггер в вложенных сообщениях Redis pub | Триггер |
| Триггер в списках Redis | Триггер |
| Триггер потоков Redis | Триггер |
| Чтение кэшированного значения | Входные данные |
| Запись значений в кэш | Выходные данные |
Область доступности триггеров и привязок функций
| Уровень | Azure Cache for Redis (Базовый, Стандартный, Премиум, Enterprise, Enterprise Flash) | Azure управляемый Redis (оптимизированная для памяти, базовая, оптимизированная для вычислений, оптимизированная для флэш-памяти) |
|---|---|---|
| Публикация и подписка | Да | Да |
| Списки | Да | Да |
| Потоки | Да | Да |
| Привязки | Да | Да |
Внимание
Триггеры Redis в настоящее время поддерживаются только для функций, работающих в плане Elastic Premium или выделенном плане Служба приложений.
Установка расширения
Функции выполняются в изолированном рабочем процессе C#. Дополнительные сведения см. в статье Guide для запуска Azure Functions C# в изолированном рабочем процессе.
Добавьте расширение в проект, установив пакет NuGet this NuGet.
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Redis
Установка пакета
Чтобы использовать это расширение привязки в приложении, убедитесь, что файл host.json в корне проекта содержит следующую extensionBundle ссылку:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
В этом примере значение version указывает хосту функций использовать версию пакета, которая как минимум [4.0.0, 5.0.0), но меньше 4.0.0, охватывая все потенциальные версии 4.x. Эта нотация эффективно поддерживает ваше приложение в последней доступной дополнительной версии пакета расширений версии 4.x.
По возможности следует использовать последнюю версию пакета расширений и разрешить среде выполнения автоматически поддерживать последнюю дополнительную версию. Содержимое последнего пакета можно просмотреть на странице выпуска пакетов extension. Дополнительные сведения см. в пакетах расширений Azure Functions.
Обновление пакетов
Добавьте пакет заметок Redis Azure Functions Java, обновив файл pom.xml, чтобы добавить эту зависимость:
<dependency>
<groupId>com.microsoft.azure.functions</groupId>
<artifactId>azure-functions-java-library-redis</artifactId>
<version>1.0.0</version>
</dependency>
Redis connection string
Azure триггеры и привязки Redis имеют необходимое свойство, указывающее параметр приложения или имя коллекции, содержащее сведения о подключении кэша. Триггер Redis или привязка ищет переменную среды, содержащую connection string с именем, переданным параметру Connection.
В локальной разработке Connection можно определить с помощью файла local.settings.json. При развертывании в Azure можно использовать параметры application.
При подключении к экземпляру кэша с функцией Azure можно использовать одно из следующих подключений в развертываниях:
- Пользовательское управляемое удостоверение
- Системно назначенная управляемая идентичность
- Строка соединения
- Управляющий службой
Управляемое удостоверение, назначаемое пользователем, должно быть связано с приложением-функцией, и это удостоверение также должно быть предоставлено явным разрешениям в службе кэша. Дополнительные сведения см. в разделе Use Microsoft Entra ID для проверки подлинности кэша.
В этих примерах показано имя ключа и значение параметров приложения, необходимых для подключения к каждой службе кэша на основе типа проверки подлинности клиента, при условии, что Connection для свойства в привязке задано значение Redis.
"Redis__redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis__principalId": "<principalId>",
"Redis__clientId": "<clientId>"