Azure Çalışma Zamanı yükseltmesi sırasında sık karşılaşılan sorunları giderme
Bu makalede, çalışma zamanının erişilemez olması ve modüllerin bulunmaması gibi işlev uygulaması dilinin veya çalışma zamanı sürümünün güncelleştirilmesi sırasında oluşabilecek bazı yaygın sorunların nasıl çözülebileceği açıklanmaktadır.
"Eylem önerilir: Azure İşlevleri uygulamalarınızı .NET 6 kullanacak şekilde güncelleştirin" e-postası alırsanız gerçekleştirmeniz gereken eylemler.
Microsoft .NET Core 3.1 için genişletilmiş destek 3 Aralık 2022'de sona erdi. Azure İşlevleri çalışma zamanı v3, .NET core 3.1'i temel alır. İşlev uygulamanızı .NET 6 kullanan ve uzun vadeli desteğe sahip olan çalışma zamanı 4.x sürümüne güncelleştirmenizi öneririz. 3 Aralık 2022'nin ardından, uygulamalarınız İşlevler çalışma zamanı sürümü 4.x'e yükseltene kadar yeni özellikler, güvenlik düzeltme ekleri, performans iyileştirmeleri veya destek için uygun değildir.
Çalışma zamanı v3'te İşlevler uygulamalarınız çalışmaya devam eder ve uygulamalarınız etkilenmez. Bu tarihten sonra bu İşlevler uygulamalarına kod dağıtabilirsiniz. Ancak, ortak yolları kullanarak İşlevler çalışma zamanı v3'lerini hedefleyen uygulamalar oluşturma becerinizi kaldırabiliriz.
Daha fazla bilgi ve geçiş kılavuzu için bkz:
İşlev uygulamasının çalışma zamanı v4 için uyumluluğunu doğrulama
- Azure portal işlev uygulamanıza gidin. Tanılama Azure İşlevleri açmak için Sorunları tanılama ve çözme'yi seçin. Doğrudan çalıştırmak için Arama çubuğuna İşlev Uygulaması Dilini Güncelleştirme veya Çalışma Zamanı Sürümü yazın. Tanılama raporu güncelleştirmeyle ilgili rehberlik içerir. Doğrulama tamamlandıktan sonra önerileri izleyin ve uygulamanızdaki sorunları giderin.
- Ayrıca işlev uygulamanızı 4.x sürümüne geçirirken karşılaşabileceğiniz olası sorunları belirlemenize yardımcı olacak bir yükseltme öncesi doğrulayıcı da sunuyoruz. Aynı tanılama arama çubuğunda, doğrudan çalıştırmak için İşlevler 4.x Yükseltme Öncesi Doğrulayıcı yazın. Doğrulama tamamlandıktan sonra önerileri izleyin ve uygulamanızdaki sorunları giderin.
- Yerel proje ortamınızı 4.x sürümüne yükseltmenizi kesinlikle öneririz. Azure İşlevleri temel araçlarının 4.x sürümünü kullanarak uygulamanızı yerel olarak tam olarak test edin.
- Üretim yuvasına dağıtmadan önce azure'da uygulamanızı yeni çalışma zamanı sürümünde test etmek ve doğrulamak için bir hazırlama yuvası kullanmayı göz önünde bulundurun. Yuvalarla geçiş için ayarlamayı
WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS=0
unutmayın.
Windows için İşlevler çalışma zamanı sürümünü değiştirme
-
Azure portalYapılandırma bölmesindeki
~4
bir uygulama ayarı olan FUNCTIONS_EXTENSION_VERSION olarak ayarlayın. Daha fazla bilgi için bkz. Çalışma zamanı sürümünü değiştirme. -
netFrameworkVersion
Site ayarını hedef .NET 6 olarak ayarlayın.netFrameworkVersion
bir SiteConfig ayarıdır, uygulama ayarı değildir. Ayrıca Azure portal doğrudan kullanılamaz. Ancak Azure Kaynak Gezgini veya AzureCLI/PowerShell kullanarak ayarlayabilirsiniz.
Daha fazla bilgi için bkz . İşlevler çalışma zamanı sürümleri.
Linux için İşlevler çalışma zamanı sürümünü değiştirme
-
Azure portalYapılandırma bölmesindeki
~4
bir uygulama ayarı olan FUNCTIONS_EXTENSION_VERSION olarak ayarlayın. Daha fazla bilgi için bkz. Çalışma zamanı sürümünü değiştirme. - Komut Satırı Arabirimi 'ni (CLI)
<Language>|<LanguageVersion>
kullanarak, kullanılan dile göre olarak ayarlayınLinuxFxVersion
. Daha fazla bilgi için bkz . Linux İşlev Uygulamaları için LinuxFxVersion kullanma. Örneğin, .NET 6'ya güncelleştirmek için ve~4
FUNCTIONS_EXTENSION_VERSION
olarak ayarlayabilirsinizLinuxFxVersion
dotnet|6.0
.
Daha fazla bilgi için bkz . İşlevler çalışma zamanı sürümleri.
Çalışma zamanı sürümüne göre desteklenen dillerin listesini alma
Çalışma zamanı sürümüne göre desteklenen dillerin listesine bakın.
Kodu güncelleştirdikten sonra işlev uygulamasının dil sürümü ayarını güncelleştirin
- PowerShell: Azure portal' de öğesini
PowerShell Core version
ayarlayın. Daha fazla bilgi için bkz. PowerShell sürümünü değiştirme. - Python: olarak
python|3.x
ayarlayınlinuxFxVersion
. Daha fazla bilgi için bkz. Python sürümünü değiştirme. - Java: 11 veya 17 olarak kullanarak
-DjavaVersion
dil sürümünü belirtin. Daha fazla bilgi için bkz. Dağıtım sürümünü belirtme. - Node, JavaScript: Windows için uygulama ayarını olarak
~16
ayarlayınWEBSITE_NODE_DEFAULT_VERSION
. Linux için, CLI kullanarak öğesini olaraknode|16
ayarlayınlinuxFxVersion
. Daha fazla bilgi için bkz. Node sürümünü ayarlama.
Azure İşlevleri Proxy kullanımı
İşlev uygulamalarınızı en son çalışma zamanı sürümüne başarıyla yükseltebilmeniz için proxy'ler için destek 4.x sürümünde yeniden kullanılabilir. Ancak işlev uygulamalarınızı Azure API Management ile en kısa sürede tümleştirmeye geçmenizi öneririz. API Management, İşlevler tabanlı API'lerinizi tanımlamak, güvenli hale getirmek, yönetmek ve para kazanmak için daha eksiksiz bir özellik kümesinden yararlanmanızı sağlar. Daha fazla bilgi için bkz. VISUAL Studio kullanarak APIM'ye geçiş yapma ve İşlevleri APIM ile Tümleştirme.
Çalışma zamanı sürümü 1.x, 2.x veya 3.x kullanan tüm Azure İşlevleri uygulamalarının listesini alın
- Azure portal işlev uygulamanıza gidin.
- Tanılama Azure İşlevleri açmak için Sorunları tanılama ve çözme'yi seçin.
- Doğrudan çalıştırmak için Arama çubuğuna İşlev Uygulaması Dilini Güncelleştirme veya Çalışma Zamanı Sürümü yazın.
- Tanılama raporunda aşağı kaydırın ve Tüm İşlev Uygulaması>Görünüm Ayrıntılarını Listele'yi seçin.
- Geçerli abonelikteki işlev uygulamalarının listesini almak için arama filtrelerini ayarlayın ve Göster'i seçin.
Alternatif olarak, bunu belirlemek için App Service REST API çağrılarını (GetConfiguration) kullanabilirsiniz.
LinuxFxVersion
ve WindowsFxVersion
sürüm bilgilerini sağlayın.
.NET Framework 4.6.1 uygulamasını İşlevler çalışma zamanı v1'den v4'e taşıma
.NET Framework 4.6.1 kullanım ömrü sonuna ulaşmıştır, bu nedenle uygulamaların .NET Framework 4.8 sürümüne yükseltilmesi gerekir. İşlevler v4'te işlem dışı modda bir .NET framework 4.8 uygulaması çalıştırabilirsiniz. Daha fazla bilgi için yalıtılmış işlem kılavuzuna bakın.
Geçirilen işlev uygulaması başlatılmıyor veya bazı çalışma zamanı sorunları var
- .NET uygulamaları için derlemeden ve dağıtmadan önce kodu .NET 6'ya güncelleştirmeyi unutmayın.
- Azure portal uygulamanın çalışma zamanı sürümünü iki kez denetleyin.
- Windows uygulamaları için CLI veya PowerShell kullanarak da ayarlamanız
netFrameworkVersion
gerekir. - Önerilen şekilde 2.x veya üzeri uzantı paketlerini kullandığınızdan emin olun. İşlevler çalışma zamanının 4.x sürümü için 2.x veya 3.0.0 sürümleri gerekir.
- AzureWebJobsDashboard kullanarak Azure Depolama'da oturum açmak artık 4.x'te desteklenmiyor. Bunun yerine, izleme için Application Insights'ı kullanın.
- Azure İşlevleri çalışma zamanının ulaşılamadığını ve depolama hesaplarını paylaştığınızı belirten bir ileti alırsanız bkz. Konak Kimliği ile ilgili dikkat edilmesi gerekenler.
- Azure İşlevleri 4.x, Node.js 10 ve 12, Python 3.6 ve PowerShell 6'yı desteklemez. Daha fazla bilgi için bkz. v4 çalışma zamanı için desteklenen dil sürümleri.
- Python işlevlerinde modül çakışması ile ilgili hatalar varsa ve modül bulunamadıysa uygulama ayarlarında 1 olarak ayarlamayı
PYTHON_ISOLATE_WORKER_DEPENDENCIES
deneyin. - Mevcut işlev uygulamalarını geçirme'yi gözden geçirin.
- Çalışma zamanı sorunları için, Azure portal'dakiSorunları Tanıla ve Çöz seçeneğinden İşlev uygulamasının kapanmasını veya hataları bildirmesini arayın ve hata iletileri ve çözümleri için tanılama raporunu gözden geçirin. Yapılandırmanın doğru olduğundan emin olmak için İşlev Yapılandırması denetim algılayıcısını da gözden geçirin.
- Ek sorun giderme ipuçları için Azure işlev uygulamalarını V4'e yükseltirken karşılaşılan sorunlar blogunu gözden geçirin.
Yardım için bize ulaşın
Sorularınız veya yardıma ihtiyacınız varsa bir destek isteği oluşturun veya Azure topluluk desteği isteyin. Ürün geri bildirimini Azure geri bildirim topluluğuna da gönderebilirsiniz.