Hızlı Başlangıç: Python içinde Redis için Azure Cache kullanma
Bu Hızlı Başlangıçta, Azure'daki herhangi bir uygulamadan erişilebilen güvenli ve ayrılmış bir önbelleğe erişmek için Redis için Azure Cache bir Python betiğine dahil edin.
GitHub'da koda atlayın
Doğrudan koda atlamak istiyorsanız GitHub'da Python hızlı başlangıcına bakın.
Önkoşullar
- Azure aboneliği - ücretsiz bir abonelik oluşturun
- Python 3
Redis için Azure Cache örneği oluşturma
Önbellek oluşturmak için Azure portalında oturum açın ve Kaynak oluştur'u seçin.
Başlarken sayfasında, arama kutusuna Redis için Azure Cache yazın. Ardından Oluştur’u seçin.
Yeni Redis Önbelleği sayfasında önbelleğinizin ayarlarını yapılandırın.
Ayar Bir değer seçin Açıklama Abonelik Açılan menüye gidin ve aboneliğinizi seçin. Bu yeni Redis için Azure Cache örneğinin oluşturulacağı abonelik. Kaynak grubu Açılan menüden bir kaynak grubu seçin veya Yeni oluştur'u seçip yeni bir kaynak grubu adı girin. Önbelleğinizi ve diğer kaynakları oluşturacağınız kaynak grubunun adı. Tüm uygulama kaynaklarınızı tek bir kaynak grubuna yerleştirerek bunları kolayca yönetebilir veya silebilirsiniz. DNS adı Benzersiz bir ad girin. Önbellek adı yalnızca sayı, harf veya kısa çizgi içeren 1 ile 63 karakter arasında bir dize olmalıdır. Adın bir sayı veya harfle başlayıp bitmesi gerekir ve ardışık kısa çizgi içeremez. Önbellek örneğinizin ana bilgisayar adı< DNS adı.redis.cache.windows.net.> Konum Açılan menüye gidin ve bir konum seçin. Önbelleğinizi kullanan diğer hizmetlerin yakınında bir bölge seçin. Önbellek SKU'su Açılan menüye gidin ve bir SKU seçin. SKU, önbellek için kullanılabilen boyut, performans ve özellik parametrelerini belirler. Daha fazla bilgi için bkz. Redis için Azure Cache Genel Bakış. Önbellek boyutu Açılan menüye gidin ve önbelleğinizin boyutunu seçin Daha fazla bilgi için bkz. Redis için Azure Cache Genel Bakış. Ağ sekmesini seçin veya sayfanın en altındaki Ağ düğmesini seçin.
Ağ sekmesinde bağlantı yönteminizi seçin.
İleri: Gelişmiş sekmesini seçin veya Gelişmiş sekmesini görmek için sayfanın alt kısmındaki İleri: Gelişmiş düğmesini seçin.
- Varsayılan olarak, yeni bir Temel, Standart veya Premium önbellek için Microsoft Entra Kimlik Doğrulaması etkinleştirilir ve Erişim Anahtarları Kimlik Doğrulaması devre dışı bırakılır.
- Temel veya Standart önbellekler için TLS olmayan bir bağlantı noktası için seçim yapabilirsiniz.
- Standart ve Premium önbellekler için kullanılabilirlik alanlarını etkinleştirmeyi seçebilirsiniz. Önbellek oluşturulduktan sonra kullanılabilirlik alanlarını devre dışı bırakamazsınız.
- Premium önbellek için TLS olmayan bağlantı noktası, kümeleme, yönetilen kimlik ve veri kalıcılığı ayarlarını yapılandırın.
Önemli
En iyi güvenlik için Microsoft, mümkün olduğunda istekleri önbelleğinize karşı yetkilendirmek için yönetilen kimliklerle Microsoft Entra Id kullanılmasını önerir. Microsoft Entra Kimliği ve yönetilen kimliklerle yetkilendirme, Paylaşılan Anahtar yetkilendirmesi üzerinden üstün güvenlik ve kullanım kolaylığı sağlar. Önbelleklerinizle yönetilen kimlikleri kullanma hakkında daha fazla bilgi için bkz . Önbellek kimlik doğrulaması için Microsoft Entra Id kullanma.
Sonraki: Etiketler sekmesini seçin veya sayfanın en altındaki İleri: Etiketler düğmesini seçin.
İsteğe bağlı olarak, kaynağı kategorilere ayırmak istiyorsanız Etiketler sekmesinde adı ve değeri girin.
Gözden geçir ve oluştur’u seçin. Gözden geçir ve oluştur bölümünde Azure yapılandırmanızı doğrular.
Yeşil Doğrulama başarılı iletisi görüntülendiğinde Oluştur'u seçin.
Önbelleğin oluşturulması biraz zaman alır. İlerleme durumunu Redis için Azure Cache Genel Bakış sayfasından izleyebilirsiniz. Durum Çalışıyor olarak gösterildiğinde önbellek kullanıma hazırdır.
Redis-py kitaplığını yükleme
Redis-py, Redis için Azure Cache için bir Python arabirimidir. Paketi bir komut isteminden yüklemek redis-py
için Python paketleri aracını pip
kullanın.
Aşağıdaki örnek, Python 3'ü Bir Yönetici komut isteminden Windows 11'e yüklemek redis-py
için kullanılırpip3
.
Önbelleğinize erişmek için Python betiği oluşturma
Bir Redis için Azure Cache bağlanmak için Microsoft Entra Id veya erişim anahtarlarını kullanan bir Python betiği oluşturun. Microsoft Entra Id kullanmanızı öneririz.
Önbelleğinizde Microsoft Entra Id kimlik doğrulamasını etkinleştirme
Zaten bir önbelleğiniz varsa, önce Microsoft Entra Authentication'ın etkinleştirilip etkinleştirilmediğini denetlemek istersiniz. Aksi takdirde etkinleştirin. Uygulamalarınız için Microsoft Entra Id kullanmanızı öneririz.
Azure portalında Microsoft Entra belirteç tabanlı kimlik doğrulamasını kullanmak istediğiniz Redis için Azure Cache örneğini seçin.
Kaynak menüsünden Kimlik Doğrulaması'nı seçin.
Microsoft Entra Authentication'ı etkinleştir seçeneğinin işaretli olup olmadığını görmek için çalışma bölmesini kontrol edin. Öyleyse, devam edebilirsiniz.
Microsoft Entra Kimlik Doğrulamasını Etkinleştir'i seçin ve geçerli bir kullanıcının adını girin. Kaydet'i seçtiğinizde, girdiğiniz kullanıcıya varsayılan olarak otomatik olarak Veri Sahibi Erişim İlkesi atanır. Önbellek örneğinize bağlanmak için yönetilen kimlik veya hizmet sorumlusu da girebilirsiniz.
Yapılandırmanızı güncelleştirmek isteyip istemediğinizi soran ve bunun birkaç dakika sürdüğünü bildiren bir açılır iletişim kutusu görüntülenir. Evet'i seçin.
Önemli
Etkinleştirme işlemi tamamlandıktan sonra önbellek örneğinizdeki düğümler yeni yapılandırmayı yüklemek için yeniden başlatılır. Bu işlemi bakım pencereniz sırasında veya yoğun iş saatlerinizin dışında gerçekleştirmenizi öneririz. İşlem 30 dakikaya kadar sürebilir.
Microsoft Entra Id'yi Azure CLI ile kullanma hakkında bilgi için kimlik başvuru sayfalarına bakın.
Microsoft Kimlik Doğrulama Kitaplığı'nı yükleme
Microsoft Kimlik Doğrulama Kitaplığı'nı (MSAL) yükleyin. Bu kitaplık, kullanıcıların kimliğini doğrulamak için Microsoft kimliğinden güvenlik belirteçleri almanıza olanak tanır.
Belirteç kimlik doğrulaması desteği sağlamak için MSAL kullanan Python Azure kimlik istemci kitaplığını kullanabilirsiniz. kullanarak
pip
bu kitaplığı yükleyin:
pip install azure-identity
Microsoft Entra Id kullanarak Python betiği oluşturma
Yeni bir metin dosyası oluşturun, aşağıdaki betiği ekleyin ve dosyayı olarak
PythonApplication1.py
kaydedin.değerini Redis için Azure Cache örneğinizdeki değerle değiştirin
<Your Host Name>
. Ana bilgisayar adınız biçimindedir<DNS name>.redis.cache.windows.net
.değerini Microsoft Entra ID kullanıcınızın değerleriyle değiştirin
<Your Username>
.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()
Python kodunuzu bir Terminalden çalıştırmadan önce terminali Microsoft Entra Id kullanmak üzere yetkilendirildiğinizden emin olun.
azd auth login
Python ile çalıştırın
PythonApplication1.py
. Aşağıdaki örneğe benzer sonuçlar görmeniz gerekir:
Yeniden kimlik doğrulama kullanarak Python betiği oluşturma
Microsoft Entra Id erişim belirteçlerinin kullanım ömrü sınırlıdır ve ortalama 75 dakikadır. Önbelleğinizle bağlantı kurmak için belirteci yenilemeniz gerekir. Bu örnekte Python kullanılarak bunun nasıl yapıldığını gösterilmektedir.
Yeni bir metin dosyası oluşturun ve aşağıdaki betiği ekleyin. Ardından dosyayı olarak
PythonApplication2.py
kaydedin.değerini Redis için Azure Cache örneğinizdeki değerle değiştirin
<Your Host Name>
. Ana bilgisayar adınız biçimindedir<DNS name>.redis.cache.windows.net
.değerini Microsoft Entra ID kullanıcınızın değerleriyle değiştirin
<Your Username>
.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()
Python ile çalıştırın
PythonApplication2.py
. Aşağıdaki örneğe benzer sonuçlar görmeniz gerekir:İlk örnekten farklı olarak belirtecinizin süresi dolarsa bu örnek otomatik olarak yenilenir.
Kaynakları temizleme
Bu makalede oluşturduğunuz kaynakları kullanmaya devam etmek istiyorsanız kaynak grubunu koruyun.
Aksi takdirde, kaynaklarla işiniz bittiyse ücretlerden kaçınmak için oluşturduğunuz Azure kaynak grubunu silebilirsiniz.
Önemli
Silinen kaynak grupları geri alınamaz. Kaynak grubunu sildiğinizde, içindeki tüm kaynaklar kalıcı olarak silinir. Yanlış kaynak grubunu veya kaynakları yanlışlıkla silmediğinizden emin olun. Tutmak istediğiniz kaynakları içeren mevcut bir kaynak grubunun içinde kaynakları oluşturduysanız, kaynak grubunu silmek yerine her kaynağı tek tek silebilirsiniz.
Kaynak grubunu silmek için
Azure portalında oturum açın ve Kaynak grupları’nı seçin.
Silmek istediğiniz kaynak grubunu seçin.
Çok sayıda kaynak grubu varsa Herhangi bir alan için filtre uygula... kutusunu kullanın, bu makale için oluşturduğunuz kaynak grubunuzun adını yazın. Sonuçlar listesinden kaynak grubunu seçin.
Kaynak grubunu sil'i seçin.
Kaynak grubunun silinmesini onaylamanız istenir. Onaylamak için kaynak grubunuzun adını yazın ve ardından Sil’i seçin.
Birkaç dakika sonra kaynak grubu ve bu gruptaki kaynakların tümü silinir.