Visual Studio kullanarak işlevleri Azure Storage bağlama

Azure Functions, kendi tümleştirme kodunuzu yazmak zorunda kalmadan Azure hizmetleri ve diğer kaynakları işlevlere bağlamanıza olanak tanır. Hem girişi hem de çıkışı temsil eden bu bağlamalar işlev tanımı içinde bildirilir. Bağlamalardan alınan veriler işleve parametre olarak sağlanır. Tetikleyici, özel bir giriş bağlama türüdür. Bir işlevin tek bir tetikleyicisi olsa da, birden çok giriş ve çıkış bağlaması olabilir. Daha fazla bilgi edinmek için bkz. Azure Functions tetikleyicileri ve bağlamaları kavramları.

Bu makalede, Visual Studio kullanarak önceki hızlı başlangıç makalesinde oluşturduğunuz işlevi Azure Storage bağlama işlemi gösterilmektedir. Bu işleve eklediğiniz çıkış bağlaması, HTTP isteğinden Azure Queue storage kuyruğundaki bir iletiye veri yazar.

Çoğu bağlantı, İşlevler'in bağlı hizmete erişmek için kullandığı depolanmış bir bağlantı dizesi gerektirir. Bunu kolaylaştırmak için işlev uygulamanızla oluşturduğunuz Storage hesabını kullanırsınız. Bu hesaba bağlantı, AzureWebJobsStorage adlı bir uygulama ayarında zaten depolanmış durumda.

Önkoşullar

Bu makaleye başlamadan önce şunlar gerekir:

  • Visual Studio hızlı başlangıcın 1. bölümü tamamlayın.
  • Azure Storage Explorer yükleyin. Storage Explorer, çıkış bağlamanız tarafından oluşturulan kuyruk iletilerini incelemek için kullanacağınız bir araçtır. Storage Explorer macOS, Windows ve Linux tabanlı işletim sistemlerinde desteklenir.
  • Visual Studio'den Azure aboneliğinizde oturum açın.

İşlev uygulaması ayarlarını indirme

önceki hızlı başlangıç makalesinde gerekli Storage hesabıyla birlikte Azure'de bir işlev uygulaması oluşturdunuz. Bu hesabın bağlantı dizesi, Azure'daki uygulama ayarlarında güvenli bir şekilde saklanır. Bu makalede, iletileri aynı hesaptaki bir Storage kuyruğuna yazarsınız. İşlevi yerel olarak çalıştırırken Storage hesabınıza bağlanmak için uygulama ayarlarını local.settings.json dosyasına indirmeniz gerekir.

  1. Solution Explorer'da project sağ tıklayın ve Publish öğesini seçin.

  2. Hosting altındaki Publish sekmesinde üç noktayı genişletin (... ) öğesini seçin ve Azure App Service ayarlarını yönet öğesini seçin.

    Uygulama ayarlarını düzenle

  3. AzureWebJobsStorage altında, Uzak dize değerini Yerel'e kopyalayın ve Tamam'ı seçin.

Bağlantı için AzureWebJobsStorage ayarını kullanan depolama bağlama artık yerel olarak çalışırken Kuyruk depolama bağlanabilir.

Bağlama uzantılarını kaydetme

Kuyruk depolama çıkış bağlaması kullandığınızdan, projeyi çalıştırmadan önce Depolama bağlamaları uzantısının yüklü olması gerekir. HTTP ve zamanlayıcı tetikleyicileri dışında bağlamalar uzantı paketleri olarak uygulanır.

  1. Tools menüsünden NuGet Package Manager>Package Manager Console öğesini seçin.

  2. konsolda, Storage uzantılarını yüklemek için aşağıdaki Install-Package komutunu çalıştırın:

    Install-Package Microsoft.Azure.Functions.Worker.Extensions.Storage.Queues
    

Artık projenize depolama çıkış bağlaması ekleyebilirsiniz.

Çıktı bağlaması ekleme

C# projelerinde bağlamalar, fonksiyon metodunda bağlama öznitelikleri olarak tanımlanır. Belirli tanımlar, uygulamanızın işlem içinde mi (C# sınıf kitaplığı) yoksa yalıtılmış bir çalışan işleminde mi çalıştığına bağlıdır.

HttpExample.cs project dosyasını açın ve aşağıdaki MultiResponse sınıfını ekleyin:

public class MultiResponse
{
    [QueueOutput("outqueue", Connection = "AzureWebJobsStorage")]
    public string[] Messages { get; set; }
    public IActionResult HttpResponse { get; set; }
}

MultiResponse sınıfı, outqueue adlı bir storage kuyruğuna ve bir HTTP başarı iletisi yazmanıza olanak tanır. Öznitelik bir dize dizisine uygulandığından kuyruğa QueueOutput birden çok ileti gönderilebilir.

Connection özelliği, depolama hesabı için bağlantı dizesini ayarlar. Bu durumda, varsayılan storage hesabını zaten kullandığınız için Connection atlayabilirsiniz.

Çıkış bağlaması kullanan kod ekleme

Bağlama tanımlandıktan sonra, bağlamayı işlev imzasında öznitelik olarak erişmek için name kullanabilirsiniz. Çıkış bağlaması kullanarak kimlik doğrulaması, kuyruk başvurusu alma veya veri yazma için Azure Storage SDK kodunu kullanmanız gerekmez. Fonksiyonlar çalışma zamanı ve kuyruk çıkış bağlaması bu görevleri sizin için yerine getirir.

Mevcut Run yöntemi aşağıdaki kodla değiştirin:

[Function("HttpExample")]
public MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req)
{
    _logger.LogInformation("C# HTTP trigger function processed a request.");

    var message = "Welcome to Azure Functions!";

    // Return a response to both HTTP trigger and storage output binding.
    return new MultiResponse()
    {
        // Write a single message.
        Messages = new string[] { message },
        HttpResponse = new OkObjectResult(message)
    };
}

İşlevi yerel olarak çalıştırma

  1. İşlevinizi çalıştırmak için Visual Studio F5 tuşlarına basın. Araçların HTTP isteklerini işleyebilmesi için bir güvenlik duvarı özel durumunu etkinleştirmeniz gerekebilir. Bir işlevi yerel olarak çalıştırdığınızda yetkilendirme düzeyleri hiçbir zaman uygulanmaz.

  2. Azure Functions çalışma zamanı çıkışından işlevinizin URL'sini kopyalayın.

    Azure local runtime

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

    Fonksiyon localhost yanıtı tarayıcıda

  4. Hata ayıklamayı durdurmak için Visual Studio Shift+F5 tuşlarına basın.

çıkış bağlaması ilk kez kullanıldığında İşlevler çalışma zamanı tarafından storage hesabınızda outqueue adlı yeni bir kuyruk oluşturulur. Kuyruğun yeni iletiyle birlikte oluşturulduğunu doğrulamak için Storage Explorer kullanacaksınız.

Storage Explorer hesabınıza bağlama

Azure Storage Explorer zaten yüklediyseniz ve Azure hesabınıza bağladıysanız bu bölümü atlayın.

  1. Azure Storage Explorer aracını çalıştırın, soldaki bağlan simgesini seçin ve Hesap ekle öğesini seçin.

    Microsoft Azure Storage Explorer'a Azure hesabı ekleme ekran görüntüsü.

  2. Connect iletişim kutusunda Azure hesabı ekle'i seçin, Azure ortamınızı seçin ve ardından Sign in... öğesini seçin. .

     Azure hesap pencerenizde oturum açma ekran görüntüsü.

Hesabınızda başarıyla oturum açtığınızda hesabınızla ilişkili tüm Azure aboneliklerini görürsünüz. Aboneliğinizi seçin ve Gezgini Aç'ı seçin.

Çıkış kuyruğunu inceleme

  1. Storage Explorer Queues düğümünü genişletin ve outqueue adlı kuyruğu seçin.

    Kuyruk, HTTP ile tetiklenen işlevi çalıştırdığınızda kuyruk çıkış bağlamasının oluşturduğu iletiyi içerir. İşlevi varsayılan name değeri Azure ile çağırdıysanız, kuyruk iletisi Name işlevine geçirilir: Azure.

    Azure Storage Explorer'da gösterilen kuyruk iletisinin ekran görüntüsü.

  2. İşlevi yeniden çalıştırın, başka bir istek gönderin ve kuyrukta yeni bir ileti görürsünüz.

Şimdi güncelleştirilmiş işlev uygulamasını Azure için yeniden yayımlamanın zamanı geldi.

Güncelleştirilmiş uygulamayı yeniden dağıtma ve doğrulama

  1. Solution Explorer'da project sağ tıklayın ve Publish öğesini seçin, ardından project Azure yeniden yayımlamak için Publish öğesini seçin.

  2. Dağıtım tamamlandıktan sonra yeniden dağıtılan işlevi test etmek için tarayıcıyı yeniden kullanabilirsiniz. Daha önce olduğu gibi sorgu dizesini &name=<yourname> URL'ye ekleyin.

  3. Yine storage kuyruğundaki iletiyi inceleyin çıkış bağlamasının kuyrukta yeniden yeni bir ileti oluşturduğunu doğrulayın.

Kaynakları temizleme

Bu koleksiyondaki diğer hızlı başlangıç kılavuzları, bu hızlı başlangıç kılavuzunu temel alır. Sonraki hızlı başlangıçlar, öğreticiler veya bu hızlı başlangıçta oluşturduğunuz hizmetlerden herhangi biriyle çalışmayı planlıyorsanız kaynakları temizlemeyin.

Azure'daki Kaynaklar işlev uygulamaları, işlevler, depolama hesapları ve benzeri anlamına gelir. Bunlar kaynak grupları halinde gruplandırılır ve grubu silerek gruptaki her şeyi silebilirsiniz.

Bu hızlı başlangıçları tamamlamak için kaynaklar oluşturdunuz. hesap durumunuz ve hizmet fiyatlandırması bağlı olarak bu kaynaklar için size fatura kesilebilir. Kaynaklara artık ihtiyacınız yoksa, şunları yaparak silebilirsiniz:

  1. Azure portal Kaynak grubu sayfasına gidin.

    İşlev uygulaması sayfasından bu sayfaya ulaşmak için Genel Bakış sekmesini ve ardından Kaynak grubu altındaki bağlantıyı seçin.

    İşlev uygulaması sayfasından silinecek kaynak grubunu seçmeyi gösteren ekran görüntüsü.

    Panodan bu sayfaya ulaşmak için Kaynak grupları'nı ve ardından bu makalede kullandığınız kaynak grubunu seçin.

  2. Kaynak grubu sayfasında, dahil edilen kaynakların listesini gözden geçirin ve bunların silmek istediğiniz kaynaklar olduğunu doğrulayın.

  3. Kaynak grubunu sil'i seçin ve yönergeleri izleyin.

    Silme işlemi birkaç dakika sürebilir. İşlem tamamlandığında, birkaç saniye boyunca bir bildirim görüntülenir. Bildirimi görüntülemek için sayfanın üst kısmındaki zil simgesini de seçebilirsiniz.

Sonraki adımlar

HTTP ile tetiklenen işlevinizi bir Storage kuyruğuna veri yazacak şekilde güncelleştirdiniz. İşlev geliştirme hakkında daha fazla bilgi edinmek için bkz. Visual Studio kullanarak Azure Functions geliştirme.

Ardından, işlev uygulamanız için Application Insights izlemeyi etkinleştirmeniz gerekir: