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 o Azure Managed Redis ou o Cache Redis do Azure com o Azure Functions para criar arquiteturas otimizadas sem servidor e orientadas a eventos.
O Azure Functions fornece um modelo de programação controlado por eventos onde gatilhos e associações são recursos principais. Com o Azure Functions, você pode criar facilmente aplicativos sem servidor orientados a eventos. Os serviços Redis do Azure (Azure Managed Redis e Azure Cache for Redis) fornecem um conjunto de blocos de construção e práticas recomendadas para criar aplicativos distribuídos, incluindo microsserviços, gerenciamento de estado, mensagens pub/sub e muito mais.
O Azure Redis pode ser usado como um gatilho para o 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 qualquer arquitetura baseada em eventos.
Você pode integrar o Azure Redis e o Azure Functions para criar 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 |
Escalão de serviço | Cache do Azure para Redis (Basic, Standard, Premium, Enterprise, Enterprise Flash) | Azure Managed Redis (memória otimizada, básica, computação otimizada, flash otimizado) |
---|---|---|
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.
As funções são executadas em um processo de trabalho C# isolado. Para saber mais, consulte Guia para executar o C# Azure Functions em um processo de trabalho isolado.
Adicione a extensão ao seu projeto instalando este pacote NuGet.
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Redis
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. Você pode visualizar o conteúdo do pacote mais recente na página de lançamento dos pacotes de extensão. Para obter mais informações, consulte Pacotes de extensão do Azure Functions.
Adicione o pacote de Anotações Java Redis do Azure Functions ao seu projeto atualizando o pom.xml
arquivo 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>
Os gatilhos e associações do Redis do Azure 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 ligação Redis procura uma variável ambiental que mantém a cadeia de conexão com o nome passado para o Connection
parâmetro.
No desenvolvimento local, o Connection
pode ser definido usando o arquivo local.settings.json . Quando implantado no Azure, as configurações do aplicativo podem ser usadas.
Ao se conectar a uma instância de cache com uma função do Azure, você pode usar um destes tipos de conexões em suas implantações:
- Identidade gerenciada atribuída pelo usuário
- Identidade gerenciada atribuída ao sistema
- Cadeia de conexão
- Principal de serviço
Uma identidade mananged 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 seu serviço de cache. Para obter mais informações, consulte Usar o 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
.
- Azure Managed Redis
- Azure Cache for Redis
"Redis__redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis__principalId": "<principalId>",
"Redis__clientId": "<clientId>"