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


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

В этой статье описывается, как использовать Кэш Azure для Redis с Функции Azure для создания оптимизированных бессерверных и управляемых событиями архитектур.

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

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

Вы можете интегрировать Кэш Azure для Redis и Функции Azure для создания функций, реагирующих на события из Кэш Azure для Redis или внешних систем.

Действие Направление Уровень поддержки
Триггер в вложенных сообщениях Redis pub Триггер Предварительный просмотр
Триггер в списках Redis Триггер Предварительный просмотр
Триггер потоков Redis Триггер Предварительный просмотр
Чтение кэшированного значения Входные данные Предварительный просмотр
Запись значений в кэш Выходные данные Предварительный просмотр

Область доступности триггеров и привязок функций

Уровень Базовая Стандарт, Премиум Enterprise, Enterprise Flash
Публикация и подписка Да Да Да
Списки Да Да Да
Потоки Да Да Да
Привязки Да Да Да

Внимание

Триггеры Redis в настоящее время поддерживаются только для функций, работающих в плане Elastic Premium или выделенном плане Служба приложений.

Установка расширения

Функции выполняются в изолированном рабочем процессе C#. Дополнительные сведения см. в руководстве по запуску Функции Azure C# в изолированном рабочем процессе.

Добавьте расширение в проект, установив данный пакет NuGet.

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Redis --prerelease

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

  1. Создайте проект функции Java. Вы можете использовать Maven: mvn archetype:generate -DarchetypeGroupId=com.microsoft.azure -DarchetypeArtifactId=azure-functions-archetype -DjavaVersion=8

  2. Добавьте пакет расширений, добавив или заменив следующий код в файле host.json :

    {
      "version": "2.0",
      "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
        "version": "[4.11.*, 5.0.0)"
      }
    }
    

    Предупреждение

    Расширение Redis в настоящее время доступно только в выпуске пакета предварительной версии.

  3. Добавьте в файл библиотеку 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 для Redis триггеры и привязки имеют необходимое свойство для строка подключения кэша. Строка подключения можно найти в меню "Ключи доступа" на портале Кэш Azure для Redis. Триггер Redis или привязка ищет переменную среды, содержащую строка подключения с именем, переданным параметруConnection.

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

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

Для локальной разработки можно также использовать секреты субъекта-службы.

appsettings Используйте для настройки каждого из следующих типов проверки подлинности клиента, предполагаяConnection, что Redis он задан в функции.

Connection string

"Redis": "<cacheName>.redis.cache.windows.net:6380,password=..."

Управляемое удостоверение, назначаемое системой

"Redis:redisHostName": "<cacheName>.redis.cache.windows.net",
"Redis:principalId": "<principalId>"

Управляемое удостоверение, назначаемое пользователем

"Redis:redisHostName": "<cacheName>.redis.cache.windows.net",
"Redis:principalId": "<principalId>",
"Redis:clientId": "<clientId>"

Секрет субъекта-службы

Подключения, использующие секреты субъекта-службы, доступны только во время локальной разработки.

"Redis:redisHostName": "<cacheName>.redis.cache.windows.net",
"Redis:principalId": "<principalId>",
"Redis:clientId": "<clientId>"
"Redis:tenantId": "<tenantId>"
"Redis:clientSecret": "<clientSecret>"