Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu hızlı başlangıçta bir Azure İşlevleri uygulaması oluşturacak ve içinde özellik bayrakları kullanacaksınız. Tüm özellik bayraklarınızı merkezi olarak depolamak ve durumlarını denetlemek için Azure Uygulama Yapılandırması'ndan özellik yönetimini kullanırsınız.
Önkoşullar
- Aktif bir aboneliğe sahip bir Azure hesabı. Ücretsiz bir tane oluşturun.
- Mağaza oluşturma öğreticisinde gösterildiği gibi bir Uygulama Yapılandırma deposu.
- Visual Studio, Azure geliştirme iş yükü ile.
Özellik bayrağı ekleme
Uygulama Yapılandırma deposuna Beta adlı bir özellik bayrağı ekleyin ve Etiket ve Açıklama değerlerini varsayılan değerleriyle bırakın. Azure portalını veya CLI'yı kullanarak bir depoya özellik bayrakları ekleme hakkında daha fazla bilgi için Özellik bayrağı oluşturma bölümüne gidin.
İşlev Uygulaması Oluşturma
Azure İşlevleri (C#) şablonunu seçerek Visual Studio kullanarak bir Azure İşlevleri uygulaması oluşturun. Bu şablon, projeniz için temel ayarları yapılandırma konusunda size yol gösterir. Ayrıntılı yönergeler için bkz. Visual Studio kullanarak Azure İşlevleri geliştirme.
İşlev Uygulamanızı oluştururken anahtar parametreleri için başvuru olarak aşağıdaki tabloyu kullanın.
| Ayarlar | Değer |
|---|---|
| İşlevler çalışanı | .NET 8.0 Yalıtılmış |
| İşlev | HTTP tetikleyicisi |
| Yetkilendirme düzeyi | Anonim |
Uyarı
Azure Uygulama Yapılandırması , yalıtılmış çalışan modelinde veya işlem içi modelde Azure İşlevleri ile kullanılabilir. Bu hızlı başlangıçta örnek olarak yalıtılmış çalışan modeli kullanılır. Her iki model için tam kod örneklerini Azure Uygulama Yapılandırması GitHub deposunda bulabilirsiniz.
Uygulama Yapılandırması deposuna bağlanma
Microsoft Entra Id (önerilen) veya bir bağlantı dizesi kullanarak Uygulama Yapılandırması mağazanıza bağlanabilirsiniz.
Projenize sağ tıklayın ve NuGet Paketlerini Yönet'i seçin. Gözat sekmesinde aşağıdaki NuGet paketlerinin en son kararlı sürümünü arayın ve projenize ekleyin.
- Microsoft.Azure.AppConfiguration.Functions.Worker
- Microsoft.FeatureManagement
- Azure.Identity (Azure Kimlik)
Program.cs açın ve kodu aşağıdaki gibi güncelleştirin. Yöntemini çağırarak Azure Uygulama Yapılandırması'nı
AddAzureAppConfigurationek yapılandırma kaynağı olarak eklersiniz.DefaultAzureCredentialöğesini Uygulama Yapılandırması deponuzda kimlik doğrulaması yapmak için kullanırsınız. Kimlik bilgilerinizi Uygulama Yapılandırması Veri Okuyucusu rolü atamak için yönergeleri izleyin. Uygulamanızı çalıştırmadan önce iznin yayılması için yeterli süreye izin verdiğinden emin olun.using Azure.Identity; using Microsoft.Azure.Functions.Worker.Builder; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Hosting; using Microsoft.FeatureManagement; var builder = FunctionsApplication.CreateBuilder(args); // Connect to Azure App Configuration builder.Configuration.AddAzureAppConfiguration(options => { Uri endpoint = new(Environment.GetEnvironmentVariable("AZURE_APPCONFIG_ENDPOINT") ?? throw new InvalidOperationException("The environment variable 'AZURE_APPCONFIG_ENDPOINT' is not set or is empty.")); options.Connect(endpoint, new DefaultAzureCredential()) // Load all feature flags with no label. To load feature flags with specific keys and labels, set via FeatureFlagOptions.Select. // Use the default refresh interval of 30 seconds. It can be overridden via FeatureFlagOptions.SetRefreshInterval. .UseFeatureFlags(); });yöntemi,
UseFeatureFlags()sağlayıcıya özellik bayraklarını yüklemesini sağlar. Varsayılan olarak, etiketsiz tüm özellik bayrakları her 30 saniyede bir yüklenir ve yenilenir. Özellik bayraklarının seçim ve yenileme davranışı diğer yapılandırma anahtar değerlerinden bağımsız olarak yapılandırılır. Bu davranışları,FeatureFlagOptionsyöntemineUseFeatureFlagseylem geçirerek özelleştirebilirsiniz. Yüklenecek özellik bayraklarının anahtarlarını ve etiketlerini belirtmek içinFeatureFlagOptions.Selectkullanın ve varsayılan yenileme aralığını geçersiz kılmak içinFeatureFlagOptions.SetRefreshIntervalkullanın.Tavsiye
Uygulamanıza özellik bayrakları dışında bir yapılandırmanın yüklenmesini istemiyorsanız, yalnızca var olmayan bir sahte anahtarı yüklemek için
options.Select("_")öğesini çağırabilirsiniz"_". Varsayılan olarak, hiçbir yöntem çağrılmazsaSelectUygulama Yapılandırma deponuzda etiket içermeyen tüm yapılandırma anahtar değerleri yüklenir.Azure Uygulama Yapılandırması ara yazılımını ekleyerek her işlev yürütmesinde otomatik özellik bayrağı yenilemeyi etkinleştirmek için Program.cs dosyasını güncelleştirin. Ayrıca özellik yönetimi hizmetini kaydederek daha sonra işlev kodunuzda eklemenizi ve kullanmanızı sağlarsınız.
// Connect to Azure App Configuration builder.Configuration.AddAzureAppConfiguration(options => { // Omitted the code added in the previous step. }); // Add Azure App Configuration middleware and feature management to the service collection. builder.Services .AddAzureAppConfiguration() .AddFeatureManagement(); // Use Azure App Configuration middleware for dynamic configuration and feature flag refresh. builder.UseAzureAppConfiguration(); builder.ConfigureFunctionsWebApplication(); builder.Build().Run();Function1.cs açın ve aşağıdaki ad alanını ekleyin.
using Microsoft.FeatureManagement;Bağımlılık ekleme yoluyla örneğini
IVariantFeatureManagerSnapshotalmak için oluşturucuyu güncelleştirin.private readonly IVariantFeatureManagerSnapshot _featureManager; private readonly ILogger<Function1> _logger; public Function1(IVariantFeatureManagerSnapshot featureManager, ILogger<Function1> logger) { _featureManager = featureManager; _logger = logger; }Özellik bayrağının
Rundurumuna göre bir yanıt iletisi döndürmek için yöntemini güncelleştirin.[Function("Function1")] public async Task<IActionResult> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequest req) { _logger.LogInformation("C# HTTP trigger function processed a request."); // Read feature flag string featureName = "Beta"; bool featureEnabled = await _featureManager.IsEnabledAsync(featureName, req.HttpContext.RequestAborted); return new OkObjectResult(featureEnabled ? $"The Feature Flag '{featureName}' is turned ON!" : $"The Feature Flag '{featureName}' is turned OFF"); }
İşlevi yerel olarak test etme
ortam değişkenini ayarlayın.
AZURE_APPCONFIG_ENDPOINT adlı ortam değişkenini Azure portalındaki mağazanıza genel bakış bölümünde bulunan Uygulama Yapılandırması deponuzun uç noktasına ayarlayın.
Windows komut istemini kullanıyorsanız, aşağıdaki komutu çalıştırın ve değişikliğin etkili olması için komut istemini yeniden başlatın:
setx AZURE_APPCONFIG_ENDPOINT "<endpoint-of-your-app-configuration-store>"PowerShell kullanıyorsanız aşağıdaki komutu çalıştırın:
$Env:AZURE_APPCONFIG_ENDPOINT = "<endpoint-of-your-app-configuration-store>"macOS veya Linux kullanıyorsanız aşağıdaki komutu çalıştırın:
export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'İşlevinizi test etmek için F5 tuşuna basın. İstenirse, Visual Studio'dan Azure Functions Core (CLI) araçlarını indirme ve yükleme isteğini kabul edin. Araçların HTTP isteklerini işleyebilmesi için bir güvenlik duvarı özel durumunu etkinleştirmeniz de gerekebilir.
Azure İşlevleri çalışma zamanı çıktısından işlevinizin URL'sini kopyalayın.
HTTP isteğinin URL'sini tarayıcınızın adres çubuğuna yapıştırın. Aşağıdaki görüntüde Beta özellik bayrağının devre dışı bırakıldığını belirten yanıt gösterilmektedir.
Azure portalında Uygulama Yapılandırma mağazanıza gidin. İşlemler'in altında Özellik yöneticisi'ni seçin, Beta özellik bayrağını bulun ve Etkin iki durumlu düğmesini Açık olarak ayarlayın.
Tarayıcıyı birkaç kez yenileyin. Yenileme aralığı zaman penceresi geçtiğinde sayfa, görüntüde gösterildiği gibi Beta özellik bayrağının açık olduğunu gösterecek şekilde değişir.
Kaynakları temizle
Bu makalede oluşturulan kaynakları kullanmaya devam etmek istemiyorsanız ücretlerden kaçınmak için burada oluşturduğunuz kaynak grubunu silin.
Önemli
Bir kaynak grubunu silmek geri alınamaz. Kaynak grubu ve içindeki tüm kaynaklar kalıcı olarak silinir. Yanlış kaynak grubunu veya kaynakları yanlışlıkla silmediğinizden emin olun. Bu makalenin kaynaklarını, saklamak istediğiniz diğer kaynakları içeren bir kaynak grubu içinde oluşturduysanız, kaynak grubunu silmek yerine her kaynağı ilgili bölmeden tek tek silin.
- Azure portalında oturum açın ve Kaynak grupları'nı seçin.
- Ada göre filtrele kutusuna kaynak grubunuzun adını girin.
- Genel bir bakış görmek için sonuç listesinde kaynak grubu adını seçin.
- Kaynak grubunu sil seçeneğini seçin.
- Kaynak grubunun silinmesini onaylamanız istenir. Onaylamak için kaynak grubunuzun adını girin ve Sil'i seçin.
Birkaç dakika sonra kaynak grubu ve tüm kaynakları silinir.
Sonraki Adımlar
Bu hızlı başlangıçta bir özellik bayrağı oluşturdunuz ve bunu bir Azure İşlevleri uygulamasıyla kullandınız.
.NET özellik yönetimi kitaplığının tam özellik çalıştırması için aşağıdaki belgeye geçin.
Azure Uygulaması Yapılandırması'nda özellik bayraklarını yönetme hakkında daha fazla bilgi edinmek için aşağıdaki öğreticiye geçin.