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


Обзор функций Azure для Redis Azure

В этой статье описывается, как использовать 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>"