Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo descreve como usar Azure Managed Redis ou Azure Cache for Redis com Azure Functions para criar arquiteturas otimizadas serverless e orientadas a eventos.
O Azure Functions fornece um modelo de programação orientado a eventos, onde triggers e bindings são funcionalidades essenciais. Com o Azure Functions, pode facilmente construir aplicações serverless orientadas a eventos. Os serviços Azure Redis (Azure Managed Redis e Azure Cache for Redis) fornecem um conjunto de blocos de construção e boas práticas para construir aplicações distribuídas, incluindo microsserviços, gestão de estados, mensagens pub/sub e mais.
O Azure Redis pode ser usado como gatilho para o Azure Functions, permitindo-lhe iniciar um fluxo de trabalho serverless. Essa funcionalidade pode ser altamente útil em arquiteturas de dados, como um cache write-behind ou qualquer arquitetura baseada em eventos.
Pode integrar o Azure Redis e o Azure Functions para construir funções que reagem a eventos do Azure Redis ou de sistemas externos.
| Ação | Direção |
|---|---|
| Gatilho em submensagens de pub Redis | Acionador |
| Gatilho em listas Redis | Acionador |
| Gatilho em fluxos Redis | Acionador |
| Ler um valor armazenado em cache | Entrada |
| Gravar um valor em cache | Saída |
Âmbito de disponibilidade para funções, acionadores e ligações
| Escalão de serviço | Azure Cache for Redis (Básico, Standard, Premium, Enterprise, Enterprise Flash) | Azure Managed Redis (Memória Otimizada, Básica, Compute Optimized, Flash Optimized) |
|---|---|---|
| Pub/Sub | Sim | Sim |
| Listas | Sim | Sim |
| Fluxos | Sim | Sim |
| Enlaces | Sim | Sim |
Importante
Atualmente, os gatilhos Redis são suportados apenas para funções executadas 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 Guia para executar C# Azure Functions num processo de trabalho isolado.
Adicione a extensão ao seu projeto instalando this NuGet package.
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Redis
Instalar pacote
Para poder usar essa extensão de associação em seu aplicativo, certifique-se de que o arquivo dehost.json na raiz do seu 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 de instrui o host Functions a usar uma versão de [4.0.0, 5.0.0) pacote que seja pelo menos 4.0.0 , mas 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 mais recente do pacote de extensão e permitir que o tempo de execução mantenha automaticamente a versão secundária mais recente. Pode ver o conteúdo do pacote mais recente na página de lançamento extension bundles. Para mais informações, veja Azure Functions pacotes de extensão.
Atualizar pacotes
Adicione o pacote Redis Annotations Azure Functions Java ao seu projeto atualizando o ficheiro pom.xml para adicionar esta 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
Os gatilhos e ligações do Azure Redis têm uma propriedade obrigatória que indica a definição da aplicação ou nome da coleção que contém informação de ligação à cache. O gatilho ou ligação Redis procura uma variável ambiental que detém o 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 implementado no Azure, podem ser usadas
Ao ligar-se a uma instância de cache com uma função do Azure, pode usar um destes tipos de ligações nas suas implementações:
- Identidade gerenciada atribuída pelo usuário
- Identidade gerenciada atribuída ao sistema
- Cadeia de conexão
- Serviço principal
Uma identidade gerenciada atribuída pelo usuário deve ser associada ao seu aplicativo de função e essa identidade também deve receber permissões explícitas no serviço de cache. Para mais informações, veja Use Microsoft Entra ID para autenticação de cache.
Estes exemplos mostram o nome da chave e o valor das configurações do 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>"