Partilhar via


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

  1. 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

  2. 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.

  3. 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>"