Mulai cepat: Menggunakan Azure Cache for Redis dengan aplikasi Python
Dalam mulai cepat ini, Anda memasukkan Azure Cache for Redis ke dalam skrip Python untuk akses ke cache khusus yang aman yang dapat diakses dari aplikasi apa pun di Azure.
Lewati ke kode
Artikel ini menjelaskan cara membuat aplikasi Python lalu memodifikasi kode agar berakhir dengan aplikasi sampel yang berfungsi.
Jika Anda ingin melompat langsung ke kode, lihat sampel mulai cepat Python di GitHub.
Prasyarat
- Langganan Azure. Buat satu secara gratis
- Python 3
- Untuk macOS atau Linux, unduh dari python.org.
- Untuk Windows 11, gunakan Windows Store.
Membuat cache
Untuk membuat cache, masuk ke portal Azure. Pada menu portal, pilih Buat sumber daya.
Pada panel Memulai , masukkan Azure Cache for Redis di bilah pencarian. Di hasil pencarian, temukan Azure Cache for Redis, lalu pilih Buat.
Pada panel Singgahan Redis Baru, pada tab Dasar , konfigurasikan pengaturan berikut untuk cache Anda:
Pengaturan Tindakan Deskripsi Langganan Pilih langganan Azure Anda. Langganan yang digunakan untuk membuat instans baru Azure Cache for Redis. Grup sumber daya Pilih grup sumber daya, atau pilih Buat baru dan masukkan nama grup sumber daya baru. Nama untuk grup sumber daya untuk membuat cache dan sumber daya lainnya. Dengan menyatukan semua sumber daya aplikasi dalam satu grup sumber daya, Anda dapat dengan mudah mengelola atau menghapusnya sekaligus. Nama DNS Masukkan nama yang unik. Nama cache harus berupa string 1 hingga 63 karakter yang hanya berisi angka, huruf, dan tanda hubung. Nama harus dimulai dan diakhiri dengan angka atau huruf, dan tidak boleh berisi tanda hubung berturut-turut. Nama host instans cache Anda adalah \<DNS name>.redis.cache.windows.net
.Location Pilih lokasi. Wilayah Azure yang berada di dekat layanan lain yang menggunakan cache Anda. Cache SKU Pilih SKU. SKU menentukan ukuran, performa, dan parameter fitur yang tersedia untuk cache. Untuk informasi selengkapnya, lihat Gambaran Umum Azure Cache for Redis. Ukuran cache Pilih ukuran cache. Untuk informasi selengkapnya, lihat Gambaran Umum Azure Cache for Redis. Pilih tab Jaringan atau pilih Berikutnya: Jaringan.
Pada tab Jaringan , pilih metode konektivitas yang akan digunakan untuk cache.
Pilih tab Tingkat Lanjut atau pilih Berikutnya: Tingkat Lanjut.
Pada panel Tingkat Lanjut , verifikasi atau pilih metode autentikasi berdasarkan informasi berikut:
- Secara default, untuk cache Dasar, Standar, atau Premium baru, Autentikasi Microsoft Entra diaktifkan dan Autentikasi Kunci Akses dinonaktifkan.
- Untuk cache Dasar atau Standar, Anda dapat memilih pilihan untuk port non-TLS.
- Untuk cache Standar dan Premium, Anda dapat memilih untuk mengaktifkan zona ketersediaan. Anda tidak dapat menonaktifkan zona ketersediaan setelah cache dibuat.
- Untuk cache Premium, konfigurasikan pengaturan untuk port non-TLS, pengklusteran, identitas terkelola, dan persistensi data.
Penting
Untuk keamanan yang optimal, kami sarankan Anda menggunakan ID Microsoft Entra dengan identitas terkelola untuk mengotorisasi permintaan terhadap cache Anda jika memungkinkan. Otorisasi dengan menggunakan ID Microsoft Entra dan identitas terkelola memberikan keamanan yang unggul dan kemudahan penggunaan melalui otorisasi kunci akses bersama. Untuk informasi selengkapnya tentang menggunakan identitas terkelola dengan cache Anda, lihat Menggunakan ID Microsoft Entra untuk autentikasi cache.
(Opsional) Pilih tab Tag atau pilih Berikutnya: Tag.
(Opsional) Pada tab Tag , masukkan nama dan nilai tag jika Anda ingin mengategorikan sumber daya cache Anda.
Pilih tombol Tinjau + buat.
Pada tab Tinjau + buat , Azure secara otomatis memvalidasi konfigurasi Anda.
Setelah pesan hijauLulus validasi muncul, pilih Buat.
Penyebaran cache baru terjadi selama beberapa menit. Anda dapat memantau kemajuan penyebaran di panel Gambaran Umum Azure Cache for Redis. Saat Status ditampilkan Berjalan, cache siap digunakan.
Menginstal pustaka redis-py
Redis-py adalah antarmuka Python ke Azure Cache for Redis. Gunakan pip alat paket Python untuk menginstal paket redis-py pada baris perintah.
Contoh berikut menggunakan pip3
untuk Python 3 untuk menginstal redis-py pada Windows 11 di jendela Prompt Perintah Administrator.
Membuat skrip Python untuk mengakses cache Anda
Buat skrip Python yang menggunakan ID Microsoft Entra atau kunci akses untuk menyambungkan ke Azure Cache for Redis. Kami menyarankan agar Anda menggunakan ID Microsoft Entra.
Mengaktifkan autentikasi ID Microsoft Entra di cache Anda
Untuk cache yang ada, pertama-tama periksa untuk melihat apakah autentikasi Microsoft Entra diaktifkan. Jika tidak, selesaikan langkah-langkah berikut untuk mengaktifkan autentikasi Microsoft Entra. Kami menyarankan agar Anda menggunakan ID Microsoft Entra untuk autentikasi di aplikasi Anda.
Di portal Azure, pilih instans Azure Cache for Redis tempat Anda ingin menggunakan autentikasi berbasis token Microsoft Entra.
Pada menu layanan, di bawah Pengaturan, pilih Autentikasi.
Pada panel Autentikasi , centang untuk melihat apakah kotak centang Aktifkan Autentikasi Microsoft Entra dipilih. Jika ya, Anda dapat melanjutkan ke bagian berikutnya.
Jika tidak, pilih kotak centang Aktifkan Autentikasi Microsoft Entra. Kemudian, masukkan nama pengguna yang valid. Pilih Simpan. Nama pengguna yang Anda masukkan secara otomatis diberi Kebijakan Akses Pemilik Data.
Anda juga dapat memasukkan identitas terkelola atau perwakilan layanan untuk terhubung ke cache Anda.
Dalam kotak dialog, Anda ditanya apakah Anda ingin memperbarui konfigurasi, dan Anda diberi tahu bahwa membuat pembaruan membutuhkan waktu beberapa menit untuk menyelesaikannya. Pilih Ya.
Penting
Setelah operasi pengaktifan selesai, simpul di reboot cache Anda untuk memuat konfigurasi baru. Kami menyarankan agar Anda menyelesaikan operasi ini selama jendela pemeliharaan standar atau di luar jam kerja puncak Anda. Prosesnya dapat memakan waktu hingga 30 menit.
Untuk informasi tentang menggunakan ID Microsoft Entra dengan Azure CLI, lihat halaman referensi identitas.
Menginstal Pustaka Autentikasi Microsoft
Microsoft Authentication Library (MSAL) mendapatkan token keamanan dari platform identitas Microsoft untuk mengautentikasi pengguna.
Untuk menginstal MSAL:
Instal MSAL untuk Python.
Instal pustaka klien identitas Azure Python. Pustaka menggunakan MSAL untuk memberikan dukungan autentikasi token.
Instal pustaka ini dengan menggunakan pip:
pip install azure-identity
Membuat skrip Python dengan menggunakan ID Microsoft Entra
Buat file teks. Simpan file sebagai PythonApplication1.py.
Di PythonApplication1.py, tambahkan dan ubah skrip berikut.
Dalam skrip:
- Ganti
<Your Host Name>
dengan nilai dari instans Azure Cache for Redis Anda. Nama host Anda memiliki formulir<DNS name>.redis.cache.windows.net
. - Ganti
<Your Username>
dengan nilai untuk pengguna ID Microsoft Entra Anda.
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()
- Ganti
Sebelum Anda menjalankan kode Python di terminal, otorisasi terminal untuk menggunakan ID Microsoft Entra:
azd auth login
Jalankan file PythonApplication1.py dengan menggunakan Python. Verifikasi bahwa output terlihat mirip dengan contoh ini:
Membuat skrip Python dengan menggunakan reauthentication
Token akses ID Microsoft Entra memiliki masa pakai terbatas sekitar 75 menit. Untuk mempertahankan koneksi ke cache, Anda harus menyegarkan token.
Contoh ini menunjukkan cara merefresh token dengan menggunakan Python.
Buat file teks. Simpan file sebagai PythonApplication2.py.
Di PythonApplication2.py, tambahkan dan ubah skrip berikut.
Dalam skrip:
- Ganti
<Your Host Name>
dengan nilai dari instans Azure Cache for Redis Anda. Nama host Anda memiliki formulir<DNS name>.redis.cache.windows.net
. - Ganti
<Your Username>
dengan nilai untuk pengguna ID Microsoft Entra Anda.
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()
- Ganti
Jalankan file PythonApplication2.py dengan menggunakan Python. Verifikasi bahwa output terlihat mirip dengan contoh ini:
Tidak seperti dalam contoh sebelumnya, jika token Anda kedaluwarsa, kode dalam contoh ini secara otomatis me-refresh token.
Membersihkan sumber daya
Jika Anda ingin terus menggunakan sumber daya yang Anda buat di artikel ini, simpan grup sumber daya.
Jika tidak, untuk menghindari biaya yang terkait dengan sumber daya, jika Anda selesai menggunakan sumber daya, Anda dapat menghapus grup sumber daya Azure yang Anda buat.
Peringatan
Penghapusan grup sumber daya tidak bisa dipulihkan. Saat Anda menghapus grup sumber daya, semua sumber daya dalam grup sumber daya akan dihapus secara permanen. Pastikan Anda tidak salah menghapus grup sumber daya atau sumber daya secara tidak sengaja. Jika Anda membuat sumber daya di dalam grup sumber daya yang sudah ada yang memiliki sumber daya yang ingin Anda simpan, Anda dapat menghapus setiap sumber daya satu per satu alih-alih menghapus grup sumber daya.
Menghapus grup sumber daya
Masuk ke portal Azure, lalu pilih Grup sumber daya.
Pilih grup sumber daya yang akan dihapus.
Jika ada banyak grup sumber daya, di Filter untuk bidang apa pun, masukkan nama grup sumber daya yang Anda buat untuk menyelesaikan artikel ini. Dalam daftar hasil pencarian, pilih grup sumber daya.
Pilih Hapus grup sumber daya.
Di panel Hapus grup sumber daya, masukkan nama grup sumber daya Anda untuk mengonfirmasi, lalu pilih Hapus.
Dalam beberapa saat, grup sumber daya dan semua sumber dayanya dihapus.