Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dalam Mulai Cepat ini, Anda menggabungkan Azure Managed Redis atau Azure Cache for Redis ke dalam skrip Python untuk memiliki akses ke cache khusus yang aman yang dapat diakses dari aplikasi apa pun di Azure.
Langsung ke kode pada GitHub
Jika Anda ingin langsung ke kode, lihat mulai cepat Python di GitHub.
Prasyarat
- Langganan Azure - buat akun secara gratis
- Python 3
- Untuk macOS atau Linux, unduh dari python.org.
- Untuk Windows 11, gunakan Windows Store.
Membuat instans terkelola Azure Redis
Untuk membuat instans Azure Managed Redis, masuk ke portal Microsoft Azure dan pilih Buat sumber daya.
Pada halaman Baru , di kotak pencarian ketik Azure Cache for Redis.
Pada tab Singgahan Redis Baru, atur pengaturan untuk cache baru Anda di Dasar-dasar.
Pengaturan Pilih nilai Deskripsi Abonemen Buka menu drop-down dan pilih langganan Anda. Langganan untuk membuat instans Azure Managed Redis baru ini. grup Sumber Daya Buka drop down dan pilih grup sumber daya, atau pilih Buat baru dan masukkan nama grup sumber daya baru. Nama untuk grup sumber daya tempat 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 Masukkan nama yang unik di wilayah ini. Nama cache harus berupa string antara 1 dan 63 karakter jika dikombinasikan dengan nama wilayah cache yang hanya berisi angka, huruf, atau tanda hubung. (Jika nama cache kurang dari 45 karakter, panjangnya harus berfungsi di semua wilayah yang saat ini tersedia.) Nama harus dimulai dan diakhir dengan angka atau huruf, dan tidak boleh berisi tanda hubung berturut-turut. Nama host instans cache Anda adalah \<DNS name\>.\<Azure region\>.redis.azure.net
.Wilayah Buka menu tarik-turun dan pilih lokasi. Azure Managed Redis tersedia di wilayah Azure yang dipilih. Lapisan data Pilih Dalam memori untuk performa tinggi, atau Flash untuk cache performa yang lebih rendah Tingkat dalam memori mencakup Seimbang, Memori Dioptimalkan, dan Komputasi Dioptimalkan. Gunakan tingkat Flash untuk menggunakan penyimpanan data dalam memori (RAM) dan pada disk (SSD). Ukuran Cache Turun bawah dan pilih ukuran. Ukuran cache tergantung pada tingkatan. Ukuran terkecil adalah tingkatan Seimbang. Ukuran tingkat dalam memori terbesar adalah tingkat Memori yang Dioptimalkan. Kinerja Turun bawah dan pilih preferensi performa. Performa tergantung pada jumlah vCPU. Jumlah vCPU bervariasi menurut tingkatan. Compute Optimized memiliki vCPU terbanyak. Untuk panduan tentang memilih tingkat performa yang tepat, lihat Memilih tingkat yang tepat.
Penting
Semua tingkatan dalam memori yang menggunakan penyimpanan lebih dari 120 GB berada di Pratinjau Umum, termasuk Memory Optimized M150 dan yang lebih tinggi; Balanced B150 dan yang lebih tinggi; dan Compute Optimized X150 dan yang lebih tinggi. Semua tingkatan ini dan yang lebih tinggi lagi tersedia dalam Pratinjau Publik.
Semua tingkatan yang dioptimalkan untuk Flash berada dalam Pratinjau Umum.
Pilih Berikutnya: Jaringan , dan pilih Titik Akhir Publik atau Titik Akhir Privat.
Pilih Berikutnya: Replikasi geografis aktif. Untuk menggunakan replikasi geografis aktif, replikasi harus diaktifkan selama provisioning. Cache tanpa replikasi geografis aktif tidak dapat ditambahkan ke atau bergabung dengan grup replikasi geografis aktif nanti. Untuk informasi selengkapnya, lihat Mengonfigurasi replikasi geografis aktif untuk instans Azure Managed Redis.
Pilih tab Berikutnya: Tingkat Lanjut .
Konfigurasikan modul Redis apa pun yang ingin Anda tambahkan ke instans.
Secara default, untuk cache terkelola baru:
- ID Microsoft Entra diaktifkan.
- Autentikasi Kunci Akses dinonaktifkan karena alasan keamanan.
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.
Atur kebijakan Pengklusteran:
- Gunakan Enterprise untuk menggunakan RedisSearch atau modul lainnya
- Gunakan OSS untuk cache terkluster.
- Gunakan Tidak Berkluster (Pratinjau) untuk cache tidak berkluster.
Untuk informasi selengkapnya tentang memilih kebijakan Pengklusteran, lihat Kebijakan kluster.
Penting
Anda tidak dapat mengubah kebijakan pengklusteran instans Azure Managed Redis setelah membuatnya. Jika Anda menggunakan RediSearch, kebijakan kluster Enterprise diperlukan, dan
NoEviction
merupakan satu-satunya kebijakan pengeluaran yang didukung.Penting
Jika Anda menggunakan instans cache ini dalam grup replikasi geografis, kebijakan pengeluaran tidak dapat diubah setelah instans dibuat. Pastikan untuk mengetahui kebijakan pengeluaran simpul utama Anda sebelum Membuat cache. Untuk informasi selengkapnya tentang replikasi geografis aktif, lihat Prasyarat replikasi geografis aktif.
Penting
Anda tidak dapat mengubah modul setelah membuat instans cache. Modul harus diaktifkan ketika Anda membuat instans Azure Cache for Redis. Tidak ada opsi untuk mengaktifkan konfigurasi modul setelah Anda membuat cache.
Pilih Berikutnya: Tag dan lewati.
Pilih Berikutnya: Tinjau + buat.
Tinjau pengaturan akhir, dan pilih Buat.
Dibutuhkan beberapa menit untuk membuat instans Redis. Anda dapat memantau kemajuan di halaman Gambaran Umum Azure Managed Redis. Ketika Status muncul sebagai Sedang Berjalan, cache siap digunakan.
Membuat sebuah instans Azure Cache for Redis
Di portal Microsoft Azure, cari dan pilih Azure Cache for Redis.
Pada halaman Azure Cache for Redis , pilih Buat>Azure Cache for Redis.
Pada tab Dasar-dasar halaman Redis Cache Baru , konfigurasikan pengaturan berikut:
- Langganan: pilih langganan yang akan digunakan.
- Grup sumber daya: Pilih grup sumber daya, atau pilih Buat baru dan masukkan nama grup sumber daya baru. Menempatkan semua sumber daya aplikasi Anda dalam grup sumber daya yang sama memungkinkan Anda mengelola atau menghapusnya dengan mudah bersama-sama.
-
Nama: Masukkan nama cache yang unik di wilayah tersebut. Nama harus:
- Jadilah string 1 hingga 63 karakter.
- Hanya berisi angka, huruf, dan tanda hubung.
- Mulai dan akhiri dengan angka atau huruf.
- Tidak berisi tanda hubung berturut-turut.
- Wilayah: Pilih wilayah Azure di dekat layanan lain yang menggunakan cache Anda.
- SKU Cache: Pilih SKU untuk menentukan ukuran, performa, dan fitur yang tersedia untuk cache Anda.
- 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. Titik Akhir Privat direkomendasikan untuk keamanan. Jika Anda memilih Titik Akhir Privat, pilih Tambahkan titik akhir privat dan buat titik akhir privat.
Pilih tab Tingkat Lanjut , atau pilih Berikutnya: Tingkat Lanjut.
Pada panel Tingkat Lanjut , konfigurasikan opsi berikut:
- Pilih Autentikasi Microsoft Entra atau Autentikasi Kunci Akses. Microsoft Entra Authentication diaktifkan secara default.
- Pilih apakah akan Mengaktifkan port non-TLS.
- Untuk cache Premium, Anda dapat mengonfigurasi atau menonaktifkan Zona ketersediaan. Anda tidak dapat menonaktifkan zona ketersediaan setelah cache dibuat. Untuk cache Standar, zona ketersediaan dialokasikan secara otomatis. Zona ketersediaan tidak tersedia untuk SKU Dasar.
- Untuk cache Premium, konfigurasikan pengaturan untuk jumlah Replika, Pengklusteran, jumlah Shard, Identitas terkelola yang ditetapkan sistem, dan Persistensi data.
Gambar berikut menunjukkan tab Tingkat Lanjut untuk SKU Standar.
Penting
Gunakan ID Microsoft Entra dengan identitas terkelola untuk mengotorisasi permintaan terhadap cache Anda jika memungkinkan. Otorisasi menggunakan ID Microsoft Entra dan identitas terkelola memberikan keamanan yang lebih baik dan lebih mudah digunakan daripada otorisasi kunci akses bersama. Untuk informasi selengkapnya tentang menggunakan identitas terkelola dengan cache Anda, lihat Menggunakan ID Microsoft Entra untuk autentikasi cache.
Secara opsional, pilih tab Tag atau pilih Berikutnya: Tag, dan masukkan nama dan nilai tag untuk mengategorikan sumber daya cache Anda.
Pilih Tinjau + buat, dan setelah validasi lolos, pilih Buat.
Penyebaran cache baru membutuhkan waktu beberapa menit. Anda dapat memantau kemajuan penyebaran di halaman portal Azure Cache for Redis. Saat Status cache ditampilkan Berjalan, cache siap digunakan.
Menginstal pustaka redis-py
Redis-py adalah antarmuka Python ke Redis. Gunakan alat paket Python, pip
, untuk menginstal redis-py
paket dari prompt perintah.
Contoh berikut digunakan pip3
untuk Python 3 untuk menginstal redis-py
pada Windows 11 dari prompt perintah Administrator.
Membuat skrip Python untuk mengakses cache Anda
Buat skrip Python yang menggunakan baik ID Microsoft Entra maupun kunci akses untuk menyambungkan ke instans Redis Terkelola Azure Anda. Kami sarankan Anda menggunakan ID Microsoft Entra.
Menggunakan autentikasi ID Microsoft Entra di cache Anda
Cache Azure Managed Redis mengaktifkan Autentikasi Microsoft Entra secara default.
Di portal Azure, pilih cache tempat Anda ingin menggunakan autentikasi berbasis token Microsoft Entra.
Pilih Autentikasi dari menu Sumber Daya.
Pilih Pilih anggota dan masukkan nama pengguna yang valid. Pengguna yang Anda masukkan secara otomatis diberi Kebijakan Akses Pemilik Data secara default saat Anda memilih Simpan. Anda juga dapat memasukkan identitas terkelola atau perwakilan layanan untuk terhubung ke instans cache Anda.
Untuk informasi tentang menggunakan ID Microsoft Entra dengan Azure CLI, lihat halaman referensi untuk identitas.
Menginstal Pustaka Autentikasi Microsoft
Instal Microsoft Authentication Library (MSAL). Pustaka ini memungkinkan Anda memperoleh token keamanan dari identitas Microsoft untuk mengautentikasi pengguna.
Anda dapat menggunakan pustaka klien identitas Azure Python yang tersedia yang menggunakan MSAL untuk memberikan dukungan autentikasi token. Instal pustaka ini menggunakan
pip
:
pip install azure-identity
Membuat skrip Python menggunakan ID Microsoft Entra
Buat file teks baru, tambahkan skrip berikut, dan simpan file sebagai
PythonApplication1.py
.Ganti
<Your Host Name>
dengan nilai dari instans Azure Cache for Redis Anda. Nama host Anda adalah formulir<DNS name>.<region>.redis.azure.net
.Ganti
<Your Username>
dengan nilai dari pengguna ID Microsoft Entra Anda.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()
Sebelum Anda menjalankan kode Python dari Terminal, pastikan Anda mengotorisasi terminal untuk menggunakan ID Microsoft Entra.
azd auth login
Jalankan
PythonApplication1.py
dengan Python. Anda akan melihat hasil seperti contoh berikut:
Membuat skrip Python menggunakan aauthentikasi ulang
Token akses ID Microsoft Entra memiliki masa pakai terbatas, rata-rata 75 menit. Untuk mempertahankan koneksi ke cache, Anda perlu menyegarkan token. Contoh ini menunjukkan cara melakukan ini menggunakan Python.
Buat file teks baru, tambahkan skrip berikut. Kemudian, simpan file sebagai
PythonApplication2.py
.Ganti
<Your Host Name>
dengan nilai dari instans Azure Managed Redis Anda. Nama host Anda adalah formulir<DNS name>.<region>.redis.azure.net
.Ganti
<Your Username>
dengan nilai dari 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 = 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()
Jalankan
PythonApplication2.py
dengan Python. Anda akan melihat hasil seperti contoh berikut:Tidak seperti contoh pertama, Jika token Anda kedaluwarsa, contoh ini secara otomatis me-refreshnya.
Membuat skrip Python untuk mengakses cache Anda
Buat skrip Python ke yang menggunakan ID Microsoft Entra atau kunci akses untuk menyambungkan ke instans Redis Anda. Kami sarankan Anda menggunakan ID Microsoft Entra.
Menggunakan autentikasi ID Microsoft Entra di cache Anda
Cache Azure Managed Redis mengaktifkan Autentikasi Microsoft Entra secara default.
Di portal Azure, pilih cache tempat Anda ingin menggunakan autentikasi berbasis token Microsoft Entra.
Pilih Autentikasi dari menu Sumber Daya.
Pilih Pilih anggota dan masukkan nama pengguna yang valid. Pengguna yang Anda masukkan secara otomatis diberi Kebijakan Akses Pemilik Data secara default saat Anda memilih Simpan. Anda juga dapat memasukkan identitas terkelola atau perwakilan layanan untuk terhubung ke instans cache Anda.
Untuk informasi tentang menggunakan ID Microsoft Entra dengan Azure CLI, lihat halaman referensi untuk identitas.
Menginstal Pustaka Autentikasi Microsoft
Instal Microsoft Authentication Library (MSAL). Pustaka ini memungkinkan Anda memperoleh token keamanan dari identitas Microsoft untuk mengautentikasi pengguna.
Anda dapat menggunakan pustaka klien identitas Azure Python yang tersedia yang menggunakan MSAL untuk memberikan dukungan autentikasi token. Instal pustaka ini menggunakan
pip
:
pip install azure-identity
Membuat skrip Python menggunakan ID Microsoft Entra
Buat file teks baru, tambahkan skrip berikut, dan simpan file sebagai
PythonApplication1.py
.Ganti
<Your Host Name>
dengan nilai dari instans Azure Cache for Redis Anda. Nama host Anda adalah formulir<DNS name>.redis.cache.windows.net
.Ganti
<Your Username>
dengan nilai dari 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()
Sebelum Anda menjalankan kode Python dari Terminal, pastikan Anda mengotorisasi terminal untuk menggunakan ID Microsoft Entra.
azd auth login
Jalankan
PythonApplication1.py
dengan Python. Anda akan melihat hasil seperti contoh berikut:
Membuat skrip Python menggunakan aauthentikasi ulang
Token akses ID Microsoft Entra memiliki masa pakai terbatas, rata-rata 75 menit. Untuk mempertahankan koneksi ke cache, Anda perlu menyegarkan token. Contoh ini menunjukkan cara melakukan ini menggunakan Python.
Buat file teks baru, tambahkan skrip berikut. Kemudian, simpan file sebagai
PythonApplication2.py
.Ganti
<Your Host Name>
dengan nilai dari instans Azure Cache for Redis Anda. Nama host Anda adalah formulir<DNS name>.redis.cache.windows.net
.Ganti
<Your Username>
dengan nilai dari 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()
Jalankan
PythonApplication2.py
dengan Python. Anda akan melihat hasil seperti contoh berikut:Tidak seperti contoh pertama, Jika token Anda kedaluwarsa, contoh ini secara otomatis me-refreshnya.
Membersihkan sumber daya
Jika Anda ingin terus menggunakan sumber daya yang Anda buat di artikel ini, simpan grup sumber daya.
Jika tidak, jika Anda sudah selesai dengan sumber daya, Anda dapat menghapus grup sumber daya Azure yang Anda buat untuk menghindari biaya.
Penting
Penghapusan grup sumber daya tidak bisa dipulihkan. Ketika Anda menghapus grup sumber daya, semua sumber daya di dalamnya 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 berisi sumber daya yang ingin Anda simpan, Anda dapat menghapus setiap sumber daya satu per satu alih-alih menghapus grup sumber daya.
Untuk menghapus grup sumber daya
Masuk ke portal Azure, lalu pilih Grup sumber daya.
Pilih grup sumber daya yang ingin Anda hapus.
Jika ada banyak grup sumber daya, gunakan kotak Filter untuk bidang apa pun... , ketik nama grup sumber daya yang Anda buat untuk artikel ini. Pilih grup sumber daya dalam daftar hasil.
Pilih Hapus grup sumber daya.
Anda diminta untuk mengonfirmasi penghapusan grup sumber daya. Ketik nama grup sumber daya Anda lagi untuk mengonfirmasi, lalu pilih Hapus.
Setelah beberapa saat, grup sumber daya dan semua sumber dayanya akan dihapus.