host.json dosyasındaki Dayanıklı İşlevler ayarları

Azure İşlevleri uygulamanızın görev hub'ı davranışını, depolama sağlayıcılarını ve performans seçeneklerini denetlemek için host.json dosyasındaki Dayanıklı İşlevler ayarlarını yapılandırın. host.json dosyasındaki genel ayarlar hakkında bilgi için Azure İşlevleri 1.x için host.json başvurusu veya Azure İşlevleri 2.x ve sonrası için host.json başvurusu sayfalarına bakın.

Dayanıklı İşlevler için yapılandırma ayarları.

Uyarı

Dayanıklı İşlevler'in tüm ana sürümleri Azure İşlevleri çalışma zamanının tüm sürümlerinde desteklenir. Ancak host.json yapılandırmasının şeması, Azure İşlevleri çalışma zamanının sürümüne ve kullandığınız Dayanıklı İşlevler uzantısının sürümüne bağlı olarak biraz farklılık gösterir.

Aşağıdaki kod, durableTask'daki iki ayar örneği sağlar: biri Dayanıklı İşlevler 2.x ve biri Dayanıklı İşlevler 1.x için. Her iki örneği de Azure İşlevleri 2.0 ve 3.0 ile kullanabilirsiniz. Azure İşlevleri 1.0 ile kullanılabilir ayarlar aynıdır, ancak durableTaskhost.json bölümü, altında bir alan olmak yerine extensions yapılandırmasının kökünde yer alır.

{
 "extensions": {
  "durableTask": {
    "hubName": "MyTaskHub",
    "defaultVersion": "1.0",
    "versionMatchStrategy": "CurrentOrOlder",
    "versionFailureStrategy": "Reject",
    "storageProvider": {
      "connectionStringName": "AzureWebJobsStorage",
      "controlQueueBatchSize": 32,
      "controlQueueBufferThreshold": 256,
      "controlQueueVisibilityTimeout": "00:05:00",
      "FetchLargeMessagesAutomatically": true,
      "maxQueuePollingInterval": "00:00:30",
      "partitionCount": 4,
      "trackingStoreConnectionStringName": "TrackingStorage",
      "trackingStoreNamePrefix": "DurableTask",
      "useLegacyPartitionManagement": false,
      "useTablePartitionManagement": true,
      "workItemQueueVisibilityTimeout": "00:05:00",
      "QueueClientMessageEncoding": "UTF8"
    },
    "tracing": {
      "traceInputsAndOutputs": false,
      "traceReplayEvents": false,
    },
    "httpSettings":{
      "defaultAsyncRequestSleepTimeMilliseconds": 30000,
      "useForwardedHost": false,
    },
    "notifications": {
      "eventGrid": {
        "topicEndpoint": "https://topic_name.westus2-1.eventgrid.azure.net/api/events",
        "keySettingName": "EventGridKey",
        "publishRetryCount": 3,
        "publishRetryInterval": "00:00:30",
        "publishEventTypes": [
          "Started",
          "Completed",
          "Failed",
          "Terminated"
        ]
      }
    },
    "maxConcurrentActivityFunctions": 10,
    "maxConcurrentOrchestratorFunctions": 10,
    "maxConcurrentEntityFunctions": 10,
    "extendedSessionsEnabled": false,
    "extendedSessionIdleTimeoutInSeconds": 30,
    "useAppLease": true,
    "useGracefulShutdown": false,
    "maxEntityOperationBatchSize": 50,
    "maxOrchestrationActions": 100000,
    "storeInputsInOrchestrationHistory": false
  }
 }
}
Property Varsayılan değer Description
merkezAdı TestHubName (v1.x'te DurableFunctionsHub) İşlev uygulamasının geçerli durumunu depolayan hub'ın adı. Görev merkezi adları bir harfle başlamalı ve yalnızca harfler ve rakamlardan oluşmalıdır. Bir ad belirtmezseniz, varsayılan değer kullanılır. Alternatif görev hub'ı adları, aynı depolama arka ucunu kullansalar bile birden çok Dayanıklı İşlev uygulamasını birbirinden yalıtmak için kullanılabilir. Daha fazla bilgi için Görev merkezlerine bakın.
defaultVersion Yeni düzenleme örneklerine atanacak varsayılan sürüm. Bir sürüm belirttiğinizde, yeni düzenleme örnekleri bu sürüm değeriyle kalıcı olarak ilişkilendirilir. Bu ayar, kesintisiz dağıtımlar gibi senaryoları etkinleştirmek için orkestrasyon sürümlendirme özelliği tarafından, işlevselliği etkileyebilecek değişikliklerle kullanılır. Sürüm için herhangi bir dize değeri kullanabilirsiniz.
sürümEşlemeStratejisi GüncelveyaEski Orchestrator işlevleri yüklendiğinde düzenleme sürümlerinin nasıl eşleştirildiğini belirten bir değer. Geçerli değerler: None, Strict ve CurrentOrOlder. Ayrıntılı açıklamalar için Orchestration sürümleme bölümüne bakın.
sürümHataStratejisi Reddet Düzenleme sürümü geçerli defaultVersion değerle örtüşmediğinde ne olacağını belirten bir değer. Geçerli değerler: Reject ve Fail. Ayrıntılı açıklamalar için Orchestration sürümleme bölümüne bakın.
controlQueueBatchSize 32 Bir kerede kontrol kuyruğundan çekilecek mesaj sayısı.
controlQueueBufferThreshold Python için tüketim planı: 32
Diğer diller için tüketim planı: 128
Özel veya Premium plan: 256
Bir kerede bellekte arabelleğe alınabilen denetim kuyruğu iletilerinin sayısı. Belirtilen numaraya ulaşıldığında, dağıtıcı diğer iletileri sıra kaldırmadan durdurur. Bazı durumlarda, bu değerin azaltılması bellek tüketimini önemli ölçüde azaltabilir.
partitionCount 4 Denetim kuyruğunun bölüm sayısı. Bu değer 1 ile 16 arasında pozitif bir tamsayı olmalıdır. Bu değerin değiştirilmesi için yeni bir görev hub'ı yapılandırılması gerekir.
kontrolKuyrukGörünürlükZamanAşımı 00:05:00 Kuyruktan çıkarılan kontrol kuyruğu iletilerinin hh:mm:ss biçiminde görünürlük zaman aşımı.
işÖğesiKuyruğuGörünürlükZamanAşımı (workItemQueueVisibilityTimeout) 00:05:00 Sıralanmamış iş öğesi kuyruk iletilerinin hh:mm:ss biçiminde görünürlük zaman aşımı.
BüyükMesajlarıOtomatikOlarakGetir doğru Orkestrasyon durumu sorgularında büyük iletilerin alınıp alınmayacağını belirten bir değer. Bu ayar olduğunda true, kuyruk boyutu sınırını aşan büyük iletiler alınır. Bu ayar olduğunda false, her büyük iletiyi işaret eden bir blob URL'si alınır.
Maksimum Eşzamanlı Etkinlik Fonksiyonları Tüketim planı: 10
Ayrılmış veya Premium plan: Geçerli makinedeki işlemci sayısının 10 katı
Tek bir ana bilgisayar örneğinde aynı anda işlenebilecek maksimum etkinlik fonksiyonu sayısı.
Maksimum Eşzamanlı Orkestratör Fonksiyonları Tüketim planı: 5
Ayrılmış veya Premium plan: Geçerli makinedeki işlemci sayısının 10 katı
Tek bir sunucu örneğinde eş zamanlı olarak işlenebilecek en fazla orkestratör işlevi sayısı.
Maksimum Eşzamanlı Varlık Fonksiyonları Tüketim planı: 5
Ayrılmış veya Premium plan: Geçerli makinedeki işlemci sayısının 10 katı
Tek bir konak örneğinde eşzamanlı olarak işlenebilen en fazla öğe fonksiyonu sayısı. Bu ayar yalnızca dayanıklı görev zamanlayıcısını kullandığınızda geçerlidir. Aksi takdirde, eşzamanlı varlık yürütme sayısı maxConcurrentOrchestratorFunctions değeriyle sınırlıdır.
maxQueuePollingInterval (maksimum sıra arama aralığı) 00:00:30 hh:mm:ss biçiminde maksimum kontrol ve iş öğesi kuyruğu yoklama aralığı. Daha yüksek değerler daha yüksek ileti işleme gecikmelerine neden olabilir. Daha düşük değerler, artan depolama işlemleri nedeniyle daha yüksek depolama maliyetlerine neden olabilir.
maxOrchestrationActions 100,000 Bir düzenleyici işlevinin tek bir yürütme döngüsü sırasında gerçekleştirebileceği en fazla eylem sayısı.
connectionName (v2.7.0 ve üzeri)
connectionStringName (v2.x)
azureStorageConnectionStringName (v1.x)
AzureWebJobsStorage Altında yatan Azure Depolama kaynaklarına nasıl bağlanılacağını belirten bir uygulama ayarının veya ayar koleksiyonunun adı. Tek bir uygulama ayarı sağladığınızda, bu bir Azure Depolama bağlantı dizesi olmalıdır.
trackingStoreConnectionName (v2.7.0 ve üzeri)
trackingStoreBağlantıDizesiAdı
Yürütme geçmişini ve düzenleme örnekleriyle ilgili meta verileri depolayan Geçmiş ve Örnekler tablolarına nasıl bağlanıldığını belirten bir uygulama ayarının veya ayar koleksiyonunun adı. Tek bir uygulama ayarı sağladığınızda, bu bir Azure Depolama bağlantı dizesi olmalıdır. Bir ayar belirtmezseniz, connectionStringName değer (v2.x) veya azureStorageConnectionStringName değer (v1.x) bağlantısı kullanılır.
trackingStoreNamePrefix trackingStoreConnectionStringName belirtildiği zaman Geçmiş ve Örnekler tabloları için kullanılacak ön ek. Ön ek belirtmezseniz varsayılan değeri DurableTask kullanılır. Belirtilmezse trackingStoreConnectionStringName, Geçmiş ve Örnekler tabloları ön ek olarak hubName değerini kullanır ve trackingStoreNamePrefix ayarı görmezden gelinir.
GirdiVeÇıktılarıİzle false İşlev çağrılarının girişlerinin ve çıkışlarının izlenip izlenmeyeceğini gösteren bir değer. İşlev yürütme olayları izlendiğinde, varsayılan davranış işlev çağrıları için serileştirilmiş girişlere ve çıkışlara bayt sayısını eklemektir. Bu davranış, günlüklerin şişmesini önlemek ve hassas bilgileri istemeden ifşa etmemek için girişler ve çıkışlar hakkında minimum düzeyde bilgi sağlar. Bu özellik olduğunda true, işlev girişlerinin ve çıkışlarının tüm içeriği günlüğe kaydedilir.
traceReplayEvents false Uygulama Bilgileri'ne orkestrasyon yeniden yürütme olaylarının yazılıp yazılmayacağını gösteren bir değer.
kayıtYenidenOynatmaOlayları false Yeniden oynatılan yürütmelerin uygulama günlüklerinde kaydedilip kaydedilmeyeceğini gösteren değer.
eventGridTopicEndpoint (etkinlik ızgarası konu son noktası) Azure Event Grid özel konu uç noktasının URL'si. Bu özelliği ayarladığınızda, düzenleme yaşam döngüsü bildirim olayları bu uç noktada yayımlanır. Bu özellik, uygulama ayarları çözümlemesini destekler.
eventIzgaraAnahtarAyarAdı URL'deki Event Grid özel konusuyla kimlik doğrulaması için kullanılan anahtarı içeren uygulama ayarının EventGridTopicEndpoint adı.
eventGridPublishRetryCount (Olay Grid Yayın Yeniden Deneme Sayısı) 0 Event Grid konusuna yayımlama başarısız olursa yeniden deneme sayısı.
eventGridYayınlamaYenidenDenemeAralığı 00:05:00 Event Grid yayımlama-yeniden deneme aralığı hh:mm:ss biçimindedir.
eventGridYayımlaEtkinlikTürleri Event Grid'de yayımlayacak olay türlerinin listesi. Herhangi bir tür belirtmezseniz, tüm olay türleri yayımlanır. İzin verilen değerler , Started, Completedve Faileddeğerlerini içerirTerminated.
UzatılmışOturumlarEtkin false Oturum düzenleyici ve varlık işlevi oturumlarının önbelleğe alınıp alınmayacağını belirten bir değer.
oturumUzamışBoştaZamanAşımıSaniyeCinsinden 30 Boşta kalan düzenleyici veya varlık işlevinin kaldırılmadan önce bellekte kaldığı saniye sayısı. Bu ayar yalnızca extendedSessionsEnabled ayarı true olduğunda kullanılır.
useAppLease fonksiyonu doğru Uygulamaların görev hub'ı iletilerini işlemeden önce uygulama düzeyinde bir blob kiralaması alması gerekip gerekmediğini gösteren bir değer. Daha fazla bilgi için bkz. Dayanıklı İşlevler'ta felaket kurtarma ve coğrafi dağıtım. Bu ayar v2.3.0'dan itibaren kullanılabilir.
EskiBölümYönetiminiKullan false Kullanılacak bölüm yönetimi algoritmasının türünü belirten bir değer. Bu ayar olduğunda false, ölçeği genişletirken yinelenen işlev yürütme olasılığını azaltan bir algoritma kullanılır. Bu ayar v2.3.0'dan itibaren kullanılabilir. Bu değerin olarak true ayarlanması önerilmez.
Tablo Bölüm Yönetimini Kullan v3.x'te: true
v2.x'te: false
Kullanılacak bölüm yönetimi algoritmasının türünü belirten bir değer. Bu ayar true olduğunda, Azure Depolama v2 hesaplarının maliyetlerini azaltmak için tasarlanmış bir algoritma kullanılır. Bu ayar WebJobs.Extensions.DurableTask v2.10.0'dan başlayarak kullanılabilir. Bu ayarı yönetilen kimlikle kullanmak için WebJobs.Extensions.DurableTask v3.x veya üzeri ya da Worker.Extensions.DurableTask v1.2.x veya üzeri gerekir.
useGracefulShutdown (nazik bir kapatma işlemini kullan) false (Önizleme) İşlem içi işlev yürütmelerinin başarısız olmasına neden olabilecek konak kapatma olasılığını azaltmak için sistemin nazik bir şekilde kapatılıp kapatılmayacağını belirten bir değer.
maksVarlıkİşlemTopluİşlemBoyutu Tüketim planı: 50
Adanmış veya Premium plan: 5.000
Bir toplu işlem olarak işlenen varlık operasyonlarının maksimum sayısı. Bu değer 1 ise, toplu işlem devre dışı bırakılır ve ayrı bir işlev çağrısı her işlem iletisini işler. Bu ayar v2.6.1'den itibaren kullanılabilir.
Orkestrasyon Geçmişine Girdileri Kaydet false Girişlerin nasıl depolandığını belirten bir değer. Bu ayar olduğunda true, Dayanıklı Görev Çerçevesi Geçmiş tablosuna etkinlik girişlerini kaydeder ve etkinlik işlevi girişleri düzenleme geçmişi sorgu sonuçlarında görünür.
maxGrpcMesajBoyutuBaytCinsinden 4,194,304 Genel Uzak Yordam Çağrısı (gRPC) istemcisinin alabileceği iletilerin bayt cinsinden en büyük boyutunu ayarlayan bir tamsayı değeri. uygulaması DurableTaskClient , düzenleme örneklerini yönetmek için gRPC istemcisini kullanır. Bu ayar yalıtılmış Dayanıklı İşlevler .NET çalışan ve Java uygulamaları için geçerlidir.
grpcHttpClientZamanAşımı 00:01:40 Dayanıklı İşlevler'deki gRPC istemcisinin kullandığı HTTP istemcisi için hh:mm:ss formatında zaman aşımı süresi. İstemci şu anda .NET yalıtılmış çalışan uygulamaları (.NET 6 ve üzeri sürümler) ve Java uygulamaları için desteklenmektedir.
KuyrukİstemciMesajKodlama UTF8 Azure Kuyruk Depolama iletileri için kodlama stratejisi. Geçerli stratejiler Unicode Dönüştürme Biçimi–8 bit (UTF8) ve Base64'tür. Bu ayar, Microsoft.Azure.WebJobs.Extensions.DurableTask 3.4.0 veya üzeri ya da Microsoft.Azure.Functions.Worker.Extensions.DurableTask 1.7.0 veya üzeri sürümlerini kullandığınızda geçerlidir.
Varsayılan Asenkron İstek Uyuma Süresi Milisaniye 30000 Asenkron HTTP API'leri için milisaniye cinsinden varsayılan yoklama aralığı. İstemci HTTP durum sorgu uç noktasını kullanarak uzun süre çalışan bir düzenlemenin durumunu yokladığında, bu değer istemcinin yeniden yoklamadan önce ne kadar beklemesi gerektiğini belirler.
useForwardedHost false True olarak ayarlandığında, uzantı HTTP yanıtlarında URL'ler oluşturmak için X-Forwarded-Host ve X-Forwarded-Proto üst bilgilerini kullanır.

Bu ayarların çoğu performansı optimize etmek içindir. Daha fazla bilgi için Performans ve ölçek bölümüne bakın.

Sonraki Adımlar