Hızlı başlangıç: Azure Uygulama yapılandırması ile Azure Işlevleri uygulaması oluşturma

Bu hızlı başlangıçta, Azure App Configuration hizmetini bir Azure Işlevleri uygulamasına, tüm uygulama ayarlarınızı kodınızdan ayrı olarak depolamayı ve yönetimini merkezileştirmek için kullanacaksınız.

Önkoşullar

Uygulama yapılandırma deposu oluşturma

  1. Yeni bir uygulama yapılandırma deposu oluşturmak için Azure Portaloturum açın. Giriş sayfasının sol üst köşesinde kaynak oluştur' u seçin. Market 'te Ara kutusuna uygulama yapılandırması ' nı girin ve ENTER' u seçin.

    Uygulama yapılandırması ara

  2. Arama sonuçlarından uygulama yapılandırması ' nı seçin ve ardından Oluştur' u seçin.

    Oluştur’u seçin

  3. Uygulama yapılandırması oluştur bölmesinde, aşağıdaki ayarları girin:

    Ayar Önerilen değer Açıklama
    Abonelik Aboneliğiniz Uygulama yapılandırmasını test etmek için kullanmak istediğiniz Azure aboneliğini seçin. Hesabınızda yalnızca bir abonelik varsa, bu otomatik olarak seçilir ve abonelik listesi gösterilmez.
    Kaynak grubu AppConfigTestResources Uygulama yapılandırma deposu kaynağınız için bir kaynak grubu seçin veya oluşturun. Bu grup, kaynak grubunu silerek aynı anda silmek isteyebileceğiniz birden çok kaynağı düzenlemek için yararlıdır. Daha fazla bilgi için Azure kaynaklarınızı yönetmek için kaynak gruplarını kullanma konusunu inceleyin.
    Kaynak adı Genel olarak benzersiz bir ad Uygulama yapılandırma deposu kaynağı için kullanılacak benzersiz bir kaynak adı girin. Ad, 5 ila 50 karakter arasında bir dize olmalı ve yalnızca rakam, harf ve - karakter içermelidir. Ad, karakteriyle başlayamaz veya bitemez - .
    Konum Central US Uygulama yapılandırma deponuzın barındırıldığı coğrafi konumu belirtmek için konum ' i kullanın. En iyi performansı elde etmek için, kaynağı uygulamanızın diğer bileşenleriyle aynı bölgede oluşturun.
    Fiyatlandırma katmanı Ücretsiz İstediğiniz fiyatlandırma katmanını seçin. Daha fazla bilgi için bkz. uygulama yapılandırma fiyatlandırma sayfası.
  4. Ayarlarınızı doğrulamak için gözden geçir + oluştur ' u seçin.

  5. Oluştur’u seçin. Dağıtım birkaç dakika sürebilir.

  6. Dağıtım bittikten sonra uygulama yapılandırma kaynağına gidin. Ayarlar > Erişim anahtarları öğesini seçin. Birincil salt okunurdur anahtar bağlantı dizesini bir yere unutmayın. Uygulamanızı oluşturduğunuz uygulama yapılandırma deposuyla iletişim kuracak şekilde yapılandırmak için bu bağlantı dizesini daha sonra kullanacaksınız.

  1. Aşağıdaki anahtar-değer çiftlerini eklemek için yapılandırma Gezgini +anahtar-değer oluştur ' u seçin:

| Anahtar | Değer |
|---|---|
| TestApp: Ayarlar: ileti | Azure Uygulama yapılandırmasından veriler |

**Etiket** ve **içerik türü** şimdilik boş bırakın.
  1. Uygula’yı seçin.

Işlevler uygulaması oluşturma

Azure İşlevleri proje şablonu Visual Studio Azure'da bir işlev uygulamasına yayımlayabilirsiniz bir C# sınıf kitaplığı projesi oluşturur. Kaynakların daha kolay yönetimi, dağıtımı, ölçeklendirmesi ve paylaşımı için işlevleri mantıksal birim olarak gruplamanız için işlev uygulamasını kullanabilirsiniz.

  1. Dosya menüsünden Visual Studio Yeni > Dosya'Project. >

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

  3. Yeni projenizi yapılandırma alanına projeniz için bir Project adı girin ve Oluştur'a basın. İş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 bir uygulama Azure İşlevleri için aşağıdaki tabloda yer alan değerleri kullanın:

    Ayar Değer Açıklama
    .NET sürümü .NET Core 3 (LTS) Bu değer, çalışma zamanının 3.x sürümüyle işlem içinde Azure İşlevleri oluşturur. Azure İşlevleri 1.x, .NET Framework’ü destekler. Daha fazla bilgi için bkz. Azure İşlevleri çalışma zamanı sürümlerine genel bakış.
    İşlev şablonu HTTP tetikleyicisi Bu değer, bir HTTP isteği tarafından tetiklenen bir işlev oluşturur.
    Depolama hesabı (AzureWebJobsStorage) Depolama öykünücüsü Azure'daki bir işlev uygulaması bir depolama hesabı gerektirdiği için projenizi Azure'da yayımlasanız bir tane atanır veya oluşturulur. HTTP tetikleyicisi azure hesap Depolama dizesini kullanmaz; diğer tüm tetikleyici türleri için geçerli bir Azure Depolama bağlantı dizesi gerekir.
    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ı.

    Azure İşlevleri ayarlarını değiştirme

    Yetkilendirme düzeyini Anonim olarak ayarlayalın. İşlev'in varsayılan düzeyini seçerseniz işlev anahtarını işlev uç noktanıza erişme isteklerinde sunsanız gerekir.

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

uygulama yapılandırma deposuna Bağlan

Bu proje, .net Azure işlevlerine bağımlılık ekleme ve ek yapılandırma kaynağı olarak Azure Uygulama yapılandırması 'nı kullanacaktır.

  1. projenize sağ tıklayın ve NuGet paketlerini yönet' i seçin. araştır sekmesinde, aşağıdaki NuGet paketlerini arayıp projenize ekleyin.

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

    ConfigureAppConfigurationYöntemi geçersiz kılınır ve Azure uygulama yapılandırma sağlayıcısı, çağırarak ek bir yapılandırma kaynağı olarak eklenir AddAzureAppConfiguration() . ConfigureBu noktada herhangi bir hizmeti kaydetmeniz gerekmiyorsa 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. İşlev1. cs' yi açın ve aşağıdaki ad alanını ekleyin.

    using Microsoft.Extensions.Configuration;
    

    Bağımlılık ekleme aracılığıyla bir örneğini almak için kullanılan bir Oluşturucu ekleyin IConfiguration .

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

    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.");
    
        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

    Function1Sınıfı ve Run yöntemi statik olmamalıdır. Otomatik olarak static belirtilmişse değiştiriciyi kaldırın.

İşlevi yerel olarak test etme

  1. ConnectionString adlı bir ortam değişkeni ayarlayın ve uygulama yapılandırma deponuzu için erişim anahtarı olarak ayarlayın. Windows komut istemi ' ni kullanırsanız, aşağıdaki komutu çalıştırın ve değişikliğin etkili olması için komut istemi ' ni 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 şu 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. istenirse, Azure işlevleri çekirdek (clı) araçlarını indirmek ve yüklemek için Visual Studio isteği kabul edin. Ayrıca, araçların HTTP isteklerini işleyebilmesi için bir güvenlik duvarı özel durumu etkinleştirmeniz gerekebilir.

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

    VS 'de hızlı başlangıç Iş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, bu işlevin döndürdüğü yerel GET isteğine tarayıcıda yapılan yanıt gösterilmektedir.

    Hızlı başlangıç Işlevi yerel başlatma

Kaynakları temizleme

Bu makalede oluşturulan kaynakları kullanmaya devam etmek istemiyorsanız, ücretlendirmemek 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 makaleye ait kaynakları tutmak istediğiniz diğer kaynakları içeren bir kaynak grubu içinde oluşturduysanız, kaynak grubunu silmek yerine her kaynağı ilgili bölmeden ayrı ayrı silin.

  1. Azure Portaloturum açın ve kaynak grupları' nı seçin.
  2. Ada göre filtrele kutusuna kaynak grubunuzun adını girin.
  3. Sonuç listesinde, bir genel bakışı görmek için 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ırma deposu oluşturdunuz ve bunu uygulama yapılandırma sağlayıcısıaracılığıyla bir Azure işlevleri uygulamasıyla kullandınız. Yapılandırmayı dinamik olarak yenilemek üzere Azure Işlevleri uygulamanızı güncelleştirme hakkında bilgi edinmek için sonraki öğreticiye geçin.