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 (visualização)

  1. Para criar uma instância do Azure Managed Redis (visualização), 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 página Novo Cache Redis, defina as configurações para o novo cache.

    Definição Escolher um valor Description
    Subscrição Drop-down e selecione sua assinatura. 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 DNS 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.
    Location Drop-down e selecione um local. O Azure Managed Redis está disponível em regiões selecionadas do Azure.
    Tipo de cache Faça uma lista suspensa e selecione a camada de desempenho e o tamanho do cache. A camada determina o desempenho da instância do Redis, enquanto o tamanho do cache determina a memória disponível para armazenar dados. Para obter orientação sobre como escolher a camada de desempenho correta, consulte Escolhendo a camada certa

    Captura de ecrã a mostrar o separador Noções básicas do Azure Managed Redis.

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

  5. Selecione Next: Avançado.

    Configure todos os 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.

    Defina a política de Clustering como Enterprise para um cache não clusterizado ou como OSS para um cache clusterizado. Para obter mais informações sobre como escolher a política de clustering, consulte Política de cluster.

    Captura de ecrã que mostra o separador Azure Managed Redis Advanced.

    Se você estiver usando a replicação geográfica ativa, ela deverá ser configurada durante a criação. Para obter mais informações, consulte Configurar a replicação geográfica ativa para instâncias do Azure Managed Redis.

    Importante

    Não é possível alterar a política de clustering de uma instância do Azure Managed Redis (visualização) 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.

  6. Selecione Next: Tags e skip.

  7. Selecione Seguinte: Rever + criar.

  8. 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. Para criar um cache, entre no portal do Azure. No menu do portal, selecione Criar um recurso.

    Sceenshot que mostra a opção Criar um recurso realçada no painel de navegação esquerdo no portal do Azure.

  2. No painel Introdução, insira Cache Redis do Azure na barra de pesquisa. Nos resultados da pesquisa, localize o Cache do Azure para Redis e selecione Criar.

    Captura de ecrã que mostra o Azure Marketplace com o Cache Redis do Azure na caixa de pesquisa e o botão Criar está realçado.

  3. No painel Novo Cache Redis, na guia Noções básicas, defina as seguintes configurações para o cache:

    Definição Ação Descrição
    Subscrição Selecione a subscrição do Azure. A assinatura a ser usada para criar a nova instância do Cache do Azure para Redis.
    Grupo de recursos Selecione um grupo de recursos ou selecione Criar novo e insira um novo nome de grupo de recursos. Um nome para o grupo de recursos no qual criar seu 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 DNS Introduza um nome exclusivo. O nome do cache deve ser uma cadeia de caracteres de 1 a 63 caracteres que contenha apenas números, letras e hífenes. O nome deve começar e terminar com um número ou letra, e não pode conter hífenes consecutivas. O nome de host da instância de cache é \<DNS name>.redis.cache.windows.net.
    Location Selecione uma localização. Uma região do Azure que está perto de outros serviços que usam seu cache.
    Cache SKU Selecione uma SKU. A SKU determina o tamanho, o desempenho e os parâmetros de recurso disponíveis para o cache. Para obter mais informações, consulte Visão geral do Cache do Azure para Redis.
    Tamanho do cache Selecione um tamanho de cache. Para obter mais informações, consulte Visão geral do Cache do Azure para 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.

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

  7. No painel Avançado, verifique ou selecione um método de autenticação com base nas seguintes informações:

    Captura de ecrã a mostrar o painel Avançado e as opções disponíveis para selecionar.

    • Por padrão, para um novo cache Básico, Standard ou Premium, a Autenticação do Microsoft Entra está habilitada e a Autenticação de Chaves de Acesso está desabilitada.
    • Para caches Basic ou Standard, você pode escolher a seleção para uma porta não-TLS.
    • Para caches Standard e Premium, você pode optar por habilitar zonas de disponibilidade. Não é possível desativar as zonas de disponibilidade após a criação do cache.
    • Para um cache Premium, defina as configurações para porta não-TLS, clustering, identidade gerenciada e persistência de dados.

    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.

  8. (Opcional) Selecione a guia Tags ou selecione Next: Tags.

  9. (Opcional) Na guia Marcas , insira um nome e um valor de tag se quiser categorizar seu recurso de cache.

  10. Selecione o botão Rever + criar.

    Na guia Revisão + criação, o Azure valida automaticamente sua configuração.

  11. Depois que a mensagem verde Validação passada for exibida, selecione Criar.

Uma nova implantação de cache ocorre ao longo de vários minutos. Você pode monitorar o progresso da implantação no painel Visão Geral do Cache do Azure para Redis. Quando Status exibe Em execução, o cache está pronto para uso.

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

Os caches Redis do Azure, exceto para as camadas Enterprise e Enterprise Flash, têm a Autenticação Microsoft Entra habilitada por padrão. As chaves de acesso estão desativadas por padrão.

Importante

A Microsoft recomenda o uso da autenticação Microsoft Entra ID para a experiência de autenticação mais segura em vez de usar senhas ou chaves de acesso. A autenticação descrita nesta seção do artigo usa chaves de acesso, que exigem um grau muito alto de confiança no aplicativo e acarreta riscos não presentes ao usar o Microsoft Entra ID. Use a abordagem neste documento somente quando a autenticação do Microsoft Entra ID não for viável.

  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 uma entidade 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 (Pré-visualização).

  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. Guarde o ficheiro.

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. Guarde o ficheiro.

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:

    Definição Valor recomendado Description
    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.

Clean up resources (Limpar 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. Confirme que não elimina acidentalmente o grupo 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.