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, kullandığınız Azure Functions çalışma zamanı ve Durable Functions uzantı sürümüne bağlı olarak, host.json yapılandırmasının şeması biraz farklıdır. Aşağıdaki örnekler, Azure Functions 2.0 ve 3.0 ile kullanıma yöneliktir. Her iki örnekte de Azure İşlevleri 1.0 kullanıyorsanız, kullanılabilir ayarlar aynıdır, ancak host.json "durableTask" bölümü "uzantılar" altındaki bir alan yerine host.json yapılandırmasının köküne girmelidir.

{
 "extensions": {
  "durableTask": {
    "hubName": "MyTaskHub",
    "storageProvider": {
      "connectionStringName": "AzureWebJobsStorage",
      "controlQueueBatchSize": 32,
      "controlQueueBufferThreshold": 256,
      "controlQueueVisibilityTimeout": "00:05:00",
      "maxQueuePollingInterval": "00:00:30",
      "partitionCount": 4,
      "trackingStoreConnectionStringName": "TrackingStorage",
      "trackingStoreNamePrefix": "DurableTask",
      "useLegacyPartitionManagement": false,
      "useTablePartitionManagement": true,
      "workItemQueueVisibilityTimeout": "00:05:00",
    },
    "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
  }
 }
}

Görev merkezi adları bir harfle başlamalı ve yalnızca harfler ve rakamlardan oluşmalıdır. Belirtilmediği takdirde, bir işlev uygulaması için varsayılan görev merkezi adı TestHubName'dir. Daha fazla bilgi için Görev merkezlerine bakın.

Mülkiyet Varsayılan Açıklama
merkezAdı TestHubName (Durable Functions 1.x kullanılıyorsa DurableFunctionsHub) Alternatif görev hub'ı adları, aynı depolama arka ucu kullansalar bile birden çok Dayanıklı İşlev uygulamasını birbirinden yalıtmak için kullanılabilir.
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
Ayrılmış/Premium plan: 256
Bir seferde bellekte tamponlanabilecek kontrol kuyruğu mesajlarının sayısı, bu noktada dağıtıcı, ek mesajları kuyruktan çıkarmadan önce bekler. 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ı. 1 ile 16 arasında pozitif bir tamsayı olabilir. 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ü 5 dakika Çıkarılan kontrol kuyruğu mesajlarının görünürlük zaman aşımı.
işKalemiKuyrukGörünürlükZamanAşımı 5 dakika Çıkartılan iş öğesi kuyruk mesajlarının görünürlük zaman aşımı.
Maksimum Eşzamanlı Etkinlik Fonksiyonları Tüketim planı: 10
Dedicated/Premium plan: Mevcut 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
Dedicated/Premium plan: Mevcut 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
Dedicated/Premium plan: Mevcut 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ı kullanılırken geçerlidir. Aksi takdirde, eşzamanlı varlık yürütme sayısı üst sınırı ile maxConcurrentOrchestratorFunctionssınırlıdır.
maksKuyrukAnketAralığı 30 saniye hh:mm:ss biçimindeki maksimum denetim 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.
connectionName (2.7.0 ve üzeri)
bağlantıDizesiAdı (2.x)
azureStorageConnectionStringName (1.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ğlandığında, bunun bir Azure Depolama bağlantı dizesi olması gerekir.
trackingStoreConnectionName (2.7.0 ve sonrası)
trackingStoreBağlantıDizesiAdı
Bir uygulama ayarı veya ayar koleksiyonunun, Geçmiş ve Örnekler tablolarına nasıl bağlanılacağını belirten adı. Tek bir uygulama ayarı sağlandığında, bunun bir Azure Depolama bağlantı dizesi olması gerekir. Eğer belirtilmemişse, connectionStringName (Durable 2.x) veya azureStorageConnectionStringName (Durable 1.x) bağlantısı kullanılır.
trackingStoreNamePrefix Geçmiş ve Örnekler tabloları için trackingStoreConnectionStringName belirtildiğinde kullanılacak ön ek. Ayarlanmazsa, varsayılan ön ek değeri DurableTask olacaktır. Belirtilmezse trackingStoreConnectionStringName, Geçmiş ve Örnekler tabloları hubName değerini ön ek olarak kullanır ve trackingStoreNamePrefix ayarı yoksayılır.
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ını izlerken 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ükleri şişirmeden ve hassas bilgileri yanlışlıkla açığa çıkarmadan, girdilerin ve çıktılarının nasıl göründüğüne dair minimum bilgiyi sağlar. Bu özelliğin true olarak ayarlanması, varsayılan işlev günlüğünün işlev girişlerinin ve çıkışlarının tüm içeriğini günlüğe kaydetmesine neden olur.
traceReplayEvents yanlış Uygulama İçgörüleri'ne orkestrasyon yeniden oynatma olaylarını yazıp yazmama değerini belirten bir değer.
etkinlikIzgaraKonusuUçNoktası Azure Event Grid özel konu uç noktasının URL'si. Özellik ayarlandığında, orkestrasyon yaşam döngüsü bildirim olayları bu uç noktaya yayınlanır. Bu özellik, Uygulama Ayarları çözünürlüğünü destekler.
eventIzgaraAnahtarAyarAdı Uygulama ayarları içindeki, EventGridTopicEndpoint adresindeki Azure Event Grid özel konusu ile kimlik doğrulama için kullanılan anahtarın adı.
eventGridPublishRetryCount (Olay Grid Yayın Yeniden Deneme Sayısı) 0 Event Grid Topic'e yayınlama başarısız olursa tekrar deneme sayısı.
EtkinlikIzlemeYayınlamaYenidenDeneAralığı 5 dakika Event Grid, tekrar deneme aralığını ss:dd:ss biçiminde yayınlar.
eventGridYayımlaEtkinlikTürleri Yayınlamak için Event Grid'e gönderilecek etkinlik türlerinin bir listesi. Belirtilmezse, tüm olay türleri yayımlanır. İzin verilen değerler şunları içerir: Started, Completed, Failed, Terminated.
useAppLease fonksiyonu doğru Ayar true olduğunda, uygulamalar görev merkezi mesajlarını işlemeye başlamadan önce uygulama düzeyinde bir blob kiralaması almayı gerektirecektir. Daha fazla bilgi için afet kurtarma ve coğrafi dağıtım belgelerine bakın. v2.3.0 sürümünden itibaren kullanılabilir.
eskiBölümYönetiminiKullan yanlış olarak falseayarlandığında, ölçeği genişletirken yinelenen işlev yürütme olasılığını azaltan bir bölüm yönetimi algoritması kullanır. v2.3.0'dan itibaren kullanılabilir. Bu değerin olarak true ayarlanması önerilmez.
Tablo Bölüm Yönetimini Kullan true v3.x uzantı sürümlerinde
false v2.x eklenti sürümlerinde
Ayarlanmış true olduğunda, Azure Depolama V2 hesapları için maliyetleri azaltmak üzere tasarlanmış bir bölüm yönetim algoritması kullanır. WebJobs.Extensions.DurableTask v2.10.0'dan itibaren kullanılabilir. Bu ayarın yönetilen kimlikle kullanılması için WebJobs.Extensions.DurableTask v3.x veya üzeri ya da v1.2.x veya sonraki sürümlerden önceki Worker.Extensions.DurableTask sürümleri gerekir.
useGracefulShutdown (nazik bir kapatma işlemini kullan) yanlış (Önizleme) Ana bilgisayar kapanmalarının süreç içi işlev yürütmelerinin başarısız olma olasılığını azaltmak için kademeli kapanmayı etkinleştirin.
maxEntityOperationBatchSize(2.6.1) Tüketim planı: 50
Ayrılmış/Premium plan: 5000
İşlemden geçirilen varlık operasyonlarının toplu iş olarak maksimum sayısı. 1'e ayarlandığında, gruplama devre dışı bırakılır ve her işlem mesajı ayrı bir işlev çağrısıyla işlenir.
Orkestrasyon Geçmişine Girdileri Kaydet yanlış olarak trueayarlandığında Dayanıklı Görev Çerçevesi'ne geçmiş tablosundaki etkinlik girişlerini kaydetmesini söyler. Bu, orkestrasyon geçmişi sorgulandığında etkinlik işlevi girdilerinin görüntülenmesini sağlar.
maxGrpcMesajBoyutuBaytCinsinden 4194304 Dayanıklı Görev İstemci'sı (DurableTaskClient) için gRPC istemcisi tarafından alınabilecek mesajların maksimum boyutunu bayt cinsinden belirleyen bir tam sayı değeri. Bu, Durable Functions .NET Isolated ve Java için geçerlidir.
grpcHttpClientZamanAşımı 100 saniye Dayanıklı İşlevler'de gRPC istemcisi tarafından kullanılan HTTP istemcisi için zaman aşımını ayarlar, bu ayar şu anda .NET yalıtılmış uygulamaları (.NET 6 ve sonraki sürümleri) ve Java için desteklenmektedir.

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.

eventHub

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