Hızlı Başlangıç: Azure Uygulaması Yapılandırması ile Azure İşlevleri uygulaması oluşturma

Bu hızlı başlangıçta, Azure Uygulaması Yapılandırma hizmetini bir Azure İşlevleri uygulamasına dahil ederek tüm uygulama ayarlarınızın kodunuzdan ayrı olarak depolanmasını ve yönetilmesini merkezi hale getireceksiniz.

Önkoşullar

Anahtar-değer ekleme

Uygulama Yapılandırması deposuna aşağıdaki anahtar değerini ekleyin ve Etiket ve İçerik Türü değerlerini varsayılan değerleriyle bırakın. Azure portalını veya CLI'yı kullanarak bir depoya anahtar-değer ekleme hakkında daha fazla bilgi için Anahtar-değer oluşturma bölümüne gidin.

Anahtar Değer
TestApp:Ayarlar:Message Azure Uygulaması Yapılandırmasından Veriler

İşlevler uygulaması oluşturma

Visual Studio'daki Azure İşlevleri proje şablonu, Azure'daki bir işlev uygulamasına yayımlayabileceğiniz bir C# sınıf kitaplığı projesi oluşturur. İşlevleri daha kolay yönetim, dağıtım, ölçeklendirme ve kaynakların paylaşımı için mantıksal birim olarak gruplandırmak için işlev uygulamasını kullanabilirsiniz.

  1. Visual Studio menüsünden Dosya>Yeni Proje'yi> seçin.

  2. Yeni proje oluştur'da, arama kutusuna işlevler yazın, Azure İşlevleri şablonunu seçin ve ardından İleri'yi seçin.

  3. Yeni projenizi yapılandırın bölümünde projeniz için bir Proje adı girin ve Oluştur'u seçin. İşlev uygulamasının adı, bir C# ad alanı olarak geçerli olmalıdır; bu nedenle alt çizgi, kısa çizgi veya alfasayısal olmayan herhangi bir karakter kullanmayın.

  4. Yeni Azure İşlevleri uygulama oluştur ayarları için aşağıdaki tabloda yer alan değerleri kullanın:

    Ayar Value Açıklama
    .NET sürümü .NET 6 Yalıtılmış Bu değer, yalıtılmış bir çalışan işleminde çalışan bir işlev projesi oluşturur. Yalıtılmış çalışan işlemi, .NET'in ve ayrıca .NET Framework'ün LTS olmayan diğer sürümünü destekler. Daha fazla bilgi için bkz. Azure İşlevleri çalışma zamanı sürümlerine genel bakış.
    İşlev şablonu HTTP tetikleyicisi Bu değer, HTTP isteği tarafından tetiklenen bir işlev oluşturur.
    Depolama hesabı (AzureWebJobs Depolama) Depolama öykünücüsü Azure'daki bir işlev uygulaması için depolama hesabı gerektiğinden, projenizi Azure'da yayımladığınızda bir uygulama atanır veya oluşturulur. HTTP tetikleyicisi bağlantı dizesi Azure Depolama hesabı kullanmaz; diğer tüm tetikleyici türleri geçerli bir Azure Depolama hesabı bağlantı dizesi gerektirir.
    Yetkilendirme düzeyi Anonim Oluşturulan işlev, anahtar gerektirmeden herhangi bir istemci tarafından tetiklenebilir. Bu yetkilendirme ayarı yeni işlevinizi test etmenizi kolaylaştırır. Anahtarlar ve yetkilendirme hakkında daha fazla bilgi için bkz . Yetkilendirme anahtarları ve HTTP ve web kancası bağlamaları.

    proje ayarlarını Azure İşlevleri

    Yetkilendirme düzeyini Anonim olarak ayarladığınızdan emin olun. varsayılan İşlev düzeyini seçerseniz işlev uç noktanıza erişme isteklerinde işlev anahtarını sunmanız gerekir.

  5. İşlev projesini ve HTTP tetikleyici işlevini oluşturmak için Oluştur'u seçin.

Uygulama Yapılandırması mağazasına Bağlan

Bu proje .NET Azure İşlevleri bağımlılık ekleme özelliğini kullanacak ve ek yapılandırma kaynağı olarak Azure Uygulaması Yapılandırması ekleyecektir. Azure İşlevleri işlem içinde veya yalıtılmış işlem çalıştırmayı destekler. Gereksinimlerinize uygun olanı seçin.

  1. Projenize sağ tıklayın ve NuGet Paketlerini Yönet'i seçin. Gözat sekmesinde aşağıdaki NuGet paketlerini arayın ve projenize ekleyin.

  2. Azure Uygulaması Yapılandırmasına bağlanmak için kod ekleyin.

    Aşağıdaki kodla Startup.cs yeni bir dosya ekleyin. Soyut sınıfını uygulayan FunctionsStartup adlı Startup bir sınıf tanımlar. Derleme özniteliği, Azure İşlevleri başlatma sırasında kullanılan tür adını belirtmek için kullanılır.

    ConfigureAppConfiguration yöntemi geçersiz kılınmış ve Azure Uygulaması Yapılandırma sağlayıcısı çağrılarak AddAzureAppConfiguration()ek bir yapılandırma kaynağı olarak eklenir. Configure Bu noktada herhangi bir hizmeti kaydetmeniz gerekmeyen yöntem boş bırakılır.

    using System;
    using Microsoft.Azure.Functions.Extensions.DependencyInjection;
    using Microsoft.Extensions.Configuration;
    
    [assembly: FunctionsStartup(typeof(FunctionApp.Startup))]
    
    namespace FunctionApp
    {
        class Startup : FunctionsStartup
        {
            public override void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder)
            {
                string cs = Environment.GetEnvironmentVariable("ConnectionString");
                builder.ConfigurationBuilder.AddAzureAppConfiguration(cs);
            }
    
            public override void Configure(IFunctionsHostBuilder builder)
            {
            }
        }
    }
    
  3. Function1.cs açın ve henüz yoksa aşağıdaki ad alanını ekleyin.

    using Microsoft.Extensions.Configuration;
    

    Bağımlılık ekleme yoluyla bir örneğini IConfiguration almak için kullanılan oluşturucuyu ekleyin veya güncelleştirin.

    private readonly IConfiguration _configuration;
    
    public Function1(IConfiguration configuration)
    {
        _configuration = configuration;
    }
    
  4. Yapılandırmadaki Run değerleri okumak için yöntemini güncelleştirin.

    [FunctionName("Function1")]
    public async Task<IActionResult> Run(
        [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, ILogger log)
    {
        log.LogInformation("C# HTTP trigger function processed a request.");
    
        // Read configuration data
        string keyName = "TestApp:Settings:Message";
        string message = _configuration[keyName];
    
        return message != null
            ? (ActionResult)new OkObjectResult(message)
            : new BadRequestObjectResult($"Please create a key-value with the key '{keyName}' in App Configuration.");
    }
    

    Not

    Function1 sınıfı ve Run yöntemi statik olmamalıdır. Otomatik olarak oluşturulduysa değiştiriciyi static kaldırın.

İşlevi yerel olarak test etme

  1. Bağlan ionString adlı bir ortam değişkeni ayarlayın ve bunu Uygulama Yapılandırması deponuzun erişim anahtarı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 ConnectionString "connection-string-of-your-app-configuration-store"
    

    Windows PowerShell kullanıyorsanız aşağıdaki komutu çalıştırın:

        $Env:ConnectionString = "connection-string-of-your-app-configuration-store"
    

    macOS veya Linux kullanıyorsanız aşağıdaki komutu çalıştırın:

        export ConnectionString='connection-string-of-your-app-configuration-store'
    
  2. İşlevinizi test etmek için F5 tuşuna basın. İstenirse Visual Studio'dan Azure İşlevleri 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.

  3. Azure İşlevleri çalışma zamanı çıktısından işlevinizin URL'sini kopyalayın.

    VS'de Hızlı Başlangıç İşlevi hata ayıklaması

  4. HTTP isteğinin URL’sini tarayıcınızın adres çubuğuna yapıştırın. Aşağıdaki görüntüde, tarayıcıda işlev tarafından döndürülen yerel GET isteğine verilen yanıt gösterilmektedir.

    Hızlı Başlangıç İşlevi yerel başlatma

Kaynakları temizleme

Bu makalede oluşturulan kaynakları kullanmaya devam etmek istemiyorsanız ücretlerden kaçınmak için burada oluşturduğunuz kaynak grubunu silin.

Önemli

Silinen kaynak grupları 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.

  1. Azure portalında oturum açın ve Kaynak grupları'nı seçin.
  2. Ada göre filtrele kutusuna kaynak grubunuzun adını girin.
  3. Genel bir bakış görmek için sonuç listesinde kaynak grubu adını seçin.
  4. Kaynak grubunu sil'i seçin.
  5. 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 yeni bir Uygulama Yapılandırması mağazası oluşturdunuz ve bunu Uygulama Yapılandırması sağlayıcısı aracılığıyla bir Azure İşlevleri uygulamasıyla kullandınız. yapılandırmayı dinamik olarak yenilemek üzere Azure İşlevleri uygulamanızı nasıl güncelleştireceğinizi öğrenmek için sonraki öğreticiye geçin.

Azure yönetilen kimliğini kullanarak Uygulama Yapılandırması erişimini kolaylaştırmayı öğrenmek için sonraki öğreticiye geçin.