çalışma zamanı sürümlerine genel bakış Azure İşlevleri
Azure İşlevleri şu anda çalışma zamanı ana bilgisayarının iki sürümünü destekler. Aşağıdaki tabloda şu anda desteklenen çalışma zamanı sürümleri, destek düzeyi ve bunların ne zaman kullanılması gerektiği açıklanmaktadır:
Sürüm | Destek düzeyi | Açıklama |
---|---|---|
4.x | GA | Tüm dillerdeki işlevler için önerilen çalışma zamanı sürümü. Desteklenen dil sürümleri'ne göz atın. |
1.x | GA (destek 14 Eylül 2026'da sona eriyor) | Yalnızca .NET Framework kullanması gereken C# uygulamaları için desteklenir. Bu sürüm bakım modundadır ve iyileştirmeler yalnızca sonraki sürümlerde sağlanır. 1.x sürümü desteği 14 Eylül 2026'da sona erecektir. Uygulamalarınızı .NET Framework 4.8, .NET 6, .NET 8 ve .NET 9 destekleyen 4.x sürümüne geçirmenizi kesinlikle öneririz. |
Önemli
13 Aralık 2022 tarihinden itibaren Azure İşlevleri çalışma zamanının 2.x ve 3.x sürümlerinde çalışan işlev uygulamalarında genişletilmiş destek artık kullanılmamaktadır. Daha fazla bilgi için bkz . Kullanımdan kaldırılacak sürümler.
Bu makalede desteklenen sürümler arasındaki farklardan bazıları, her sürümü nasıl oluşturabileceğiniz ve işlevlerinizin çalıştırıldığı sürümün nasıl değiştirildiği açıklanır.
Destek düzeyleri
İki destek düzeyi vardır:
- Genel kullanıma açık (GA) - Üretim kullanımı için tam olarak desteklenir ve onaylanmıştır.
- Önizleme - Henüz desteklenmiyor, ancak gelecekte GA durumuna ulaşması bekleniyor.
Diller
İşlev uygulamasındaki tüm işlevlerin aynı dili paylaşması gerekir. Uygulamayı oluştururken işlev uygulamanızda işlevlerin dilini seçersiniz. İşlev uygulamanızın dili FUNCTIONS_WORKER_RUNTIME ayarında tutulur ve mevcut işlevler olduğunda değiştirilemez.
Aşağıdaki tabloda, Azure İşlevleri tarafından desteklenen .NET sürümleri gösterilmektedir. Makalenin üst kısmında tercih ettiğiniz geliştirme dilini seçin.
Desteklenen .NET sürümü hem İşlevler çalışma zamanı sürümünüz hem de seçtiğiniz yürütme modeline bağlıdır:
İşlev kodunuz ayrı bir .NET çalışan işleminde çalışır. Desteklenen .NET ve .NET Framework sürümleriyle kullanın. Daha fazla bilgi edinmek için bkz . .NET yalıtılmış çalışan işlemi işlevleri geliştirme.
Desteklenen sürüm | Destek düzeyi | Beklenen topluluk EOL tarihi |
---|---|---|
.NET 9 | Önizle | İlkeye bakın |
.NET 8 | GA | 10 Kasım 2026, Saat 2026, Kasım 2026, Kasım 2026, Kasım 20 |
.NET 6 | GA | 12 Kasım 2024, Saat 2024, Kasım 2024, Kasım 2024, Kasım 20 |
.NET Framework 4.8 | GA | İlkeye bakın |
.NET 7 daha önce yalıtılmış çalışan modelinde destekleniyordu ancak 14 Mayıs 2024'te resmi desteğin sonuna ulaştı.
Daha fazla bilgi için bkz. Yalıtılmış çalışan işleminde C# Azure İşlevleri çalıştırma kılavuzu.
Aşağıdaki tabloda Java işlevleri için desteklenen dil sürümleri gösterilmektedir. Makalenin üst kısmında tercih ettiğiniz geliştirme dilini seçin.
Desteklenen sürüm | Destek düzeyi | Beklenen topluluk EOL tarihi |
---|---|---|
Java 21 (yalnızca Linux) | Önizle | Eylül 2028 |
Java 17 | GA | Eylül 2027 |
Java 11 | GA | Eylül 2027 |
Java 8 | GA | 30 Kasım 2026, Saat 2026, Kasım 2026, Kasım 2026, Kasım 20 |
Daha fazla bilgi için bkz. java geliştirici kılavuzu Azure İşlevleri.
Aşağıdaki tabloda, Node.js işlevleri için desteklenen dil sürümleri gösterilmektedir. Makalenin üst kısmında tercih ettiğiniz geliştirme dilini seçin.
Desteklenen sürüm | Destek düzeyi | Beklenen topluluk EOL tarihi |
---|---|---|
Node.js 22 | Önizle | 30 Nisan 2027, Saat 2027, Temmuz 2027, Saat 20:00 |
Node.js 20 | GA | 30 Nisan 2026, Saat 2026, Ekim 2026, Saat 20:00 |
Node.js 18 | GA | 30 Nisan 2025, Saat 2025, Temmuz 2025, Temmuz 2025, Saat |
TypeScript, JavaScript'e dönüştürme yoluyla desteklenir. Daha fazla bilgi için Azure İşlevleri Node.js geliştirici kılavuzuna bakın.
Aşağıdaki tabloda PowerShell işlevleri için desteklenen dil sürümü gösterilmektedir. Makalenin üst kısmında tercih ettiğiniz geliştirme dilini seçin.
Desteklenen sürüm | Destek düzeyi | Beklenen topluluk EOL tarihi |
---|---|---|
PowerShell 7.4 | GA | 10 Kasım 2026, Saat 2026, Kasım 2026, Kasım 2026, Kasım 20 |
PowerShell 7.2 | GA | 8 Kasım 2024 Cuma |
Daha fazla bilgi için bkz. PowerShell geliştirici kılavuzu Azure İşlevleri.
Aşağıdaki tabloda Python işlevleri için desteklenen dil sürümleri gösterilmektedir. Makalenin üst kısmında tercih ettiğiniz geliştirme dilini seçin.
Desteklenen sürüm | Destek düzeyi | Beklenen topluluk EOL tarihi |
---|---|---|
Python 3.11 | GA | Ekim 2027 |
Python 3.10 | GA | Ekim 2026 |
Python 3.9 | GA | Ekim 2025 |
Python 3.8 | GA | Ekim 2024 |
Daha fazla bilgi için bkz. Azure İşlevleri Python geliştirici kılavuzu.
Dil desteğinde yapılması planlanan değişiklikler hakkında daha fazla bilgi edinmek için bkz. Azure yol haritası.
İşlevler çalışma zamanının daha önce desteklenen sürümlerinin dil sürümleri hakkında bilgi için bkz . Kullanımdan kaldırılacak çalışma zamanı sürümleri.
Belirli bir sürümde çalıştırma
Azure'da yayımlanan uygulamalar tarafından kullanılan İşlevler çalışma zamanının sürümü, uygulama ayarı tarafından FUNCTIONS_EXTENSION_VERSION
dikte edilir. Bazı durumlarda ve belirli diller için diğer ayarlar uygulanabilir.
Varsayılan olarak, Azure portalında, Azure CLI tarafından veya Visual Studio araçlarından oluşturulan işlev uygulamaları 4.x sürümüne ayarlanır. Gerekirse bu sürümü değiştirebilirsiniz. İşlev uygulamanızı oluşturduktan sonra ancak herhangi bir işlev eklemeden önce çalışma zamanı sürümünü yalnızca 1.x sürümüne düşürebilirsiniz. Mevcut işlevleri olan uygulamalarda bile daha sonraki bir ana sürüme güncelleştirmeye izin verilir.
Mevcut işlev uygulamalarını geçirme
Uygulamanızın mevcut işlevleri olduğunda, daha sonraki bir ana çalışma zamanı sürümüne geçmeden önce önlem almanız gerekir. Aşağıdaki makaleler, dile özgü hataya neden olan değişiklikler de dahil olmak üzere ana sürümler arasındaki hataya neden olan değişiklikleri ayrıntılı olarak açıklar. Ayrıca, mevcut işlev uygulamanızın başarılı bir şekilde geçirilmesi için size adım adım yönergeler sağlar.
Azure'da uygulamaların sürümünü değiştirme
Aşağıdaki ana çalışma zamanı sürüm değerleri kullanılır:
Değer | Çalışma zamanı hedefi |
---|---|
~4 |
4.x |
~1 |
1.x |
Önemli
Bu uygulama ayarını rastgele değiştirmeyin, çünkü işlev kodunuzdaki diğer uygulama ayarı değişiklikleri ve değişiklikleri gerekebilir. Mevcut işlev uygulamaları için geçiş yönergelerini izleyin.
Belirli bir ikincil sürüme sabitleme
İşlev uygulamanızın en son ana sürümde çalışırken karşılaşabileceği sorunları çözmek için uygulamanızı geçici olarak belirli bir ikincil sürüme sabitlemeniz gerekir. Sabitleme, uygulamanızın en son ana sürümde doğru şekilde çalışmasını sağlamak için size zaman verir. İkincil sürüme sabitleme yönteminiz Windows ile Linux arasında farklılık gösterir. Daha fazla bilgi edinmek için bkz. Azure İşlevleri çalışma zamanı sürümlerini hedefleme.
Eski ikincil sürümler, İşlevler'den düzenli aralıklarla kaldırılır. Belirli eski ikincil sürümlerin kaldırılması da dahil olmak üzere Azure İşlevleri sürümlerle ilgili en son haberler için Azure Uygulaması Hizmet duyurularını izleyin.
En düşük uzantı sürümleri
Bağlama uzantısı sürümleri ile İşlevler çalışma zamanı sürümü arasında teknik olarak bir bağıntı yoktur. Ancak, 4.x sürümünden başlayarak İşlevler çalışma zamanı tüm tetikleyici ve bağlama uzantıları için en düşük sürümü zorlar.
Gerekli en düşük sürüme uymayan bir paket hakkında uyarı alırsanız, bu NuGet paketini normalde yaptığınız gibi en düşük sürüme güncelleştirmeniz gerekir. İşlevler v4.x'te kullanılan uzantılar için en düşük sürüm gereksinimleri, bağlı yapılandırma dosyasında bulunabilir.
C# betiği için host.json uzantı paketi başvurusunu aşağıdaki gibi güncelleştirin:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
Uzantı paketi sürümleri ile İşlevler çalışma zamanı sürümü arasında teknik olarak bir bağıntı yoktur. Ancak, 4.x sürümünden başlayarak İşlevler çalışma zamanı, uzantı paketleri için en düşük sürümü zorunlu bırakır.
Uzantı paketi sürümünüzün gerekli en düşük sürüme uymadığı konusunda bir uyarı alırsanız, host.json mevcut uzantı paketi başvurunuzu aşağıdaki gibi güncelleştirin:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
Uzantı paketleri hakkında daha fazla bilgi edinmek için bkz . Uzantı paketleri.
Kullanımdan kaldırılacak sürümler
Önemli
Azure İşlevleri çalışma zamanının 1.x sürümü için destek 14 Eylül 2026'da sona erecektir. Tam destek için uygulamalarınızı 4.x sürümüne geçirmenizi kesinlikle öneririz.
İşlevler çalışma zamanının bu sürümleri 13 Aralık 2022'de genişletilmiş desteğin sonuna ulaştı.
Sürüm | Geçerli destek düzeyi | Önceki destek düzeyi |
---|---|---|
3.x | Destek dışı | GA |
2.x | Destek dışı | GA |
En kısa sürede, tam destek almak için uygulamalarınızı sürüm 4.x'e geçirmeniz gerekir. Dile özgü tam geçiş yönergeleri için bkz. Uygulamaları Azure İşlevleri sürüm 4.x'e geçirme.
2.x ve 3.x sürümlerini kullanan uygulamalar CI/CD DevOps işlem hattınızdan oluşturulmaya ve dağıtılmaya devam edebilir ve mevcut tüm uygulamalar hataya neden olan değişiklikler olmadan çalışmaya devam eder. Ancak uygulamalarınız yeni özellikler, güvenlik düzeltme ekleri ve performans iyileştirmeleri için uygun değildir. yalnızca uygulamalarınızı 4.x sürümüne yükseltdikten sonra ilgili hizmet desteği alabilirsiniz.
2.x ve 3.x sürümleri için desteğin sona ermesi, temel bağımlılık olarak sahip oldukları .NET Core 3.1 desteğinin sona ermesidir. Bu gereksinim, Azure İşlevleri tarafından desteklenen tüm dilleri etkiler.
Yerel olarak geliştirilen uygulama sürümleri
Hedeflenen sürümleri yerel olarak değiştirmek için işlev uygulamalarında aşağıdaki güncelleştirmeleri yapabilirsiniz.
Visual Studio çalışma zamanı sürümleri
Visual Studio'da proje oluştururken çalışma zamanı sürümünü seçersiniz. Visual Studio için Azure İşlevleri araçları iki ana çalışma zamanı sürümünü destekler. Proje ayarlarına göre hata ayıklama ve yayımlama sırasında doğru sürüm kullanılır. Sürüm ayarları dosyada .csproj
aşağıdaki özelliklerde tanımlanır:
<TargetFramework>net8.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
Yalıtılmış çalışan modelini kullanıyorsanız hedef çerçeve olarak , net6.0
veya net48
seçebilirsiniznet8.0
. için net9.0
önizleme desteğini kullanmayı da seçebilirsiniz. İşlem içi modeli kullanıyorsanız veya net6.0
öğesini seçebilirsiniz net8.0
ve uzantıyı Microsoft.NET.Sdk.Functions
en azından 4.4.0
olarak ayarlamanız gerekir.
.NET 7 daha önce yalıtılmış çalışan modelinde destekleniyordu ancak 14 Mayıs 2024'te resmi desteğin sonuna ulaştı.
Visual Studio Code ve Azure İşlevleri Core Araçları
Azure İşlevleri Temel Araçları, komut satırı geliştirme için ve ayrıca Visual Studio Code için Azure İşlevleri uzantısı tarafından kullanılır. Daha fazla bilgi için bkz. Azure İşlevleri Temel Araçları'nı yükleme.
Visual Studio Code geliştirmesi için azureFunctions.projectRuntime
, kullanıcı ayarını yüklü araçların sürümüyle eşleşecek şekilde güncelleştirmeniz de gerekebilir. Bu ayar, işlev uygulaması oluşturma sırasında kullanılan şablonları ve dilleri de güncelleştirir.
Bağlamalar
2.x sürümünden başlayarak çalışma zamanı şu avantajları sunan yeni bir bağlama genişletilebilirlik modeli kullanır:
Üçüncü taraf bağlama uzantıları için destek.
Çalışma zamanı ve bağlamaları ayırma. Bu değişiklik, bağlama uzantılarının bağımsız olarak sürümüne dönüştürülmesini ve yayımlanmasını sağlar. Örneğin, temel alınan SDK'nın daha yeni bir sürümünü kullanan bir uzantının sürümüne yükseltmeyi tercih edebilirsiniz.
Çalışma zamanı tarafından yalnızca kullanılan bağlamaların bilindiği ve yüklendiği daha açık bir yürütme ortamı.
HTTP ve zamanlayıcı tetikleyicileri dışında, tüm bağlamaların işlev uygulaması projesine açıkça eklenmesi veya portala kaydedilmesi gerekir. Daha fazla bilgi için bkz . Bağlama uzantılarını kaydetme.
Aşağıdaki tabloda her çalışma zamanı sürümünde hangi bağlamaların desteklendiği gösterilmektedir.
Bu tabloda, Azure İşlevleri çalışma zamanının ana sürümlerinde desteklenen bağlamalar gösterilmektedir:
Tür | 1.x1 | 2.x ve üzeri2 | Tetikle | Girdi | Çıktı |
---|---|---|---|---|---|
Blob depolama | ✔ | ✔ | ✔ | ✔ | ✔ |
Azure Cosmos DB | ✔ | ✔ | ✔ | ✔ | ✔ |
Azure Veri Gezgini | ✔ | ✔ | ✔ | ||
Azure SQL | ✔ | ✔ | ✔ | ✔ | |
Dapr4 | ✔ | ✔ | ✔ | ✔ | |
Event Grid | ✔ | ✔ | ✔ | ✔ | |
Event Hubs | ✔ | ✔ | ✔ | ✔ | |
HTTP & web kancaları | ✔ | ✔ | ✔ | ✔ | |
IoT Hub | ✔ | ✔ | ✔ | ||
Kafka3 | ✔ | ✔ | ✔ | ||
Mobile Apps | ✔ | ✔ | ✔ | ||
Notification Hubs | ✔ | ✔ | |||
Kuyruk depolama | ✔ | ✔ | ✔ | ✔ | |
Redis | ✔ | ✔ | |||
RabbitMQ3 | ✔ | ✔ | ✔ | ||
SendGrid | ✔ | ✔ | ✔ | ||
Service Bus | ✔ | ✔ | ✔ | ✔ | |
SignalR | ✔ | ✔ | ✔ | ✔ | |
Tablo depolama | ✔ | ✔ | ✔ | ✔ | |
Zamanlayıcı | ✔ | ✔ | ✔ | ||
Twilio | ✔ | ✔ | ✔ |
Notlar:
- Azure İşlevleri çalışma zamanının 1.x sürümü için destek 14 Eylül 2026'da sona erecektir. Tam destek için uygulamalarınızı 4.x sürümüne geçirmenizi kesinlikle öneririz.
- Sürüm 2.x çalışma zamanından itibaren HTTP ve Zamanlayıcı dışındaki tüm bağlamaların kaydedilmesi gerekir. Bkz . Bağlama uzantılarını kaydetme.
- Tetikleyiciler Tüketim planında desteklenmez. Çalışma zamanı temelli tetikleyiciler gerektirir.
- Yalnızca Kubernetes, IoT Edge ve diğer şirket içinde barındırılan modlarda desteklenir.
İşlev uygulaması zaman aşımı süresi
İşlev uygulamasındaki işlevlerin zaman aşımı süresi, host.json proje dosyasındaki özelliği tarafından functionTimeout
tanımlanır. Bu özellik özellikle işlev yürütmeleri için geçerlidir. Tetikleyici işlev yürütmeyi başlattığında, işlevin zaman aşımı süresi içinde döndürülmesi/yanıt vermesi gerekir. Zaman aşımlarından kaçınmak için sağlam işlevler yazmak önemlidir. Daha fazla bilgi için bkz. Azure İşlevleri performansını ve güvenilirliğini geliştirme.
Aşağıdaki tabloda belirli planlar için varsayılan ve en yüksek değerler (dakika cinsinden) gösterilmektedir:
Planlama | Varsayılan | En Fazla1 |
---|---|---|
Tüketim planı | 5 | 10 |
Esnek Tüketim planı | 30 | İlişkisiz2 |
Premium plan | 304 | İlişkisiz2 |
Ayrılmış plan | 304 | İlişkisiz3 |
Container Apps | 30 | İlişkisiz4 |
- İşlev uygulamasının zaman aşımı ayarından bağımsız olarak, HTTP tarafından tetiklenen bir işlevin isteği yanıtlaması en fazla 230 saniye sürebilir. Bunun nedeni Azure Load Balancer'ın varsayılan boşta kalma zaman aşımıdır. Daha uzun işleme süreleri için zaman uyumsuz Dayanıklı İşlevler desenini kullanmayı veya fiili çalışmayı ertelemeyi ve anında yanıt döndürmeyi göz önünde bulundurun.
- Zorunlu yürütme zaman aşımı süresi üst sınırı yoktur. Ancak, bir işlev yürütmesine verilen yetkisiz kullanım süresi Esnek Tüketim ve Premium planları için ölçeğin ölçeğinde 60 dakikadır ve platform güncelleştirmeleri sırasında 10 dakikalık bir yetkisiz kullanım süresi verilir.
- App Service planının Always On olarak ayarlanmasını gerektirir. Platform güncelleştirmeleri sırasında 10 dakikalık bir yetkisiz kullanım süresi verilir.
- İşlevler konak çalışma zamanının 1.x sürümü için varsayılan zaman aşımı sınırsızdır.
- En az çoğaltma sayısı sıfır olarak ayarlandığında, varsayılan zaman aşımı uygulamada kullanılan belirli tetikleyicilere bağlıdır.
Sonraki adımlar
Daha fazla bilgi edinmek için aşağıdaki kaynaklara bakın: