Hızlı Başlangıç: Dayanıklı Görev Zamanlayıcı'yı kullanmak için bir Dayanıklı İşlevler uygulaması yapılandırma

Dayanıklı İşlevler uygulamalarınız için orkestrasyon ve varlık çalışma zamanı durumunu depolamak üzere Durable Task Scheduler'ı arka uç olarak kullanın. Bu hızlı başlangıçta, Durable Task Scheduler kullanacak şekilde zaten yapılandırılmış bir Hello Cities örneğini klonlar, onu öykünücüyle yerel olarak çalıştırır ve ardından Azure’a dağıtırsınız.

  • Dayanıklı Görev Zamanlayıcı için önceden yapılandırılmış Hello Cities örneğini kopyalayın.
  • Yerel geliştirme için Durable Task Scheduler öykünücüsünü kurun.
  • Örneği çalıştırın ve düzenleme çıktısını doğrulayın.
  • Uygulamanızı Azure dağıtın ve Dayanıklı Görev Zamanlayıcı panosu aracılığıyla izleyin.

Önkoşullar

  • Dayanıklı İşlevler uygulaması oluşturun - JavaScript

Tavsiye

Öykünücü çalıştırıldıktan sonra, düzenlemeleri izlemek için adresindeki http://localhost:8082 Dayanıklı Görev Zamanlayıcı panosuna erişebilirsiniz.

Hızlı başlangıç örneğini çalıştırma

Microsoft.Azure.Functions.Worker.Extensions.DurableTask.AzureManaged paketinin en son sürümünü dotnet add package komutunu kullanarak yükleyin.

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.DurableTask.AzureManaged --prerelease

Uyarı

Dayanıklı Görev Zamanlayıcı uzantısı, Microsoft.Azure.Functions.Worker.Extensions.DurableTask sürüm 1.2.2 veya üzerini gerektirir.

  1. İşlev uygulamasını derleyin ve başlatın:

    dotnet build
    func start
    

host.jsoniçinde, özelliğini Dayanıklı Görev Zamanlayıcı desteği içeren 4.32.0 veya sonraki bir sürümü kullanacak şekilde güncelleştirin extensionBundle :

{
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[4.32.0, 5.0.0)"
  }
}
  1. İşlev uygulamasını başlatın:

    func start
    
  1. İşlev uygulamasını derleyin ve başlatın:

    mvn clean package
    mvn azure-functions:run
    
  1. Ayrı bir terminalde bir düzenleme tetikleyin:

    $response = Invoke-RestMethod -Method POST -Uri http://localhost:7071/api/DurableFunctionsOrchestrationCSharp1_HttpStart
    $response
    
  1. Ayrı bir terminalde bir düzenleme tetikleyin:

    $response = Invoke-RestMethod -Method POST -Uri http://localhost:7071/api/StartChaining
    $response
    
  1. Yanıt, düzenleme örneğinin durum URL'lerini içerir. Sonucu denetlemek için sorgula statusQueryGetUri :

    Invoke-RestMethod -Uri $response.statusQueryGetUri
    

    Orkestrasyonun runtimeStatus öğesi Completed olduğunda, çıkış selamlama sonuçlarını içerir. runtimeStatus, Running veya Pending gösteriyorsa biraz bekleyin ve yeniden sorgulayın.

  2. Orkestrasyon örneği hakkında daha fazla ayrıntıyı adresindeki http://localhost:8082 görüntüleyin.

Dayanıklı Görev Zamanlayıcı yapılandırmasını anlama

Bu örneklerin Dayanıklı Görev Zamanlayıcı'yı kullanmasını sağlayan anahtar yapılandırması iki dosyadadır.

host.json

storageProvider bölümü, Dayanıklı İşlevler varsayılan Azure Depolama arka ucu yerine Dayanıklı Görev Zamanlayıcı'yı (azureManaged) kullanmasını söyler:

{
  "extensions": {
    "durableTask": {
      "hubName": "default",
      "storageProvider": {
        "type": "azureManaged",
        "connectionStringName": "DURABLE_TASK_SCHEDULER_CONNECTION_STRING"
      }
    }
  }
}

local.settings.json

Bağlantı dizesi, geliştirme için yerel emülatörü işaret eder:

{
  "Values": {
    "DURABLE_TASK_SCHEDULER_CONNECTION_STRING": "Endpoint=http://localhost:8080;TaskHub=default;Authentication=None"
  }
}

Uyarı

Mevcut bir Dayanıklı İşlevler uygulamasını geçirmek için bu iki dosyayı güncelleştirin ve dilinize uygun uzantı paketini ekleyin. .NET için Microsoft.Azure.Functions.Worker.Extensions.DurableTask.AzureManaged NuGet paketini yükleyin. Diğer diller için, host.json içindeki uzantı paketini [4.32.0, 5.0.0) sürümüne güncelleyin.

Uygulamanızı Azure'da çalıştırma

Gerekli kaynakları oluşturma

İşlev uygulaması tümleşik oluşturma akışının ardından Azure'da Dayanıklı Görev Zamanlayıcı örneği ve Azure İşlevleri uygulaması oluşturun. Bu deneyim, kimlik tabanlı erişimi otomatik olarak ayarlar ve uygulamanın zamanlayıcıya erişmesi için gerekli ortam değişkenlerini yapılandıracaktır.

  1. Fonksiyon uygulaması oluşturma paneline gidin.

    İşlev uygulamaları için barındırma seçeneklerinin ekran görüntüsü.

  2. İşlev Uygulaması Oluştur (Esnek Tüketim) dikey penceresinde Temel Bilgiler sekmesindeki bilgileri doldurun.

    Esnek Tüketim planı İşlev uygulaması oluşturmaya yönelik Temel sekmesinin ekran görüntüsü.

    Alan Açıklama
    Subscription Azure aboneliğinizi seçin.
    Kaynak Grubu Mevcut bir kaynak grubunu seçin veya yeni bir grup oluşturmak için Yeni oluştur'a tıklayın.
    İşlev Uygulamasının adı İşlev uygulamanız için benzersiz bir ad oluşturun.
    Kod veya kapsayıcı görüntüsü dağıtmak istiyor musunuz? Kod seçeneğinin seçili kalmasını sağlayın.
    Bölge Desteklenen bölgelerden birini seçin.
    Çalışma zamanı yığını Bu hızlı başlangıç için kullandığınız çalışma zamanını seçin.
    Sürüm Çalışma zamanı yığını sürümünüzü seçin.
    Örnek boyutu Bir örnek boyutu seçin veya varsayılan seçimi kullanın. Örnek boyutları hakkında daha fazla bilgi edinin.
    Alanlar Arası Yedeklilik Varsayılan Devre Dışı ayarı olarak bırakın.
  3. Dayanıklı İşlevler sekmesini seçin.

  4. Dayanıklı İşlevleriniz için arka uç sağlayıcısı olarak Azure tarafından yönetilen: Dayanıklı Görev Zamanlayıcı'yı seçin.

  5. Bir zamanlayıcı kaynağı oluşturun. Bu eylem otomatik olarak bir görev hub'ı oluşturur.

    Esnek Tüketim İşlevi uygulaması oluşturma işleminin ekran görüntüsü.

    Alan Açıklama
    Depolama altyapısı Azure tarafından yönetilen: Dayanıklı Görev Zamanlayıcı'yı seçin.
    Bölge Zamanlayıcı ve işlev uygulaması bölgelerinin aynı olduğundan emin olun.
    Dayanıklı Görev Zamanlayıcı Sunulan zamanlayıcı adını kullanın veya Özel ad oluşturmak için Yeni oluştur'a tıklayın.
    Tasarı Projenize en uygun fiyatlandırma planını seçin. Üretim kullanımı için en uygun planı belirlemek için Düzenleme çerçevesi seçme kılavuzunu gözden geçirin.
    Kapasite birimleri Yalnızca "Ayrılmış" fiyatlandırma planı seçildiğinde geçerlidir. En fazla 3 Kapasite Birimi seçebilirsiniz.
  6. Kaynak oluşturmayı gözden geçirmek için Gözden Geçir + oluştur'a tıklayın.

    Gerekli rol tabanlı erişim denetimi (RBAC) iznine sahip kullanıcı tarafından atanan yönetilen kimlik otomatik olarak oluşturulur ve İşlev uygulamasına eklenir. Yönetilen kimlik kaynağıyla ilgili özet görünüm bilgilerini bulabilirsiniz, örneğin:

    • Kendisine atanan rol (Dayanıklı Görev Verileri Katkıda Bulunanı)

    • Görev hub'ı düzeyi kapsamındaki atama

      Gözden Geçir ve oluştur sekmesinde seçilen ve gözden geçirilip incelenen alanların ve özelliklerin ekran görüntüsü.

  7. Doğrulama geçtikten sonra Oluştur'a tıklayın.

Kaynak dağıtımı yaklaşık 15-20 dakika sürebilir. Bu işlemi tamamladıktan sonra uygulamanızı Azure'a dağıtabilirsiniz.

İşlev uygulamanızı Azure'a dağıtma

Önemli

Mevcut bir işlev uygulamasına dağıtım yapıldığında Azure'da bu uygulamanın içeriğinin her zaman üzerine yazılacağını unutmayın.

  1. Komut paletine Azure İşlevleri: İşlev Uygulamasına Dağıt yazın ve seçin.

  2. Yeni oluşturduğunuz işlev uygulamasını seçin. Önceki dağıtımların üzerine yazmanız istendiğinde, işlev kodunuzu yeni işlev uygulaması kaynağına dağıtmak için Dağıt'ı seçin.

  3. Dağıtım tamamlandığında, oluşturduğunuz Azure kaynakları da dahil olmak üzere oluşturma ve dağıtım sonuçlarını görüntülemek için View Output öğesini seçin. Bildirimi kaçırırsanız, yeniden görmek için sağ alt köşedeki zil simgesini seçin.

    Çıktıyı Görüntüle penceresinin ekran görüntüsü.

İşlevler Premium planındaki uygulamalar

Uygulamanız İşlevler Premium planında çalışıyorsa, uygulamanızın yüke göre otomatik olarak ölçeklendirildiğinden emin olmak için dağıtımdan sonra Çalışma Zamanı Ölçeği İzleme ayarını açın:

az resource update -g <resource_group> -n <function_app_name>/config/web --set properties.functionsRuntimeScaleMonitoringEnabled=1 --resource-type Microsoft.Web/sites

İşlev uygulamanızı test edin

İşlevinizin URL'sini almak için aşağıdaki komutu çalıştırın:

az functionapp function list --resource-group <RESOURCE_GROUP_NAME> --name <FUNCTION_APP_NAME>  --query '[].{Function:name, URL:invokeUrlTemplate}' --output json

Orkestrasyon durumunu kontrol etme

Dayanıklı Görev Zamanlayıcı panosunda düzenleme örneğinin ve etkinlik ayrıntılarının durumunu denetleyin. Panoya erişmek için oturum açmanız gerekir.

Uyarı

Aşağıdaki yönerge, kapsamı belirli bir görev hub'ına göre belirlenmiş bir rol atamasını gösterir. Zamanlayıcıdaki tüm görev hub'larına erişmeniz gerekiyorsa, atamayı zamanlayıcı düzeyinde gerçekleştirin.

  1. Portalda Dayanıklı Görev Zamanlayıcı kaynağına gidin.

  2. Görev hub'ı adına tıklayın.

  3. Sol menüde Erişim denetimi (IAM) öğesini seçin.

  4. Rol ataması eklemek için Ekle'ye tıklayın.

    Portaldaki Erişim Denetimi bölmesinde rol ataması ekleme işleminin ekran görüntüsü.

  5. Dayanıklı Görev Verileri Katkıda Bulunanı'yı arayın ve seçin. Nextöğesine tıklayın.

    Portalda Dayanıklı Görev Verileri Katkı Sağlayıcı rol ataması seçiminin ekran görüntüsü.

  6. Üyeler sekmesinde, Erişim ata için Kullanıcı, grup veya hizmet sorumlusu seçeneğini seçin.

  7. Üyeler için + Üye seç'e tıklayın.

  8. Üyeleri seçin bölmesinde adınızı veya e-postanızı arayın:

    Portalda kullanıcı tarafından atanan yönetilen kimlik türünü seçme işleminin ekran görüntüsü.

  9. E-postanızı seçin ve Seç düğmesine tıklayın.

  10. Rolü atamayı tamamlamak için Gözden Geçir ve ata tıklayın.

  11. Rol atandıktan sonra görev hub'ı kaynağının sol menüsünde Genel Bakış'a tıklayın ve en üstteki Temel Parçalar bölümünde bulunan pano URL'sine gidin.

Kaynakları temizle

Hızlı başlangıcı tamamlamak için oluşturduğunuz kaynaklara artık ihtiyacınız yoksa, Azure aboneliğinizde ilgili maliyetlerden kaçınmak için kaynak grubunu ve tüm ilgili kaynakları geri alın.

Sonraki Adımlar