Visão geral das funções do Azure para o Azure Redis
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 em que 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 | Nível de suporte |
---|---|---|
Gatilho em submensagens de pub Redis | Acionador | Pré-visualizar |
Gatilho em listas Redis | Acionador | Pré-visualizar |
Gatilho em fluxos Redis | Acionador | Pré-visualizar |
Ler um valor armazenado em cache | Entrada | Pré-visualizar |
Gravar um valor em cache | Saída | Pré-visualizar |
Âmbito de disponibilidade para funções, acionadores e ligações
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.
Instalar a extensão
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
Instalar pacote
Crie um projeto de função Java. Você pode usar o Maven:
mvn archetype:generate -DarchetypeGroupId=com.microsoft.azure -DarchetypeArtifactId=azure-functions-archetype -DjavaVersion=8
Adicione o pacote de extensão adicionando ou substituindo o seguinte código no arquivo host.json :
{ "version": "2.0", "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle.Preview", "version": "[4.11.*, 5.0.0)" } }
Aviso
Atualmente, a extensão Redis só está disponível em uma versão do pacote de visualização.
Adicione a biblioteca Java para ligações Redis ao
pom.xml
arquivo:<dependency> <groupId>com.microsoft.azure.functions</groupId> <artifactId>azure-functions-java-library-redis</artifactId> <version>${azure.functions.java.library.redis.version}</version> </dependency>
Adicione o pacote de extensão adicionando ou substituindo o seguinte código no arquivo host.json :
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.11.*, 5.0.0)"
}
}
Aviso
Atualmente, a extensão Redis só está disponível em uma versão do pacote de visualização.
Cadeia de conexão Redis
Os gatilhos e associações do Azure Redis têm uma propriedade necessária para a cadeia de conexão de cache. A cadeia de conexão pode ser encontrada no menu Teclas de acesso no portal Azure Managed Redis ou Azure Cache for Redis. 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 três tipos de conexões em suas implantações: Cadeia de conexão, Identidade gerenciada atribuída ao sistema e Identidade gerenciada atribuída pelo usuário
Para o desenvolvimento local, você também pode usar segredos principais de serviço.
Use o appsettings
para configurar cada um dos seguintes tipos de autenticação de cliente, supondo que o Connection
foi definido como Redis
na função.
Connection string
"Redis": "<cacheName>.<region>.redis.azure.net:10000,password=..."
Identidade gerida atribuída pelo sistema
"Redis:redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis:principalId": "<principalId>"
Identidade gerida atribuída pelo utilizador
"Redis:redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis:principalId": "<principalId>",
"Redis:clientId": "<clientId>"
Segredo Principal do Serviço
As conexões que usam os Segredos da Entidade de Serviço só estão disponíveis durante o desenvolvimento local.
"Redis:redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis:principalId": "<principalId>",
"Redis:clientId": "<clientId>"
"Redis:tenantId": "<tenantId>"
"Redis:clientSecret": "<clientSecret>"