Поделиться через


Обзор функций 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

Установка пакета

Чтобы использовать это расширение привязки в приложении, убедитесь, что файл 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.5.0.0 Эта нотация эффективно поддерживает ваше приложение в последней доступной дополнительной версии пакета расширений версии 4.x.

По возможности следует использовать последнюю версию пакета расширений и разрешить среде выполнения автоматически поддерживать последнюю дополнительную версию. Содержимое последнего пакета можно просмотреть на странице выпуска пакетов расширений. Дополнительные сведения см. в пакетах расширений функций Azure.

Обновление пакетов

Добавьте пакет заметок Redis для Функций Azure в проект, обновив pom.xml файл, чтобы добавить эту зависимость:

<dependency>
  <groupId>com.microsoft.azure.functions</groupId>
  <artifactId>azure-functions-java-library-redis</artifactId>
  <version>1.0.0</version>
</dependency>

Redis строка подключения

Триггеры и привязки Redis Azure имеют обязательное свойство, указывающее параметр приложения или имя коллекции, содержащее сведения о подключении кэша. Триггер Redis или привязка ищет переменную среды, содержащую строка подключения с именем, переданным параметруConnection.

В локальной разработке Connection можно определить с помощью файла local.settings.json. При развертывании в Azure можно использовать параметры приложения.

При подключении к экземпляру кэша с помощью функции Azure можно использовать одно из следующих типов подключений в развертываниях:

Управляемое удостоверение, назначаемое пользователем, должно быть связано с приложением-функцией, и это удостоверение также должно быть предоставлено явным разрешениям в службе кэша. Дополнительные сведения см. в разделе "Использование идентификатора Microsoft Entra для проверки подлинности кэша".

В этих примерах показано имя ключа и значение параметров приложения, необходимых для подключения к каждой службе кэша на основе типа проверки подлинности клиента, при условии, что Connection для свойства в привязке задано значение Redis.

"Redis__redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis__principalId": "<principalId>",
"Redis__clientId": "<clientId>"