Öğretici: Python uygulamasında özel filtreyle koşullu özellikleri etkinleştirme
Özellik bayrakları, özellikleri koşullu olarak etkinleştirmek için özellik filtrelerini kullanabilir. Özellik filtreleri hakkında daha fazla bilgi edinmek için bkz . Öğretici: Özellik filtreleri ile koşullu özellikleri etkinleştirme.
Bu öğreticide kullanılan örnek, özellik yönetimi hızlı başlangıcında sunulan Python uygulamasını temel alır. Devam etmeden önce, Beta özellik bayrağına sahip bir Python uygulaması oluşturmak için hızlı başlangıcı tamamlayın. Tamamlandıktan sonra, Uygulama Yapılandırması deponuzdaki Beta özellik bayrağına özel bir özellik filtresi eklemeniz gerekir.
Bu öğreticide, özel özellik filtresi uygulamayı ve özellikleri koşullu olarak etkinleştirmek için özellik filtresini kullanmayı öğreneceksiniz.
Önkoşullar
- Özellik bayrağı olan bir Python uygulaması oluşturun.
- Özellik bayrağına özel özellik filtresi ekleme
Özel özellik filtresi uygulama
Önkoşullarda Beta özellik bayrağınız için Yüzde parametresiyle Random adlı özel bir özellik filtresi eklediniz. Ardından, Yüzde parametresi tarafından tanımlanan şansa göre Beta özellik bayrağını etkinleştirmek için özellik filtresini uygulayacaksınız.
Aşağıdaki koda sahip bir
RandomFilter.py
dosya ekleyin.import random from featuremanagement import FeatureFilter @FeatureFilter.alias("Random") class RandomFilter(FeatureFilter): def evaluate(self, context, **kwargs): value = context.get("parameters", {}).get("Value", 0) if value < random.randint(0, 100): return True return False
Kitaplıktan soyut sınıfı uygulayan
FeatureFilter
birRandomFilter
sınıf ekledinizFeatureManagement
. sınıfı,FeatureFilter
bir özellik bayrağı her değerlendirildiğinde çağrılan adlıevaluate
tek bir yönteme sahiptir. içindeevaluate
, bir özellik filtresi döndürerektrue
özellik bayrağını etkinleştirir.filtrenize, Azure Uygulaması Yapılandırması'ndaki Beta özellik bayrağında ayarladığınız filtre adıyla eşleşen rastgele bir diğer ad vermek için öğesini olarak dekore
FeatureFilter.alias
RandomFilter
ettiniz.app.py dosyasını açın ve oluştururken
FeatureManager
dosyasınıRandomFilter
kaydedin. Ayrıca, aşağıda gösterildiği gibi kodu otomatik olarak yenilenmeyecek ve Beta özellik bayrağına birkaç kez erişecek şekilde değiştirin.from featuremanagement import FeatureManager from azure.appconfiguration.provider import load from azure.identity import DefaultAzureCredential import os endpoint = os.environ.get("APPCONFIGURATION_ENDPOINT_STRING") # Connect to Azure App Configuration using and Endpoint and Azure Entra ID # 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=DefaultAzureCredential(), feature_flag_enabled=True) feature_manager = FeatureManager(config, feature_filters=[RandomFilter()]) for i in range(0, 10): print("Beta is", feature_manager.is_enabled("Beta"))
Özellik filtresi çalışır durumda
Uygulamayı çalıştırdığınızda yapılandırma sağlayıcısı, Azure Uygulaması Yapılandırması'ndan Beta özellik bayrağını yükler. yönteminin is_enabled("Beta")
sonucu konsola yazdırılır. RandomFilter
, Beta özellik bayrağı tarafından uygulandığında ve kullanıldığından, sonuç True
yüzde 50 ve False
diğer yüzde 50'si olur.
Uygulamayı çalıştırmak, Beta özellik bayrağının bazen etkinleştirildiğini ve bazen etkinleştirilmediğini gösterir.
Beta is True
Beta is False
Beta is True
Beta is True
Beta is True
Beta is False
Beta is False
Beta is False
Beta is True
Beta is True
Sonraki adımlar
Yerleşik özellik filtreleri hakkında daha fazla bilgi edinmek için aşağıdaki öğreticilere geçin.