HTTP tetikleyicilerine ve bağlamalarına genel bakış Azure İşlevleri
Azure İşlevleri sunucusuz API'ler oluşturmak ve web kancalarına yanıt vermek için HTTP istekleri aracılığıyla çağrılabilir.
Eylem | Tür |
---|---|
HTTP isteğinden işlev çalıştırma | Tetikleyici |
İşlevden HTTP yanıtı döndürme | Çıkış bağlaması |
Uzantıyı yükleme
Yüklediğiniz NuGet uzantısı, işlev uygulamanızda kullandığınız C# moduna bağlıdır:
İşlevler yalıtılmış bir C# çalışan işleminde yürütülür. Daha fazla bilgi edinmek için bkz. Yalıtılmış çalışan işleminde C# Azure İşlevleri çalıştırma kılavuzu.
Uzantının işlevselliği, uzantı sürümüne bağlı olarak değişir:
NuGet paketi sürüm 3.x'i yükleyerek uzantıyı projenize ekleyin.
Not
.NET Yalıtılmış'da ASP.NET Core tümleştirmesi için ek bir uzantı paketi gereklidir
Paket yükleme
İşlevler sürüm 2.x'den başlayarak HTTP uzantısı, host.json proje dosyanızda belirtilen bir uzantı paketinin parçasıdır. Daha fazla bilgi edinmek için bkz . uzantı paketi.
Uzantının bu sürümü, işlev uygulamanız için uzantı paketi sürüm 2.x ile zaten kullanılabilir olmalıdır.
host.json ayarları
Bu bölümde, 2.x ve üzeri sürümlerde bu bağlama için kullanılabilen yapılandırma ayarları açıklanmaktadır. host.json dosyasındaki ayarlar, bir işlev uygulaması örneğindeki tüm işlevler için geçerlidir. Aşağıdaki örnek host.json dosyası, bu bağlama için yalnızca sürüm 2.x+ ayarlarını içerir. 2.x ve sonraki sürümlerdeki işlev uygulaması yapılandırma ayarları hakkında daha fazla bilgi için bkz. Azure İşlevleri için host.json başvuru.
Not
İşlevler 1.x'teki host.json başvurusu için bkz. Azure İşlevleri 1.x için host.json başvuru.
{
"extensions": {
"http": {
"routePrefix": "api",
"maxOutstandingRequests": 200,
"maxConcurrentRequests": 100,
"dynamicThrottlesEnabled": true,
"hsts": {
"isEnabled": true,
"maxAge": "10"
},
"customHeaders": {
"X-Content-Type-Options": "nosniff"
}
}
}
}
Özellik | Varsayılan | Açıklama | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
customHeaders | yok | HTTP yanıtında özel üst bilgiler ayarlamanıza olanak tanır. Önceki örnek, içerik türü algılamasını önlemek için üst bilgiyi yanıta ekler X-Content-Type-Options . Bu özel üst bilgi, işlev uygulamasındaki tüm HTTP ile tetiklenen işlevler için geçerlidir. |
||||||||||
dynamicThrottlesEnabled | doğru* | Bu ayar etkinleştirildiğinde, istek işleme işlem hattının gibi connections/threads/processes/memory/cpu/etc sistem performans sayaçlarını düzenli aralıklarla denetlemesine neden olur ve bu sayaçlardan herhangi biri yerleşik yüksek eşikten (%80) fazlaysa, sayaçlar normal düzeylere dönene kadar istekler yanıtla 429 "Too Busy" reddedilir.*Tüketim planında varsayılan değerdir true . Premium ve Ayrılmış planlarda varsayılan değerdir false . |
||||||||||
hsts | etkin değil | isEnabled olarak ayarlandığındatrue , .NET Core'un HTTP Katı Aktarım Güvenliği (HSTS) davranışı sınıfında tanımlandığı HstsOptions gibi zorlanır. Yukarıdaki örnekte özelliği de 10 gün olarak ayarlır maxAge . Desteklenen özellikleri hsts şunlardır:
|
||||||||||
maxConcurrentRequests | 100* | Paralel olarak yürütülen EN FAZLA HTTP işlevi sayısı. Bu değer, kaynak kullanımını yönetmeye yardımcı olabilecek eşzamanlılığı denetlemenize olanak tanır. Örneğin, eşzamanlılık çok yüksek olduğunda sorunlara neden olacak şekilde çok sayıda sistem kaynağı (bellek/cpu/yuva) kullanan bir HTTP işlevine sahip olabilirsiniz. Ya da üçüncü taraf bir hizmete giden istekler yapan bir işleviniz olabilir ve bu çağrıların hız sınırlaması olması gerekir. Böyle durumlarda burada kısıtlama uygulamak yararlı olabilir. *Tüketim planı için varsayılan değer 100'dür. Premium ve Ayrılmış planların varsayılanı ilişkisizdir ( -1 ). |
||||||||||
maxOutstandingRequests | 200* | Herhangi bir zamanda tutulan bekleyen istek sayısı üst sınırı. Bu sınır, kuyruğa alınmış ancak yürütülmeye başlamamış isteklerin yanı sıra devam eden yürütmeleri de içerir. Bu sınırı aşan tüm gelen istekler 429 "Çok Meşgul" yanıtıyla 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 yolunda gerçekleşen kuyruğa alma işlemini denetler. ASP.NET istek kuyruğu gibi diğer kuyruklar çalışmayan devam eder ve bu ayardan etkilenmez. *Tüketim planı için varsayılan değer 200'dür. Premium ve Ayrılmış planların varsayılanı ilişkisizdir ( -1 ). |
||||||||||
routePrefix | api | Tüm yollar için geçerli olan yol ön eki. Varsayılan ön eki kaldırmak için boş bir dize kullanın. |