Aracılığıyla paylaş


Azure İşlevleri 1.x için host.json başvurusu

İşlev uygulama örneğindeki tüm işlevleri etkileyen yapılandırma seçeneklerini içeren host.json meta verisi dosyası. Bu makale, sürüm 1.x çalışma zamanı için kullanılabilir ayarları listeler. JSON şeması konumundadır http://json.schemastore.org/host.

Uyarı

Bu makale Azure Functions 1.x içindir. Azure Functions 2.x ve sonrası için host.json'un referansı için Azure Functions 2.x için host.json referansı bölümüne bakın.

Diğer fonksiyon uygulaması yapılandırma seçenekleri app settings bölümünüzde yönetilir.

Bazı host.json ayarları, yalnızca local.settings.json dosyasında yerel olarak çalıştırıldığında kullanılır.

Örnek host.json dosyası

Aşağıdaki örnek host.json dosyaları tüm olası seçenekler belirtilmiş.

{
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    },
    "applicationInsights": {
        "sampling": {
          "isEnabled": true,
          "maxTelemetryItemsPerSecond" : 5
        }
    },
    "documentDB": {
        "connectionMode": "Gateway",
        "protocol": "Https",
        "leaseOptions": {
            "leasePrefix": "prefix"
        }
    },
    "eventHub": {
      "maxBatchSize": 64,
      "prefetchCount": 256,
      "batchCheckpointFrequency": 1
    },
    "functions": [ "QueueProcessor", "GitHubWebHook" ],
    "functionTimeout": "00:05:00",
    "healthMonitor": {
        "enabled": true,
        "healthCheckInterval": "00:00:10",
        "healthCheckWindow": "00:02:00",
        "healthCheckThreshold": 6,
        "counterThreshold": 0.80
    },
    "http": {
        "routePrefix": "api",
        "maxOutstandingRequests": 20,
        "maxConcurrentRequests": 10,
        "dynamicThrottlesEnabled": false
    },
    "id": "9f4ea53c5136457d883d685e57164f08",
    "logger": {
        "categoryFilter": {
            "defaultLevel": "Information",
            "categoryLevels": {
                "Host": "Error",
                "Function": "Error",
                "Host.Aggregator": "Information"
            }
        }
    },
    "queues": {
      "maxPollingInterval": 2000,
      "visibilityTimeout" : "00:00:30",
      "batchSize": 16,
      "maxDequeueCount": 5,
      "newBatchThreshold": 8
    },
    "sendGrid": {
        "from": "Contoso Group <admin@contoso.com>"
    },
    "serviceBus": {
      "maxConcurrentCalls": 16,
      "prefetchCount": 100,
      "autoRenewTimeout": "00:05:00",
      "autoComplete": true
    },
    "singleton": {
      "lockPeriod": "00:00:15",
      "listenerLockPeriod": "00:01:00",
      "listenerLockRecoveryPollingInterval": "00:01:00",
      "lockAcquisitionTimeout": "00:01:00",
      "lockAcquisitionPollingInterval": "00:00:03"
    },
    "tracing": {
      "consoleLevel": "verbose",
      "fileLoggingMode": "debugOnly"
    },
    "watchDirectories": [ "Shared" ],
}

Bu makalenin aşağıdaki bölümleri her bir üst düzey özelliği açıklar. Aksi belirtilmedikçe hepsi isteğe bağlıdır.

toplayıcı

Uygulama İçgörülerini Hesaplarken kaç tane işlev çağrısının toplandığını belirtir.

{
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    }
}
Mülkiyet Varsayılan Açıklama
yığın boyutu 1000 Toplanacak isteklerin maksimum sayısı.
flushTimeout 00:00:30 Azami toplama süresi.

Fonksiyon çağrıları, iki sınırdan birine ilk ulaşıldığında birleştirilir.

Uygulama İçgörüleri

Uygulama İçgörüleri'ndeki örnekleme özelliğini kontrol eder.

{
    "applicationInsights": {
        "sampling": {
          "isEnabled": true,
          "maxTelemetryItemsPerSecond" : 5
        }
    }
}
Mülkiyet Varsayılan Açıklama
etkinleştirildi doğru Örneklemeyi etkinleştirir veya devre dışı bırakır.
maxTelemetryItemsPerSecond 5 Örnekleme işleminin başladığı eşik.

DocumentDB

Azure Cosmos DB tetikleyicisi ve bağlamaları için yapılandırma ayarları.

{
    "documentDB": {
        "connectionMode": "Gateway",
        "protocol": "Https",
        "leaseOptions": {
            "leasePrefix": "prefix1"
        }
    }
}
Mülkiyet Varsayılan Açıklama
Ağ Geçidi Modu Geçit Fonksiyonun Azure Cosmos DB servisine bağlanırken kullandığı bağlantı modu. Seçenekler Direct ve Gateway
Protokol Https Fonksiyonun Azure Cosmos DB servisi ile bağlantı kurarken kullandığı bağlantı protokolü. Her iki modun da açıklaması için burayı okuyun
leasePrefix Yok Bir uygulama içinde tüm fonksiyonlarda kullanılacak kira öneki.

kalıcıGörev

Yapılandırma ayarları Durable Functions için.

Uyarı

Tüm ana Durable Functions sürümleri, Azure Functions çalışma zamanının tüm sürümlerinde desteklenmektedir. 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ü, extensions altında bir alan olmak yerine host.json 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,
    },
    "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
  }
 }
}
Mülkiyet Varsayılan değer Açıklama
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, Strictve 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.
bölümSayısı 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.
KuyrukGörünürlüğüZamanAşımıKontrolü 00:05:00 Kuyruktan çıkarılan kontrol kuyruğu iletilerinin hh:mm:ss biçiminde görünürlük zaman aşımı.
işKalemiKuyrukGörünürlükZamanAşımı 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.
maksKuyrukAnketAralığı 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 mesaj işleme gecikmelerine neden olabilir. Düşük değerler, artan depolama işlemleri nedeniyle daha yüksek depolama maliyetlerine yol açabilir.
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 Bir uygulama ayarının ya da ayar koleksiyonunun, temel Azure Depolama kaynaklarına nasıl bağlanılacağını belirten 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 Geçmiş ve Örnekler tabloları için trackingStoreConnectionStringName belirtildiğinde 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Çıkışlarıİzle yanlış İş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 yanlış Uygulama Bilgileri'ne orkestrasyon yeniden yürütme olaylarının yazılıp yazılmayacağını gösteren bir değer.
kayıtYenidenOynatmaOlayları yanlış Yeniden oynatılan yürütmelerin uygulama günlüklerinde kaydedilip kaydedilmeyeceğini gösteren değer.
etkinlikIzgaraKonusuUç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ı.
EtkinlikIzlemeYayınlamaYenidenDeneAralığı 00:05:00 Event Grid yayımlama-yeniden deneme aralığı hh:mm:ss biçimindedir.
eventGridYayımlaEtkinlikTürleri Yayınlamak için Event Grid'e gönderilecek etkinlik türlerinin bir 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 yanlış 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'de olağanüstü durum kurtarma ve coğrafi dağıtım. Bu ayar v2.3.0'dan itibaren kullanılabilir.
eskiBölümYönetiminiKullan yanlış 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 olduğunda true, 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) yanlış (Ö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
İşlemden geçirilen varlık operasyonlarının toplu iş olarak 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 yanlış 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 Dayanıklı İşlevler .NET yalıtılmış ç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.
QueueClientMessageEncoding 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 üzerini ya da Microsoft.Azure.Functions.Worker.Extensions.DurableTask 1.7.0 veya üstünü kullandığınızda geçerlidir.

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.

olay Hub'ı

Olay Merkezi tetikleyicileri ve bağlamaları için yapılandırma ayarları.

fonksiyonlar

İş ev sahibinin çalıştırdığı fonksiyonların listesi. Boş bir dizi, tüm fonksiyonları çalıştırmak anlamına gelir. Yerel olarak çalıştırıldığında kullanılmak üzere tasarlanmıştır. Azure'daki işlev uygulamalarında, bu ayarı kullanmak yerine belirli işlevleri devre dışı bırakmak için Azure İşlevleri'nde işlevleri devre dışı bırakma bölümünde yer alan adımları izlemeniz gerekir.

{
    "functions": [ "QueueProcessor", "GitHubWebHook" ]
}

functionTimeout

Tüm işlevler için zaman aşımı süresini belirtir. Sunucusuz Tüketim planında, geçerli aralık 1 saniyeden 10 dakikaya kadar olup, varsayılan değer 5 dakikadır. App Service planında, genel bir sınır yoktur ve varsayılan değer null olarak belirtilir, bu da zaman aşımı olmadığını gösterir.

{
    "functionTimeout": "00:05:00"
}

sağlık monitörü

Ana bilgisayar sağlık izleyicisi için yapılandırma ayarları.

{
    "healthMonitor": {
        "enabled": true,
        "healthCheckInterval": "00:00:10",
        "healthCheckWindow": "00:02:00",
        "healthCheckThreshold": 6,
        "counterThreshold": 0.80
    }
}
Mülkiyet Varsayılan Açıklama
etkinleştirildi doğru Özelliğin etkin olup olmadığını belirtir.
sağlıkKontrolAralığı 10 saniye Periyodik arka plan sağlık kontrolleri arasındaki zaman aralığı.
sağlık kontrol penceresi 2 dakika Kaydırmalı zaman penceresi, healthCheckThreshold ayarı ile birlikte kullanılır.
sağlık kontrol eşiği 6 Bir sunucu yenilemesi başlatılmadan önce sağlık kontrolü en fazla kaç kez başarısız olabilir.
counterThreshold 0.80 Performans sayacının iyi durumda olmayan olarak kabul edileceği eşik.

http

HTTP tetikleyicileri ve bağlamalar için yapılandırma ayarları.

{
    "http": {
        "routePrefix": "api",
        "maxOutstandingRequests": 200,
        "maxConcurrentRequests": 100,
        "dynamicThrottlesEnabled": true
    }
}
Mülkiyet Varsayılan Açıklama
DinamikThrottlesEtkin yanlış Etkinleştirildiğinde, bu ayar, istek işleme hattının, bağlantılar/iş parçacıkları/süreçler/bellek/cpu gibi sistem performansı sayaçlarını periyodik olarak kontrol etmesine neden olur ve bu sayaçlardan herhangi biri yerleşik bir yüksek eşik değerini (yüzde 80) aşarsa, sayaç(lar) normal seviyelere dönene kadar istekler 429 "Çok Meşgul" yanıtı ile reddedilir.
En Fazla Eşzamanlı İstekler sınırsız (-1) Paralel olarak çalıştırılacak maksimum HTTP fonksiyonu sayısı. Bu, eşzamanlılığı kontrol etmenizi sağlar, bu da kaynak kullanımını yönetmeye yardımcı olabilir. Örneğin, eşzamanlılık çok yüksek olduğunda sorunlara neden olacak şekilde çok fazla sistem kaynağı (bellek/cpu/yuva) kullanan bir HTTP işlevine sahip olabilirsiniz. Ya da üçüncü taraf bir hizmete giden istekler yapan bir fonksiyonunuz olabilir ve bu çağrıların oranlarının sınırlandırılması gerekebilir. Bu durumlarda, burada gaz vermek yardımcı olabilir.
maxOutstandingRequests sınırsız (-1) Herhangi bir zamanda tutulan bekleyen istek sayısı üst sınırı. Bu limit, sıraya alınmış ancak çalışmaya başlamamış istekleri ve şu anda yürütülmekte olan işlemleri içerir. Bu sınırın üzerindeki tüm gelen talepler 429 "Çok Meşgul" yanıtı ile reddedilir. Bu, çağıranların zamana dayalı yeniden deneme stratejilerini kullanmasına olanak tanır ve ayrıca maksimum istek gecikme sürelerini denetlemenize yardımcı olur. Bu, yalnızca betik ana bilgisayar yürütme yolu içinde gerçekleşen sıralamayı kontrol eder. ASP.NET istek kuyruğu gibi diğer kuyruklar bu ayardan etkilenmeyecek ve yürürlükte kalmaya devam edecektir.
rotaÖneki API Tüm rotalara uygulanan rota öneki. Varsayılan ön eki kaldırmak için boş bir dize kullanın.

kimlik

İş sunucusu için benzersiz kimlik. Küçük harfli ve tireleri kaldırılmış bir GUID olabilir. Yerel olarak çalıştırıldığında gereklidir. Azure'da çalıştırırken, bir kimlik değeri belirlememenizi öneriyoruz. Azure'da id atlandığında bir kimlik otomatik olarak oluşturulur.

Birden fazla işlev uygulaması arasında bir Depolama hesabını paylaşırsanız, her işlev uygulamasının farklı bir id olduğundan emin olun. id özelliğini atlayabilir veya her bir işlev uygulamasının id değerini manuel olarak farklı bir değere ayarlayabilirsiniz. Zamanlayıcı tetikleyici, bir işlev uygulaması birden fazla örneğe ölçeklendiğinde yalnızca bir zamanlayıcı örneği olmasını sağlamak için bir depolama kilidi kullanır. İki işlev uygulaması aynı id paylaşır ve her biri bir zamanlayıcı tetikleyici kullanırsa, yalnızca bir zamanlayıcı çalışır.

{
    "id": "9f4ea53c5136457d883d685e57164f08"
}

Oduncu

ILogger nesnesi veya context.log tarafından yazılan günlükler için filtrelemeyi denetler.

{
    "logger": {
        "categoryFilter": {
            "defaultLevel": "Information",
            "categoryLevels": {
                "Host": "Error",
                "Function": "Error",
                "Host.Aggregator": "Information"
            }
        }
    }
}
Mülkiyet Varsayılan Açıklama
kategori filtresi Yok Kategoriye göre filtrelemeyi belirtir
varsayılanSeviye Bilgi categoryLevels dizisinde belirtilmeyen herhangi bir kategori için, günlükleri bu seviyede ve üzerinde Application Insights'a gönderin.
kategori seviyeleri Yok Her kategori için Application Insights'e gönderilecek minimum günlük seviyesini belirten kategoriler dizisi. Burada belirtilen kategori, aynı değerle başlayan tüm kategorileri kontrol eder ve daha uzun değerler öncelikli olur. Önceki örnek host.json dosyasında, "Host.Aggregator" ile başlayan tüm kategoriler Information seviyesinde kaydedilir. "Host.Executor" gibi "Host" ile başlayan diğer tüm kategoriler, Error seviyesinde günlük kaydı yapar.

kuyruklar

Depolama kuyruğu tetikleyicileri ve bağlayıcılar için yapılandırma ayarları.

{
    "queues": {
      "maxPollingInterval": 2000,
      "visibilityTimeout" : "00:00:30",
      "batchSize": 16,
      "maxDequeueCount": 5,
      "newBatchThreshold": 8
    }
}
Mülkiyet Varsayılan Açıklama
maksimum anket aralığı 60000 Kuyruk anketleri arasındaki maksimum aralık milisaniye cinsindendir.
görünürlükZamanAşımı 0 Bir mesajın işlenmesi başarısız olduğunda tekrar deneme arasındaki zaman aralığı.
yığın boyutu 16 Functions çalışma zamanı tarafından eşzamanlı olarak alınan ve paralel olarak işlenen kuyruk mesajlarının sayısı. İşlenen sayının newBatchThreshold öğesine ulaştığında, çalışma zamanı başka bir toplu iş alır ve bu iletileri işlemeye başlar. İşlev başına işlenen eşzamanlı mesajların maksimum sayısı batchSize artı newBatchThreshold şeklindedir. Bu sınır, kuyrukla tetiklenen her işlev için ayrı ayrı uygulanır.

Bir kuyruğa alınan mesajlar için paralel yürütmeyi önlemek istiyorsanız, batchSize değerini 1 olarak ayarlayabilirsiniz. Ancak bu ayar, işlev uygulamanız tek bir sanal makinede (VM) çalıştığı sürece eşzamanlılığı ortadan kaldırır. İşlev uygulamasının ölçeği birden çok VM'ye genişletilirse, her VM kuyrukla tetiklenen her işlevin bir örneğini çalıştırabilir.

batchSize Maksimum değer 32'dir.
maxDequeueCount (azami sıra çıkarma sayısı) 5 Bir mesajı işleme sırasında hata kuyruğuna taşımadan önce denenecek sayıda kez.
newBatchThreshold Yığın Boyutu/2 Aynı anda işlenen mesajların sayısı bu sayıya düştüğünde, çalışma zamanı başka bir grup işlem alır.

SendGrid

SendGrind output binding için yapılandırma ayarı

{
    "sendGrid": {
        "from": "Contoso Group <admin@contoso.com>"
    }
}    
Mülkiyet Varsayılan Açıklama
itibaren Yok Tüm işlevlerde gönderenin e-posta adresi.

serviceBus

Service Bus tetikleyicileri ve bağlamaları için yapılandırma ayarları.

{ 
    "serviceBus": {
      "maxConcurrentCalls": 16,
      "prefetchCount": 100,
      "autoRenewTimeout": "00:05:00",
      "autoComplete": true
    }
}
Mülkiyet Varsayılan Açıklama
Maksimum Eşzamanlı Çağrılar 16 Mesaj pompasının başlatması gereken geri çağrıya yönelik eş zamanlı aramaların maksimum sayısı. varsayılan olarak İşlevler çalışma zamanı birden çok iletiyi eşzamanlı olarak işler. Çalışma zamanını aynı anda yalnızca bir sıra veya konu mesajını işlemeye yönlendirmek için, maxConcurrentCalls öğesini 1 olarak ayarlayın.
önyüklemeSayısı Yok Temel alınan ServiceBusReceiver tarafından kullanılacak varsayılan PrefetchCount.
autoRenewTimeout 00:05:00 Mesaj kilidinin otomatik olarak yenileneceği maksimum süre.
otomatik tamamlama doğru True olduğunda, tetikleyici işlemin başarıyla yürütülmesinde ileti işlemeyi otomatik olarak tamamlar. Yanlış olduğunda, döndürmeden önce işlevin mesajı tamamlaması gerekir.

Singleton

Singleton kilit davranışı için yapılandırma ayarları. Daha fazla bilgi için, singleton desteği hakkında GitHub sorununa bakın.

{
    "singleton": {
      "lockPeriod": "00:00:15",
      "listenerLockPeriod": "00:01:00",
      "listenerLockRecoveryPollingInterval": "00:01:00",
      "lockAcquisitionTimeout": "00:01:00",
      "lockAcquisitionPollingInterval": "00:00:03"
    }
}
Mülkiyet Varsayılan Açıklama
kilitleme süresi 00:00:15 İşlev düzeyi kilitlerin alındığı dönem. Kilitler otomatik olarak yenilenir.
dinleyiciLockPeriod 00:01:00 Dinleyici kilitlerinin alınma süresi.
dinleyiciKilitKurtarmaAnketAralığı 00:01:00 Başlangıçta dinleyici kilidi edinilemediyse dinleyici kilit kurtarma için kullanılan zaman aralığı.
lockAcquisitionTimeout 00:01:00 Çalışma zamanı kilit elde etmek için denediği maksimum süre.
lockAcquisitionPollingInterval Yok Kilit edinim denemeleri arasındaki süre aralığı.

izleme

Sürüm 1.x

Bir TraceWriter nesnesi kullanarak oluşturduğunuz günlüklerin yapılandırma ayarları. Daha fazla bilgi için [C# Logging]'e bakın.

{
    "tracing": {
      "consoleLevel": "verbose",
      "fileLoggingMode": "debugOnly"
    }
}
Mülkiyet Varsayılan Açıklama
consoleLevel Bilgi Konsol günlüğü için izleme seviyesi. Seçenekler: off, error, warning, info, ve verbose.
dosya günlüğü modu sadece hata ayıklama Dosya günlüğü için izleme düzeyi. Seçenekler never, always, debugOnly.

watchDirectories

Değişiklikler için izlenmesi gereken paylaşılan kod dizinleri kümesi. Kodun bu dizinlerde değiştirilmesi durumunda, değişikliklerin işlevleriniz tarafından algılanmasını sağlar.

{
    "watchDirectories": [ "Shared" ]
}

Sonraki adımlar