Azure işlevini yerel olarak çalıştırma ve test etme

Tamamlandı

Önceki alıştırmada Azure Maven arketipini kullanarak bir Azure İşlevi projesi oluşturdunuz. Sonraki göreviniz işlevinizi oluşturmak ve çalıştığını doğrulamak için yerel olarak çalıştırmaktır.

Bu ünitede, işlevlerinizi yerel olarak çalıştırmanıza ve test etmenize yardımcı olan Azure İşlevleri Temel Araçları hakkında bilgi edineceksiniz. Ayrıca test için bir HTTP bağlantı noktası açmayı, işlevinizi Cloud Shell'de çalıştırmayı ve işlevinizi web tarayıcısında test etmeyi de öğrenirsiniz.

Azure İşlevleri Temel Araçları hakkında

Azure Functions Core Tools, bir terminal öykünücüsü ve komut istemi kullanarak Azure İşlevleri’ni yerel olarak oluşturmaya ve test etmeye yönelik bir yardımcı program paketidir. Oluşturduğunuz Azure İşlevleri yerel olarak çalıştırılıyor olsa da, test sırasında canlı Azure hizmetlerine erişebilir. Testinizi tamamladığınızda ve işleviniz yayımlamaya hazır olduğunda işlev uygulamanızı Azure aboneliğinize dağıtabilirsiniz.

Şu anda Azure Functions Core Tools’un üç sürümü vardır. Ancak, genel bir kural olarak, daha önceki bir sürümü kullanmanız gerekmediği sürece, Azure'a dağıtım için işlevler geliştirirken her zaman en son sürümü kullanmanız gerekir. Bu modülde, Azure İşlevleri Core Tools'un en son sürümünü içeren Learn korumalı alanında Azure Cloud Shell'i kullanacaksınız.

Not

Learn korumalı alanında Cloud Shell yerine kendi kişisel Azure hesabınızı kullandıysanız Azure Functions Core Tools’un farklı sürümlerine yönelik açıklamaları, gereksinimleri ve yükleme yönergelerini öğrenmek için Azure Functions Core Tools ile çalışma makalesine bakmanız gerekebilir.

Cloud Shell ortamını test için yapılandırma

Cloud Shell'de çalışan web tabanlı bir uygulamayı test ederken uygulamayı test etmenin iki farklı yolu vardır:

  1. Cloud Shell'i kullanarak test için bir dış bağlantı noktası açabilirsiniz ve bu da HTTP isteklerini Cloud Shell örneğinizin localhost bağlantı noktasına yönlendirir:

    • Cloud Shell'den 7071 numaralı bağlantı noktasını açmak için aşağıdaki cURL komutunu kullanın:

      curl -X POST http://localhost:8888/openPort/7071
      
    • Testinizi tamamladığınızda, bağlantı noktasını kapatmak için aşağıdaki cURL komutunu kullanın:

      curl -X POST http://localhost:8888/closePort/7071
      
  2. Uygulamayı yerel olarak test etmek için Cloud Shell’in birden çok örneğini açabilirsiniz:

    • İlk örnekte uygulamayı çalıştırırsınız.

    • İkinci örnekte cURL kullanarak uygulamayı test edersiniz.

Sonraki alıştırmada, bağlantı noktasını açmak için ilk yöntemi kullanacaksınız.

İşlevinizi Cloud Shell’de çalıştırma

Test için bir bağlantı noktası açtıktan sonra, sonraki göreviniz işlevinizi derlemek ve yürütmektir. Bunu yapmak için aşağıdaki adımları kullanın:

  1. Cloud Shell'de dizini projenizin kök klasörü olarak değiştirin.

  2. Uygulamanızı derlemek için aşağıdaki Maven komutunu kullanın:

    mvn clean package
    
  3. Uygulamayı çalıştırmak için aşağıdaki Maven komutunu kullanın:

    mvn azure-functions:run
    

    Maven işleviniz için çalışma zamanı ortamını hazırlarken, Azure İşlevleri Core Tools logosunun gösterildiğini görürsünüz:

    Image showing the Azure Function Core tools logo.

  4. Testinizi tamamladıktan sonra, sunucuyu durdurmak için Azure Cloud Shell'den CTRL+C komutunu kullanın.

HTTP isteklerini kullanarak işlevinizi test etme

Bu modülde Cloud Shell'in tek bir örneğini kullanacaksınız. Sonuç olarak, web tarayıcınızda yeni bir sekme açarak uygulamanızı test etmeniz gerekir. Tarayıcının adres çubuğuna aşağıdaki örneğe benzer bir URL girin:

https://gateway.westus.console.azure.com/n/cc-12345678/cc-12345678/proxy/7071/api/HttpExample?name=Bob

Ancak Cloud Shell'in birden çok örneğini kullanıyorsanız, uygulamanızı kabuğun ayrı bir örneğinden test etmek için aşağıdaki cURL komutunu kullanabilirsiniz:

curl http://localhost:7071/api/HttpExample?name=Bob

Sonraki alıştırmada bu ünitede öğrendiklerini kullanacaksınız. Bir test bağlantı noktası açar, işlevinizi Cloud Shell'de çalıştırır ve işlevinizi bir web tarayıcısından test etmek için kullanmanız gereken URL'yi belirlersiniz.