Visão geral do Azure Functions para o Cache do Azure para Redis
Este artigo descreve como usar o Cache do Azure para Redis com Azure Functions para criar arquiteturas otimizadas sem servidor e controladas por eventos.
O Azure Functions fornece um modelo de programação controlado por eventos em que gatilhos e associações são os principais recursos. Com o Azure Functions, você pode facilmente criar aplicativos sem servidor controlados por eventos. O Cache do Azure para Redis fornece 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, mensagens pub/sub e muito mais.
O Cache do Azure para Redis pode ser usado como um gatilho do 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 o Cache do Azure para Redis com o Azure Functions para criar funções que reagem a eventos do Cache do Azure para Redis ou de sistemas externos.
Ação | Direção | Nível de suporte |
---|---|---|
Gatilho em mensagens de sub pub do Redis | Gatilho | Visualizar |
Gatilho em listas do Redis | Gatilho | Visualizar |
Acionar em fluxos do Redis | Gatilho | Visualizar |
Ler um valor armazenado em cache | Entrada | Visualizar |
Gravar um valor no cache | Saída | Visualizar |
Escopo de disponibilidade para acionadores e associações de funções
Camada | Basic | Standard, Premium | Enterprise, Enterprise Flash |
---|---|---|---|
Pub/Sub | Sim | Sim | Sim |
Listas | Sim | Sim | Sim |
Fluxos | Sim | Sim | Sim |
Associações | Sim | 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, confira o Guia para executar C# do Azure Functions em um processo de trabalho isolado.
Adicione a extensão ao seu projeto instalando este pacote do NuGet.
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Redis --prerelease
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 em seu arquivo host.json:
{ "version": "2.0", "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle.Preview", "version": "[4.11.*, 5.0.0)" } }
Aviso
No momento, a extensão do Redis só está disponível em uma versão do pacote de versão prévia.
Adicione a biblioteca Java das associações do Redis ao arquivo
pom.xml
:<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 em seu arquivo host.json:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.11.*, 5.0.0)"
}
}
Aviso
No momento, a extensão do Redis só está disponível em uma versão do pacote de versão prévia.
Cadeia de conexão Redis
Os gatilhos e associações do Cache do Azure para Redis têm uma propriedade necessária para a cadeia de conexão do cache. A cadeia de conexão pode ser encontrada no menu Chaves de acesso no portal do Cache do Azure para Redis. O gatilho ou associação do Redis procura uma variável de ambiente que contém a cadeia de conexão com o nome passado para o parâmetro Connection
.
No desenvolvimento local, o Connection
pode ser definido usando o arquivo local.settings.json. Quando implantadas no Azure, as configurações de 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 pelo sistema e identidade gerenciada atribuída pelo usuário
Para desenvolvimento local, você também pode usar segredos da entidade 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.
Cadeia de conexão
"Redis": "<cacheName>.redis.cache.windows.net:6380,password=..."
Identidade gerenciada atribuída pelo sistema
"Redis:redisHostName": "<cacheName>.redis.cache.windows.net",
"Redis:principalId": "<principalId>"
Identidade gerenciada atribuída pelo usuário
"Redis:redisHostName": "<cacheName>.redis.cache.windows.net",
"Redis:principalId": "<principalId>",
"Redis:clientId": "<clientId>"
Segredo da Entidade de Serviço
As conexões que usam segredos da entidade de serviço só estão disponíveis durante o desenvolvimento local.
"Redis:redisHostName": "<cacheName>.redis.cache.windows.net",
"Redis:principalId": "<principalId>",
"Redis:clientId": "<clientId>"
"Redis:tenantId": "<tenantId>"
"Redis:clientSecret": "<clientSecret>"