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 akan membuat bendera fitur di Azure App Configuration dan menggunakannya untuk mengontrol aplikasi Python secara dinamis untuk membuat implementasi manajemen fitur end-to-end.
Dukungan manajemen fitur memperluas fitur konfigurasi dinamis di App Configuration. Contoh-contoh ini dalam mulai cepat dibangun pada aplikasi python yang diperkenalkan dalam tutorial konfigurasi dinamis. Sebelum melanjutkan, selesaikan mulai cepat dan tutorial untuk membuat aplikasi python dengan konfigurasi dinamis terlebih dahulu.
Pustaka ini tidak memiliki dependensi pada pustaka Azure apa pun. Mereka berintegrasi dengan App Configuration dengan lancar melalui penyedia konfigurasi Python-nya.
Prasyarat
- Akun Azure dengan langganan aktif. Buat akun gratis.
- Penyimpanan App Configuration, seperti yang ditunjukkan dalam tutorial untuk membuat penyimpanan.
- Python 3.8 atau yang lebih baru - untuk informasi tentang menyiapkan Python di Windows, lihat dokumentasi Python di Windows, jika tidak, lihat unduhan python.
- pustaka azure-appconfiguration-provider 1.2.0 atau yang lebih baru.
Menambahkan bendera fitur
Tambahkan bendera fitur yang disebut Beta ke penyimpanan App Configuration dan biarkan Label dan Deskripsi dengan nilai defaultnya. Untuk informasi selengkapnya tentang cara menambahkan bendera fitur ke penyimpanan menggunakan portal Azure atau CLI, buka Membuat bendera fitur. Pada tahap ini, kotak centang Aktifkan bendera fitur harus tidak dicentang.
Aplikasi konsol
Instal Manajemen Fitur dengan menggunakan
pip installperintah .pip install featuremanagementBuat file python baru yang disebut
app.pydan tambahkan kode berikut:from featuremanagement import FeatureManager from azure.identity import InteractiveBrowserCredential from azure.appconfiguration.provider import load import os from time import sleep endpoint = os.environ["APP_CONFIGURATION_ENDPOINT"] # Connecting to Azure App Configuration using an endpoint # credential is used to authenticate the client, the InteractiveBrowserCredential is used for this sample. It will open a browser window to authenticate the user. For all credential options see [credential classes](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/identity/azure-identity#credential-classes). # feature_flag_enabled makes it so that the provider will load feature flags from Azure App Configuration # feature_flag_refresh_enabled makes it so that the provider will refresh feature flags from Azure App Configuration, when the refresh operation is triggered config = load(endpoint=endpoint, credential=InteractiveBrowserCredential(), feature_flag_enabled=True, feature_flag_refresh_enabled=True) feature_manager = FeatureManager(config) # Is always false print("Beta is ", feature_manager.is_enabled("Beta")) while not feature_manager.is_enabled("Beta"): sleep(5) config.refresh() print("Beta is ", feature_manager.is_enabled("Beta"))
Saat memulai aplikasi, jendela browser akan terbuka untuk mengautentikasi pengguna. Pengguna harus memiliki setidaknya App Configuration Data Reader peran untuk mengakses penyimpanan App Configuration, lihat Peran App Configuration untuk informasi selengkapnya.
Atur variabel lingkungan bernama APP_CONFIGURATION_ENDPOINT, dan atur ke titik akhir ke penyimpanan App Configuration Anda. Di baris perintah, jalankan perintah berikut dan hidupkan ulang perintah agar perubahan berlaku:
Untuk membuat dan menjalankan aplikasi secara lokal menggunakan perintah Windows, jalankan perintah berikut:
setx APP_CONFIGURATION_ENDPOINT "<endpoint-of-your-app-configuration-store>"Hidupkan ulang perintah untuk mengizinkan perubahan. Validasi bahwa itu diatur dengan benar dengan mencetak nilai variabel lingkungan.
Jalankan aplikasi python.
python app.pyDi portal App Configuration pilih Pengelola Fitur, dan ubah status bendera fitur Beta menjadi Aktif, menggunakan tombol di kolom Diaktifkan .
Tombol Status Beta Aktif Setelah sekitar 30-an, yang merupakan interval refresh untuk penyedia, aplikasi akan mencetak yang berikut:
Beta is True
Aplikasi web
Contoh berikut menunjukkan cara memperbarui aplikasi web yang ada, menggunakan Azure App Configuration dengan refresh dinamis untuk juga menggunakan bendera fitur. Lihat Konfigurasi Dinamis Python untuk contoh yang lebih rinci tentang cara menggunakan refresh dinamis untuk nilai konfigurasi. Sebelum melanjutkan, pastikan Anda mengaktifkan bendera fitur Beta di penyimpanan App Configuration Anda.
Di app.py, siapkan metode beban Azure App Configuration untuk memuat bendera fitur tambahan, bersama dengan mengaktifkan refresh bendera fitur.
from featuremanagement import FeatureManager
...
global azure_app_config, feature_manager
# Connecting to Azure App Configuration using an endpoint
# credential is used to authenticate the client, the InteractiveBrowserCredential is used for this sample. It will open a browser window to authenticate the user. For all credential options see [credential classes](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/identity/azure-identity#credential-classes).
# feature_flag_enabled makes it so that the provider will load feature flags from Azure App Configuration
# feature_flag_refresh_enabled makes it so that the provider will refresh feature flags from Azure App Configuration, when the refresh operation is triggered
azure_app_config = load(endpoint=endpoint, credential=InteractiveBrowserCredential(),
refresh_on=[WatchKey("sentinel")],
on_refresh_success=on_refresh_success,
refresh_interval=10, # Default value is 30 seconds, shortened for this sample
feature_flag_enabled=True,
feature_flag_refresh_enabled=True,
)
feature_manager = FeatureManager(config)
Perbarui juga rute Anda untuk memeriksa bendera fitur yang diperbarui.
@app.route("/")
def index():
...
context["message"] = azure_app_config.get("message")
context["beta"] = feature_manager.is_enabled("Beta")
...
Perbarui templat index.html Anda untuk menggunakan bendera fitur baru.
...
<body>
<main>
<div>
<h1>{{message}}</h1>
{% if beta %}
<h2>Beta is enabled</h2>
{% endif %}
</div>
</main>
</body>
Setelah memperbarui dan menjalankan aplikasi, Anda dapat melihat bendera fitur dalam tindakan, di mana Beta is enabled pesan akan muncul di halaman, tetapi hanya jika bendera fitur diaktifkan di penyimpanan App Configuration.
Anda dapat menemukan proyek sampel lengkap di sini.
Setiap kali titik akhir ini dipicu, pemeriksaan refresh dapat dilakukan untuk memastikan nilai konfigurasi terbaru digunakan. Pemeriksaan dapat segera kembali jika interval refresh belum berlalu atau refresh sudah berlangsung.
Saat refresh selesai, semua nilai diperbarui sekaligus, sehingga konfigurasi selalu konsisten dalam objek.
Membersihkan sumber daya
Jika Anda tidak ingin terus menggunakan sumber daya yang dibuat dalam artikel ini, hapus grup sumber daya yang Anda buat di sini untuk menghindari biaya.
Penting
Penghapusan grup sumber daya tidak bisa dipulihkan. Grup sumber daya dan semua sumber daya yang ada di dalamnya akan dihapus secara permanen. Pastikan Anda tidak menghapus grup atau sumber daya yang salah secara tidak sengaja. Jika Anda membuat sumber daya untuk artikel ini dalam grup sumber daya yang ada yang berisi sumber daya lain yang ingin disimpan, hapus setiap sumber daya satu per satu dari panelnya masing-masing, bukan menghapus grup sumber daya.
- Masuk ke portal Azure, lalu pilih Grup sumber daya.
- Dalam kotak Filter menurut nama, masukkan nama grup sumber daya Anda.
- Dalam daftar hasil, pilih nama grup sumber daya untuk melihat gambaran umum.
- Pilih Hapus grup sumber daya.
- Anda akan diminta untuk mengonfirmasi penghapusan grup sumber daya. Masukkan nama grup sumber daya Anda untuk mengonfirmasi, dan pilih Hapus.
Setelah beberapa saat, grup sumber daya dan semua sumber dayanya akan dihapus.
Langkah berikutnya
Dalam mulai cepat ini, Anda membuat penyimpanan App Configuration baru dan menggunakannya untuk mengelola fitur di aplikasi Python melalui pustaka Manajemen Fitur.
- Pelajari selengkapnya mengenai pengelolaan fitur.
- Kelola tanda fitur.