Partilhar via


Guia de início rápido: usar o Redis do Azure com um aplicativo Web ASP.NET

Neste início rápido, você usa o Visual Studio 2019 para criar um aplicativo Web ASP.NET que se conecta ao Cache Redis do Azure para armazenar e recuperar dados do cache. Em seguida, você implanta o aplicativo no Serviço de Aplicativo do Azure.

Saltar para o código no GitHub

Clone o repositório https://github.com/Azure-Samples/azure-cache-redis-samples/tree/main/quickstart/aspnet no GitHub.

Pré-requisitos

Criar uma instância do Azure Managed Redis

  1. Para criar uma instância do Azure Managed Redis, entre no portal do Azure e selecione Criar um recurso.

  2. Na página Novo, na caixa de pesquisa, digite Cache do Azure para Redis.

  3. Na guia Novo Cache Redis , defina as configurações do novo cache em Noções básicas.

    Configurações Escolher um valor Descrição
    Subscrição Desça e selecione a sua subscrição. A assinatura sob a qual criar essa nova instância do Azure Managed Redis.
    Grupo de recursos Drop-down e selecione um grupo de recursos, ou selecione Criar novo e insira um novo nome de grupo de recursos. Nome do grupo de recursos no qual criar o cache e outros recursos. Ao colocar todos os recursos do seu aplicativo em um grupo de recursos, você pode facilmente gerenciá-los ou excluí-los juntos.
    Nome Insira um nome exclusivo na região. O nome do cache deve ser uma cadeia de caracteres entre 1 e 63 caracteres quando combinado com o nome da região do cache que contém apenas números, letras ou hífenes. (Se o nome do cache tiver menos de 45 caracteres, ele deverá funcionar em todas as regiões atualmente disponíveis.) O nome deve começar e terminar com um número ou letra e não pode conter hífenes consecutivos. O nome de host da instância de cache é \<DNS name\>.\<Azure region\>.redis.azure.net.
    Região Desça e selecione uma localização. O Azure Managed Redis está disponível em regiões selecionadas do Azure.
    Camada de dados Selecione In-memory para alto desempenho ou Flash para caches de baixo desempenho As camadas na memória incluem Balanced, Memory Optimized e Compute Optimized. Use a camada Flash para usar o armazenamento de dados na memória (RAM) e no disco (SSD).
    Tamanho do cache Desça e selecione um tamanho. O tamanho do cache depende da camada. O menor tamanho é um nível Balanceado. A maior camada em memória é uma camada otimizada para memória.
    Desempenho Abaixe o menu suspenso e selecione uma opção de desempenho. O desempenho depende do número de vCPUs. O número de vCPU varia de acordo com a camada. Compute Optimized tem o maior número de vCPUs.

    Para obter orientação sobre como escolher a camada de desempenho correta, consulte Escolhendo a camada certa.

    Importante

    Todos os níveis em memória que usam mais de 120 GB de armazenamento estão em visualização pública, incluindo Memory Optimized M150 e superior; Balanced B150 e superior; e Compute Optimized X150 e superior. Todos esses níveis e superiores estão em Visualização Pública.

    Todos os níveis otimizados para Flash estão em Visualização pública.

  4. Selecione Next: Networking e selecione um Ponto de extremidade público ou um ponto de extremidade privado.

  5. Selecione Next: Replicação geográfica ativa. Para usar a replicação geográfica ativa, ela deve ser habilitada durante o provisionamento. Os caches sem replicação geográfica ativa não podem ser adicionados ou ingressar em grupos de replicação geográfica ativa posteriormente. Para obter mais informações, consulte Configurar a replicação geográfica ativa para instâncias do Azure Managed Redis.

  6. Selecione a guia Avançar: Avançado .

    Configure quaisquer módulos Redis que você deseja adicionar à instância.

    Por padrão, para um novo cache gerenciado:

    • O Microsoft Entra ID está habilitado.
    • A Autenticação de Chaves de Acesso está desativada por motivos de segurança.

    Importante

    Para uma segurança ideal, recomendamos que você use o Microsoft Entra ID com identidades gerenciadas para autorizar solicitações em seu cache, se possível. A autorização usando o ID do Microsoft Entra e identidades gerenciadas oferece segurança superior e facilidade de uso em relação à autorização de chave de acesso compartilhado. Para obter mais informações sobre como usar identidades gerenciadas com seu cache, consulte Usar a ID do Microsoft Entra para autenticação de cache.

    Definir política de agrupamento

    • Utilize o Enterprise para poder utilizar o RedisSearch ou outros módulos
    • Utilize OSS para um cache distribuído.
    • Use Não agrupado (Visualização) para um cache não agrupado.

    Para obter mais informações sobre como escolher a política de clustering, consulte Política de cluster.

    Importante

    Não é possível alterar a política de clustering de uma instância do Azure Managed Redis depois de criá-la. Se você estiver usando o RediSearch, a política de cluster Enterprise será necessária e NoEviction será a única política de remoção suportada.

    Importante

    Se você estiver usando essa instância de cache em um grupo de replicação geográfica, as políticas de remoção não poderão ser alteradas após a criação da instância. Certifique-se de conhecer as políticas de remoção de seus nós principais antes de criar o cache. Para obter mais informações sobre replicação geográfica ativa, consulte Pré-requisitos de replicação geográfica ativa.

    Importante

    Não é possível alterar módulos depois de criar uma instância de cache. Os módulos devem ser habilitados no momento em que você cria uma instância do Cache do Azure para Redis. Não há nenhuma opção para habilitar a configuração de um módulo depois de criar um cache.

  7. Selecione Next: Tags e skip.

  8. Selecione Seguinte: Revisar + criar.

  9. Revise as configurações e selecione Criar.

    Leva vários minutos para a instância do Redis ser criada. Você pode monitorar o progresso na página Visão Geral do Redis Gerenciado do Azure. Quando Status é exibido como Em execução, o cache está pronto para uso.

Criar uma instância do Cache do Azure para Redis

  1. No portal do Azure, procure e selecione Cache do Azure para Redis.

  2. Na página Cache do Azure para Redis , selecione Criar>Cache do Azure para Redis.

  3. Na guia Noções básicas da página Novo Cache Redis , defina as seguintes configurações:

    • Subscrição: selecione a subscrição que pretende utilizar.
    • Grupo de recursos: selecione um grupo de recursos ou selecione Criar novo e insira um novo nome de grupo de recursos. Colocar todos os recursos do seu aplicativo no mesmo grupo de recursos permite que você os gerencie ou exclua facilmente juntos.
    • Nome: insira um nome de cache exclusivo na região. O nome deve:
      • Ser uma sequência de 1 a 63 caracteres.
      • Contêm apenas números, letras e hífenes.
      • Comece e termine com um número ou letra.
      • Não conter hífenes consecutivas.
    • Região: selecione uma região do Azure perto de outros serviços que usam seu cache.
    • SKU de cache: selecione uma SKU para determinar os tamanhos, o desempenho e os recursos disponíveis para seu cache.
    • Tamanho do cache: selecione um tamanho de cache. Para obter mais informações, consulte Visão geral do Cache do Azure para Redis.

    Captura de tela que mostra a guia Noções básicas da página Novo Cache Redis.

  4. Selecione a guia Rede ou selecione Avançar: Rede.

  5. Na guia Rede, selecione um método de conectividade a ser usado para o cache. Private Endpoint é recomendado para segurança. Se você selecionar Ponto de extremidade privado, selecione Adicionar ponto de extremidade privado e crie o ponto de extremidade privado.

  6. Selecione a guia Avançado ou selecione Avançar: Avançado.

  7. No painel Avançado , configure as seguintes opções:

    • Selecione Autenticação do Microsoft Entra ou Autenticação de Chaves de Acesso. A Autenticação do Microsoft Entra está habilitada por padrão.
    • Escolha se deseja Ativar a porta não-TLS.
    • Para um cache Premium, você pode configurar ou desabilitar zonas de disponibilidade. Não é possível desativar as zonas de disponibilidade após a criação do cache. Para um cache padrão, as zonas de disponibilidade são alocadas automaticamente. As zonas de disponibilidade não estão disponíveis para o Basic SKU.
    • Para um cache Premium, defina as configurações para contagem de réplicas, contagem de clusters e estilhaços, identidade gerenciada atribuída ao sistema e persistência de dados.

    A imagem a seguir mostra a aba Avançado para a SKU Standard.

    Captura de tela mostrando o painel Avançado para um cache de SKU padrão.

    Importante

    Use o Microsoft Entra ID com identidades gerenciadas para autorizar solicitações em seu cache, se possível. A autorização usando o ID do Microsoft Entra e a identidade gerenciada fornece melhor segurança e é mais fácil de usar do que a autorização de chave de acesso compartilhada. Para obter mais informações sobre como usar identidades gerenciadas com seu cache, consulte Usar a ID do Microsoft Entra para autenticação de cache.

  8. Opcionalmente, selecione a guia Tags ou selecione Next: Tags, e insira nomes e valores de tags para categorizar seus recursos de cache.

  9. Selecione Rever + criar e, quando a validação for aprovada, selecione Criar.

A nova implantação de cache leva vários minutos. Você pode monitorar o progresso da implantação na página Cache do Azure para Redis do portal. Quando o status do cache é exibido em execução, o cache está pronto para uso.

Usar a autenticação do Microsoft Entra ID no cache

Os caches Redis Gerenciados do Azure têm a Autenticação do Microsoft Entra habilitada por padrão.

  1. No portal do Azure, selecione o cache onde você gostaria de usar a autenticação baseada em token do Microsoft Entra.

  2. Selecione Autenticação no menu Recurso.

  3. Selecione Selecionar membro e digite o nome de um usuário válido. O usuário inserido recebe automaticamente a Política de Acesso do Proprietário de Dados por padrão quando você seleciona Salvar. Você também pode inserir uma identidade gerenciada ou um principal de serviço para se conectar à sua instância de cache.

    Captura de tela mostrando a autenticação selecionada no menu de recursos e a opção habilitar autenticação do Microsoft Entra marcada.

Para obter informações sobre como usar a ID do Microsoft Entra com a CLI do Azure, consulte as páginas de referência para identidade.

Instalar a biblioteca para usar a Autenticação de ID do Microsoft Entra

A biblioteca Azure.StackExchange.Redis contém a Microsoft usando o método de autenticação Microsoft Entra ID para se conectar aos serviços Redis do Azure usando a ID do Microsoft Entra. É aplicável a todo o Cache do Azure para Redis, Cache do Azure para Redis Enterprise e Azure Managed Redis.

  1. Abra seu projeto no Visual Studio

  2. Clique com o botão direito do mouse no projeto, escolha Gerenciar pacotes NuGet...

  3. Procure Microsoft.Azure.StackExchangeRedis

  4. Clique no botão Instalar para instalar

  5. Aceite todo o conteúdo solicitado para concluir a instalação

Conectar-se ao cache usando o Microsoft Entra ID

  1. Incluir as bibliotecas no seu código

    using Azure.Identity;
    using StackExchange.Redis
    
  2. Usando as credenciais padrão do Azure para autenticar a conexão do cliente. Isso permite que seu código use a credencial de usuário conectado ao ser executado localmente e uma identidade gerenciada do Azure ao ser executado no Azure sem alteração de código.

var configurationOptions = await ConfigurationOptions.Parse($"{_redisHostName}").ConfigureForAzureWithTokenCredentialAsync(new DefaultAzureCredential());
ConnectionMultiplexer _newConnection = await ConnectionMultiplexer.ConnectAsync(configurationOptions);
IDatabase Database = _newConnection.GetDatabase();

Para editar o arquivo web.config

  1. Edite o arquivo Web.config adicionando o seguinte conteúdo:

    <appSettings>
        <add key="RedisHostName" value="<cache-hostname-with-portnumber>"/>
    </appSettings>
    
  2. Substitua <cache-hostname> pelo nome do host do cache conforme aparece na Visão geral no menu Recurso no portal do Azure.

    Por exemplo, com o Azure Managed Redis ou as camadas Enterprise: *my-redis.eastus.azure.net:10000_

  3. Salve o arquivo.

Para obter mais informações, consulte StackExchange.Redis e o código em um repositório GitHub.

Para editar o arquivo web.config

  1. Edite o arquivo Web.config adicionando o seguinte conteúdo:

    <appSettings>
        <add key="RedisHostName" value="<cache-hostname-with-portnumber>"/>
    </appSettings>
    
  2. Substitua <cache-hostname> pelo nome do host do cache conforme aparece na Visão geral no menu Recurso no portal do Azure.

    Por exemplo, com o Cache do Azure para Redis, my-redis.eastus.azure.net:6380

  3. Salve o arquivo.

Para obter mais informações, consulte StackExchange.Redis e o código em um repositório GitHub.

Executar a aplicação localmente

Por predefinição, o projeto está configurado para alojar a aplicação localmente em IIS Express para testes e depuração.

Para executar a aplicação localmente

  1. No Visual Studio, selecione Depurar>Iniciar Depuração para criar e iniciar a aplicação localmente para testes e depuração.

  2. No navegador, selecione Cache do Azure para Teste Redis na barra de navegação.

  3. No exemplo a seguir, a Message chave anteriormente tinha um valor armazenado em cache, que foi definido usando o console do Cache do Azure para Redis no portal. A aplicação atualizou esse valor em cache. A aplicação também executou os comandos PING e CLIENT LIST.

    Captura de tela do teste simples concluído localmente.

Publicar e executar no Azure

Depois de ter testado com êxito a aplicação localmente, pode implementar a aplicação no Azure e executá-la na cloud.

Para publicar a aplicação no Azure

  1. No Visual Studio, clique com o botão direito do rato no nó do projeto no Explorador de Soluções. Em seguida, selecione Publicar.

    Captura de ecrã a mostrar o botão de publicação.

  2. Selecione Serviço de Aplicações do Microsoft Azure, selecione Criar Novo e, em seguida, selecione Publicar.

    Captura de tela mostrando como publicar no Serviço de Aplicativo.

  3. Na caixa de diálogo Criar Serviço de Aplicações, faça as seguintes alterações:

    Configurações Valor recomendado Descrição
    Nome da aplicação Utilize a predefinição. O nome do aplicativo é o nome do host do aplicativo quando implantado no Azure. O nome pode ter um sufixo de carimbo de data/hora adicionado ao mesmo para torná-lo exclusivo, caso seja necessário.
    Subscrição Escolha a sua subscrição do Azure. Esta subscrição é debitada relativamente a quaisquer custos de alojamento relacionados. Se tiver várias subscrições do Azure, verifique se a subscrição pretendida está selecionada.
    Grupo de recursos Utilize o mesmo grupo de recursos onde criou a cache (por exemplo, TestResourceGroup). O grupo de recursos ajuda-o a gerir todos os recursos como um grupo. Mais tarde, quando pretender eliminar a aplicação, basta apenas eliminar o grupo.
    Plano do Serviço de Aplicações Selecione Novo e, em seguida, crie um novo plano do Serviço de Aplicações com o nome TestingPlan.
    Utilize a mesma Localização que serviu para criar a cache.
    Escolha Gratuito para o tamanho.
    Um plano de Serviço de Aplicações define um conjunto de recursos de computação para a execução da aplicação Web.

    Captura de tela mostrando a caixa de diálogo Serviço de Aplicativo.

  4. Depois de configurar as definições de alojamento do Serviço de Aplicações, selecione Criar.

  5. Monitorize a janela Saída no Visual Studio para ver o estado de publicação. Depois que o aplicativo é publicado, a URL do aplicativo é registrada:

    Informações de publicação de captura de tela no painel de saída.

Adicionar a definição da aplicação à cache

Depois que o novo aplicativo for publicado, adicione uma nova configuração do aplicativo. Esta definição é utilizada para armazenar as informações de ligação da cache.

Para adicionar a definição de aplicação

  1. Para localizar o novo aplicativo que você criou, digite o nome do aplicativo na barra de pesquisa na parte superior do portal do Azure.

    Captura de ecrã a mostrar como localizar a aplicação no portal do Azure.

  2. Adicione uma nova definição de aplicação denominada CacheConnection para a aplicação utilizar para se ligar à cache. Use o mesmo valor para RedisHostName o qual você configurou no arquivo web.config .

Executar a aplicação no Azure

  1. No browser, aceda ao URL da aplicação. O URL é apresentado nos resultados da operação de publicação na janela de saída do Visual Studio. A URL também é fornecida no portal do Azure na página de visão geral do aplicativo que você criou.

  2. Selecione Cache do Azure para Teste Redis na barra de navegação para testar o acesso ao cache como fez com a versão local.

Limpeza de recursos

Se quiser continuar a usar os recursos criados neste artigo, mantenha o grupo de recursos.

Caso contrário, se tiver terminado os recursos, pode eliminar o grupo de recursos do Azure que criou para evitar cobranças.

Importante

A eliminação de um grupo de recursos é irreversível. Quando elimina um grupo de recursos, todos os recursos nele contidos são eliminados permanentemente. Certifique-se de que não elimina acidentalmente grupos de recursos ou recursos errados. Se você criou os recursos dentro de um grupo de recursos existente que contém recursos que deseja manter, poderá excluir cada recurso individualmente em vez de excluir o grupo de recursos.

Para eliminar um grupo de recursos

  1. Inicie sessão no Portal do Azure e selecione Grupos de recursos.

  2. Selecione o grupo de recursos que pretende eliminar.

    Se houver muitos grupos de recursos, use a caixa Filtrar para qualquer campo... , digite o nome do grupo de recursos criado para este artigo. Selecione o grupo de recursos na lista de resultados.

    Captura de ecrã a mostrar uma lista de grupos de recursos a eliminar no painel de trabalho.

  3. Selecione Eliminar grupo de recursos.

  4. É-lhe pedido que confirme a eliminação do grupo de recursos. Escreva o nome do grupo de recursos para confirmar e, em seguida, selecione Eliminar.

    Captura de tela mostrando um formulário que requer o nome do recurso para confirmar a exclusão.

Após alguns instantes, o grupo de recursos e todos os respetivos recursos são eliminados.