Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste Início Rápido, você incorporará o Redis Gerenciado do Azure ou o Cache do Azure para Redis em um script Python para ter acesso a um cache seguro e dedicado acessível de qualquer aplicativo no Azure.
Pular para o código no GitHub
Se você quiser pular diretamente para o código, confira o Guia de início rápido do Python no GitHub.
Pré-requisitos
- Assinatura do Azure - criar uma gratuitamente
- Python 3
- Para macOS ou Linux, baixe de python.org.
- Para Windows 11, use a Windows Store.
Criar uma instância do Redis Gerenciado pelo Azure
Para criar uma instância do Redis Gerenciado do Azure, entre no portal do Azure e selecione Criar um recurso.
Na página Novo, digite Cache do Azure para Redis na caixa de pesquisa.
Na guia Novo Cache Redis, configure as definições do novo cache em Configurações Básicas.
Configurações Escolher um valor Descrição Subscrição Clique na lista suspensa e selecione sua assinatura. A assinatura sob a qual essa nova instância do Redis Gerenciado do Azure será criada. Grupo de recursos Clique na lista suspensa e selecione um grupo de recursos ou selecione Criar e insira um novo nome de grupo de recursos. Nome do grupo de recursos no qual o cache e outros recursos serão criados. Ao colocar todos os seus recursos de aplicativos em um só grupo de recursos, você pode gerenciá-los ou excluí-los ao mesmo tempo com facilidade. Nome Insira um nome que seja exclusivo na região. O nome do cache deve conter de 1 a 63 caracteres quando combinado com o nome da região do cache que contém apenas números, letras ou hifens. (Se o nome do cache tiver menos de 45 caracteres, ele deverá funcionar em todas as regiões disponíveis no momento.) O nome precisa começar e terminar com um número ou uma letra e não pode conter hifens consecutivos. O nome do host da instância de cache é \<DNS name\>.\<Azure region\>.redis.azure.net
.Região Clique na lista suspensa e selecione uma localização. O Redis Gerenciado do Azure está disponível em regiões selecionadas do Azure. Camada de dados Selecione Na memória para alto desempenho ou Flash para caches de desempenho mais baixo As camadas na memória incluem Balanceamento, Otimização de Memória e Otimização de Computação. Use a camada Flash para usar o armazenamento de dados na memória (RAM) e no disco (SSD). Tamanho do cache Selecione no menu suspenso um tamanho. O tamanho do cache depende da camada. O menor tamanho é uma camada Balanceada. O tamanho da maior camada na memória é uma camada Otimizada para Memória. Desempenho Solte e selecione uma preferência de desempenho. O desempenho depende do número de vCPUs. O número de vCPU varia de acordo com a camada. A Computação Otimizada tem a maioria das vCPUs. Para obter orientação sobre como escolher a camada de desempenho certa, consulte Escolhendo a camada certa.
Importante
Todas as camadas na memória que usam mais de 120 GB de armazenamento estão em Visualização Pública, incluindo M150 otimizado para memória e superior; B150 balanceado e superior; e Computação Otimizada X150 e superior. Todas essas camadas e superiores estão na Visualização Pública.
Todas as camadas otimizadas para Flash estão na Visualização Pública.
Selecione Avançar: Rede e selecione um ponto de extremidade público ou ponto de extremidade privado.
Selecione Avançar: Replicação geográfica ativa. Para usar a replicação geográfica ativa, ela deve ser habilitada durante o provisionamento. Caches sem replicação geográfica ativa não podem ser adicionados ou ingressados em grupos ativos de replicação geográfica posteriormente. Para obter mais informações, confira Configurar a replicação geográfica ativa para instâncias do Azure Managed Redis.
Selecione a guia Avançar: Avançado .
Configure todos os módulos Redis que você deseja adicionar à instância.
Por padrão, para um cache gerenciado novo:
- O Microsoft Entra ID está habilitado.
- Autenticação de Chaves de Acesso está desabilitada por motivos de segurança.
Importante
Para otimizar a segurança, recomendamos usar o Microsoft Entra ID com identidades gerenciadas a fim de autorizar solicitações no cache, se possível. A autorização usando a ID do Microsoft Entra e identidades gerenciadas fornece segurança superior e facilidade de uso sobre a 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 a política de clustering:
- Usar o Enterprise para usar o RedisSearch ou outros módulos
- Use OSS para um cache em cluster.
- Use Non-clustered (Versão Prévia) para um cache não clusterizado.
Para obter mais informações sobre como escolher Política de cluster, veja Política de cluster.
Importante
Você não pode alterar a política de clustering de uma instância do Azure Managed Redis depois de criá-la. Caso esteja usando o RediSearch, a política de cluster do Enterprise será necessária e
NoEviction
será a única política de remoção com suporte.Importante
Caso esteja 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. Lembre-se saber sobre as políticas de remoção dos nós primários antes de criar o cache. Para saber mais sobre a replicação geográfica ativa, confira Pré-requisitos da 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ê criar uma instância de 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.
Selecione Avançar: Marcas e ignore.
Selecione Avançar: Revisar + criar.
Examine as configurações e selecione Criar.
A criação da instância do Redis leva vários minutos. O progresso pode ser monitorado na página Visão geral do Redis gerenciado do Azure. Quando o Status for mostrado como Em execução, o cache estará pronto para uso.
Criar uma instância de Cache do Azure para Redis
No portal do Azure, pesquise e selecione o Cache do Azure para Redis.
Na página Cache do Azure para Redis , selecione Criar>Cache do Azure para Redis.
Na guia Noções básicas da página Novo Cache Redis , defina as seguintes configurações:
- Assinatura: selecione a assinatura a ser utilizada.
- 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 aplicativo no mesmo grupo de recursos permite que você os gerencie ou exclua facilmente.
-
Nome: insira um nome de cache exclusivo na região. O nome deve:
- Seja uma cadeia de caracteres de 1 a 63 caracteres.
- Contêm apenas números, letras e hifens.
- Inicie e termine com um número ou uma letra.
- Não deve conter hifens consecutivos.
- Região: selecione uma região do Azure perto de outros serviços que usam seu cache.
- SKU de cache: selecione um SKU para determinar os tamanhos, o desempenho e os recursos disponíveis para o cache.
- Tamanho do cache: selecione um tamanho de cache. Para obter mais informações, consulte Visão geral do Cache do Azure para Redis.
Selecione a guia Rede ou selecione Avançar: Rede.
Na guia Rede, selecione um método de conectividade a ser usado para o cache. O Ponto de Extremidade Privado é recomendado para segurança. Se você selecionar ponto de extremidade privado, selecione Adicionar ponto de extremidade privado e crie o ponto de extremidade privado.
Selecione a guia Avançado ou selecione Avançar: Avançado.
No painel Avançado , configure as seguintes opções:
- Selecione Autenticação do Microsoft Entra ou Autenticação por Chaves de Acesso. A Autenticação do Microsoft Entra está habilitada por padrão.
- Escolha se deseja habilitar a porta não TLS.
- Para um cache Premium, você pode configurar ou desabilitar zonas de disponibilidade. Não é possível desabilitar zonas de disponibilidade após a criação do cache. Para um cache Standard, as zonas de disponibilidade são alocadas automaticamente. As zonas de disponibilidade não estão disponíveis para o SKU Básico.
- Para um cache Premium, configure as configurações para contagem de réplicas, contagem de clusters e contagem de fragmentos, identidade gerenciada atribuída pelo sistema e persistência de dados.
A imagem a seguir mostra a guia Avançado para o SKU Standard.
Importante
Use o Microsoft Entra ID com identidades gerenciadas para autorizar solicitações no cache, se possível. A autorização usando a 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 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.
Opcionalmente, selecione a guia Marcas ou selecione Avançar: Marcas e insira nomes e valores de marca para categorizar os recursos de cache.
Selecione Examinar + criar e, depois que 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 portal do Cache do Azure para Redis. Quando o status do cache é exibido em execução, o cache está pronto para ser usado.
Instalar a biblioteca redis-py
Redis-py é uma interface Python para Redis. Use a ferramenta de pacotes do Python, pip
, para instalar o pacote redis-py
com um prompt de comando.
O exemplo a seguir usa pip3
para Python 3 para instalar o redis-py
no Windows 11 por meio de um prompt de comando do administrador.
Crie um script Python para acessar seu cache
Crie um script Python que utiliza a ID do Microsoft Entra ou as chaves de acesso para se conectar à instância gerenciada do Redis no Azure. Recomendamos que você use o Microsoft Entra ID.
Usar a autenticação do Microsoft Entra ID em seu cache
Os caches Redis Gerenciados do Azure têm a Autenticação do Microsoft Entra habilitada por padrão.
No portal do Azure, selecione o cache em que você deseja usar a autenticação baseada em token do Microsoft Entra.
Selecione Autenticação no menu Recurso.
Selecione Selecionar membro e insira 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 à instância de cache.
Para obter informações sobre como usar o Microsoft Entra ID com a CLI do Azure, confira as páginas de referência de identidade.
Instale a Biblioteca de Autenticação da Microsoft
Instale a Biblioteca de Autenticação da Microsoft (MSAL). Esta biblioteca permite adquirir tokens de segurança da identidade da Microsoft para autenticar usuários.
Você pode usar a Biblioteca de clientes de identidade do Python Azure disponível que usa MSAL para fornecer suporte de autenticação de token. Instale esta biblioteca usando
pip
:
pip install azure-identity
Crie um script Python usando o Microsoft Entra ID
Crie um novo arquivo de texto, adicione o script a seguir e salve o arquivo como
PythonApplication1.py
.Substitua o
<Your Host Name>
pelo valor da sua instância do Cache do Azure para Redis. O nome do seu host é da forma<DNS name>.<region>.redis.azure.net
.Substitua o
<Your Username>
pelos valores do seu usuário do Microsoft Entra ID.import redis from azure.identity import DefaultAzureCredential scope = "https://redis.azure.com/.default" host = "<Your Host Name>" port = 10000 user_name = "<Your Username>" def hello_world(): cred = DefaultAzureCredential() token = cred.get_token(scope) r = redis.Redis(host=host, port=port, ssl=True, # ssl connection is required. username=user_name, password=token.token, decode_responses=True) result = r.ping() print("Ping returned : " + str(result)) result = r.set("Message", "Hello!, The cache is working with Python!") print("SET Message returned : " + str(result)) result = r.get("Message") print("GET Message returned : " + result) result = r.client_list() print("CLIENT LIST returned : ") for c in result: print(f"id : {c['id']}, addr : {c['addr']}") if __name__ == '__main__': hello_world()
Antes de executar seu código Python em um Terminal, certifique-se de autorizar o terminal para usar o Microsoft Entra ID.
azd auth login
Execute
PythonApplication1.py
com Python Você deve ver resultados como os do exemplo a seguir:
Crie um script Python usando a reautenticação
Os tokens de acesso do Microsoft Entra ID têm vida útil limitada, em média 75 minutos. Para manter uma conexão com o seu cache, você precisa atualizar o token. Esse exemplo demonstra como fazer isso usando Python.
Crie um novo arquivo de texto, adicione o seguinte script. Em seguida, salve o arquivo como
PythonApplication2.py
.Substitua
<Your Host Name>
pelo valor da sua instância gerenciada do Azure Redis. O nome do seu host é da forma<DNS name>.<region>.redis.azure.net
.Substitua o
<Your Username>
pelos valores do seu usuário do Microsoft Entra ID.import time import logging import redis from azure.identity import DefaultAzureCredential scope = "https://redis.azure.com/.default" host = "<Your Host Name>" port = 10000 user_name = "<Your Username>" def re_authentication(): _LOGGER = logging.getLogger(__name__) cred = DefaultAzureCredential() token = cred.get_token(scope) r = redis.Redis(host=host, port=port, ssl=True, # ssl connection is required. username=user_name, password=token.token, decode_responses=True) max_retry = 3 for index in range(max_retry): try: if _need_refreshing(token): _LOGGER.info("Refreshing token...") tmp_token = cred.get_token(scope) if tmp_token: token = tmp_token r.execute_command("AUTH", user_name, token.token) result = r.ping() print("Ping returned : " + str(result)) result = r.set("Message", "Hello!, The cache is working with Python!") print("SET Message returned : " + str(result)) result = r.get("Message") print("GET Message returned : " + result) result = r.client_list() print("CLIENT LIST returned : ") for c in result: print(f"id : {c['id']}, addr : {c['addr']}") break except redis.ConnectionError: _LOGGER.info("Connection lost. Reconnecting.") token = cred.get_token(scope) r = redis.Redis(host=host, port=port, ssl=True, # ssl connection is required. username=user_name, password=token.token, decode_responses=True) except Exception: _LOGGER.info("Unknown failures.") break def _need_refreshing(token, refresh_offset=300): return not token or token.expires_on - time.time() < refresh_offset if __name__ == '__main__': re_authentication()
Execute
PythonApplication2.py
com Python Você deve ver resultados como os do exemplo a seguir:Ao contrário do primeiro exemplo, se o seu token expirar, esse exemplo o atualizará automaticamente.
Crie um script Python para acessar seu cache
Crie um script Python que use o Microsoft Entra ID ou chaves de acesso para se conectar à sua instância do Redis. Recomendamos que você use o Microsoft Entra ID.
Usar a autenticação do Microsoft Entra ID em seu cache
Os caches Redis Gerenciados do Azure têm a Autenticação do Microsoft Entra habilitada por padrão.
No portal do Azure, selecione o cache em que você deseja usar a autenticação baseada em token do Microsoft Entra.
Selecione Autenticação no menu Recurso.
Selecione Selecionar membro e insira 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 à instância de cache.
Para obter informações sobre como usar o Microsoft Entra ID com a CLI do Azure, confira as páginas de referência de identidade.
Instale a Biblioteca de Autenticação da Microsoft
Instale a Biblioteca de Autenticação da Microsoft (MSAL). Esta biblioteca permite adquirir tokens de segurança da identidade da Microsoft para autenticar usuários.
Você pode usar a Biblioteca de clientes de identidade do Python Azure disponível que usa MSAL para fornecer suporte de autenticação de token. Instale esta biblioteca usando
pip
:
pip install azure-identity
Crie um script Python usando o Microsoft Entra ID
Crie um novo arquivo de texto, adicione o script a seguir e salve o arquivo como
PythonApplication1.py
.Substitua o
<Your Host Name>
pelo valor da sua instância do Cache do Azure para Redis. O nome do seu host é da forma<DNS name>.redis.cache.windows.net
.Substitua o
<Your Username>
pelos valores do seu usuário do Microsoft Entra ID.import redis from azure.identity import DefaultAzureCredential scope = "https://redis.azure.com/.default" host = "<Your Host Name>" port = 6380 user_name = "<Your Username>" def hello_world(): cred = DefaultAzureCredential() token = cred.get_token(scope) r = redis.Redis(host=host, port=port, ssl=True, # ssl connection is required. username=user_name, password=token.token, decode_responses=True) result = r.ping() print("Ping returned : " + str(result)) result = r.set("Message", "Hello!, The cache is working with Python!") print("SET Message returned : " + str(result)) result = r.get("Message") print("GET Message returned : " + result) result = r.client_list() print("CLIENT LIST returned : ") for c in result: print(f"id : {c['id']}, addr : {c['addr']}") if __name__ == '__main__': hello_world()
Antes de executar seu código Python em um Terminal, certifique-se de autorizar o terminal para usar o Microsoft Entra ID.
azd auth login
Execute
PythonApplication1.py
com Python Você deve ver resultados como os do exemplo a seguir:
Crie um script Python usando a reautenticação
Os tokens de acesso do Microsoft Entra ID têm vida útil limitada, em média 75 minutos. Para manter uma conexão com o seu cache, você precisa atualizar o token. Esse exemplo demonstra como fazer isso usando Python.
Crie um novo arquivo de texto, adicione o seguinte script. Em seguida, salve o arquivo como
PythonApplication2.py
.Substitua o
<Your Host Name>
pelo valor da sua instância do Cache do Azure para Redis. O nome do seu host é da forma<DNS name>.redis.cache.windows.net
.Substitua o
<Your Username>
pelos valores do seu usuário do Microsoft Entra ID.import time import logging import redis from azure.identity import DefaultAzureCredential scope = "https://redis.azure.com/.default" host = "<Your Host Name>" port = 6380 user_name = "<Your Username>" def re_authentication(): _LOGGER = logging.getLogger(__name__) cred = DefaultAzureCredential() token = cred.get_token(scope) r = redis.Redis(host=host, port=port, ssl=True, # ssl connection is required. username=user_name, password=token.token, decode_responses=True) max_retry = 3 for index in range(max_retry): try: if _need_refreshing(token): _LOGGER.info("Refreshing token...") tmp_token = cred.get_token(scope) if tmp_token: token = tmp_token r.execute_command("AUTH", user_name, token.token) result = r.ping() print("Ping returned : " + str(result)) result = r.set("Message", "Hello!, The cache is working with Python!") print("SET Message returned : " + str(result)) result = r.get("Message") print("GET Message returned : " + result) result = r.client_list() print("CLIENT LIST returned : ") for c in result: print(f"id : {c['id']}, addr : {c['addr']}") break except redis.ConnectionError: _LOGGER.info("Connection lost. Reconnecting.") token = cred.get_token(scope) r = redis.Redis(host=host, port=port, ssl=True, # ssl connection is required. username=user_name, password=token.token, decode_responses=True) except Exception: _LOGGER.info("Unknown failures.") break def _need_refreshing(token, refresh_offset=300): return not token or token.expires_on - time.time() < refresh_offset if __name__ == '__main__': re_authentication()
Execute
PythonApplication2.py
com Python Você deve ver resultados como os do exemplo a seguir:Ao contrário do primeiro exemplo, se o seu token expirar, esse exemplo o atualizará automaticamente.
Limpar os recursos
Se quiser continuar a usar os recursos que você criou neste artigo, conserve o grupo de recursos.
Caso contrário, se não pretende mais usar os recursos, você poderá excluir o grupo de recursos criado no Azure para evitar a cobrança.
Importante
A exclusão de um grupo de recursos é irreversível. Ao excluir o grupo de recursos, todos os recursos nele são excluídos permanentemente. Certifique-se de que não exclua acidentalmente o grupo de recursos ou os recursos incorretos. Se você criou os recursos dentro de um grupo de recursos existente que contém recursos que você quer manter, você pode excluir cada recurso individualmente em vez de excluir o grupo de recursos.
Para excluir um grupo de recursos
Entre no portal do Azure e selecione Grupos de recursos.
Selecione o grupo de recursos que você quer excluir.
Se existirem muitos grupos de recursos, use a caixa Filtrar para qualquer campo... e digite o nome do seu grupo de recursos que você criou para este artigo. Selecione o grupo de recursos na lista de resultados.
Selecione Excluir grupo de recursos.
Você receberá uma solicitação para confirmar a exclusão do grupo de recursos. Digite o nome do grupo de recursos para confirmar e selecione Excluir.
Após alguns instantes, o grupo de recursos, e todos os recursos nele são excluídos.