Compartilhar via


Visão geral das funções de Azure para Azure Redis

Este artigo descreve como usar Azure Redis Gerenciados ou Azure Cache for Redis com Azure Functions para criar arquiteturas otimizadas sem servidor e orientadas a eventos.

Azure Functions fornece um modelo de programação controlado por eventos em que gatilhos e associações são os principais recursos. Com Azure Functions, você pode facilmente criar aplicativos sem servidor controlados por eventos. Azure serviços Redis (Azure Redis Gerenciados e Azure Cache for Redis) fornecem um conjunto de blocos de construção e práticas recomendadas para a criação de aplicativos distribuídos, incluindo microsserviços, gerenciamento de estado, pub/sub-mensagens e muito mais.

Azure Redis pode ser usado como um gatilho para Azure Functions, permitindo que você inicie um fluxo de trabalho sem servidor. Essa funcionalidade pode ser altamente útil em arquiteturas de dados, como um cache write-behind ou arquiteturas baseadas em eventos.

Você pode integrar Azure Redis e Azure Functions para criar funções que reagem a eventos de Azure Redis ou sistemas externos.

Ação Direção
Gatilho em mensagens de sub pub do Redis Gatilho
Gatilho em listas do Redis Gatilho
Acionar em fluxos do Redis Gatilho
Ler um valor armazenado em cache Entrada
Gravar um valor no cache Saída

Escopo de disponibilidade para acionadores e associações de funções

Camada Azure Cache for Redis (Basic, Standard, Premium, Enterprise, Enterprise Flash) Azure Redis Gerenciados (Otimizado para Memória, Básico, Otimizado para Computação, Otimizado para Flash)
Pub/Sub Sim Sim
Listas Sim Sim
Fluxos Sim Sim
Associações Sim Sim

Importante

Atualmente, os gatilhos do Redis só têm suporte para funções em execução em um plano Elastic Premium ou em um plano dedicado do Serviço de Aplicativo.

Instalar a extensão

As funções são executadas em um processo de trabalho C# isolado. Para saber mais, consulte Guide para executar Azure Functions C# em um processo de trabalho isolado.

Adicione a extensão ao projeto instalando este pacote NuGet.

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

Instalar pacote

Para poder usar essa extensão de associação em seu aplicativo, verifique se o arquivo host.json na raiz do projeto contém esta extensionBundle referência:

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

Neste exemplo, o version valor instrui o host do [4.0.0, 5.0.0) Functions a usar uma versão de pacote pelo menos 4.0.0 menor que 5.0.0, que inclui todas as versões potenciais do 4.x. Essa notação mantém efetivamente seu aplicativo na versão secundária mais recente disponível do pacote de extensão v4.x.

Quando possível, você deve usar a versão principal do pacote de extensão mais recente e permitir que o runtime mantenha automaticamente a versão secundária mais recente. Você pode exibir o conteúdo do pacote mais recente na página de lançamento de pacotes extension. Para obter mais informações, consulte Azure Functions pacotes de extensão.

Atualizar pacotes

Adicione o pacote Azure Functions Java Redis Annotations ao seu projeto atualizando o arquivo pom.xml para adicionar essa dependência:

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

Redis connection string

Azure gatilhos e associações redis têm uma propriedade necessária que indica a configuração do aplicativo ou o nome da coleção que contém informações de conexão de cache. O gatilho ou associação Redis procura uma variável ambiental que contém a connection string com o nome passado para o parâmetro Connection.

No desenvolvimento local, o Connection pode ser definido usando o arquivo local.settings.json. Quando implantado em Azure, as configurações de application podem ser usadas.

Ao se conectar a uma instância de cache com uma função Azure, você pode usar um destes tipos de conexões em suas implantações:

Uma identidade gerenciada atribuída pelo usuário deve ser associada ao seu aplicativo de funções e essa identidade também deve receber permissões explícitas em seu serviço de cache. Para obter mais informações, consulte Use Microsoft Entra ID para autenticação de cache.

Estes exemplos mostram o nome da chave e o valor das configurações de aplicativo necessárias para se conectar a cada serviço de cache com base no tipo de autenticação do cliente, supondo que a Connection propriedade na associação esteja definida como Redis.

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