Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure İşlevleri'ta çalıştırmak için bireysel fonksiyonlarınızı planlayıp geliştirirken kodun kendisine odaklanın. Azure İşlevleri yalnızca kod projenizi Azure'daki bir işlev uygulamasına dağıtmayı kolaylaştırır. Projenizi bir Linux fonksiyon uygulamasına dağıttığınızda, kodunuz Azure İşlevleri'ın otomatik olarak sizin için oluşturduğu bir konteynerde çalışır. Bu konteyner, Fonksiyon yönetim araçlarıyla sorunsuz entegre olur.
İşlevler kapsayıcılı işlev uygulaması dağıtımlarını da destekler. Konteynerize dağıtımda, desteklenen bir temel imajdan yerel bir Docker konteynerinde kendi fonksiyon uygulama örneğinizi oluşturursunuz. Ardından bu kapsayıcılı işlev uygulamasını Azure'daki bir barındırma ortamına dağıtabilirsiniz. Kendi işlev uygulaması kapsayıcınızı oluşturmak, işlev kodunuzun hemen çalışma zamanı ortamını özelleştirmenize veya başka bir şekilde denetlemenize olanak tanır.
Important
Kendi kapsayıcılarınızı oluştururken kapsayıcınızın temel görüntüsünü desteklenen en son temel görüntüye güncel tutmanız gerekir. Azure İşlevleri için desteklenen temel görüntüler dile özeldir. Bkz. Azure İşlevleri temel görüntü depoları.
İşlevler ekibi, bu temel görüntüler için aylık güncelleştirmeleri yayımlamaya kararlıdır. Düzenli güncelleştirmeler, hem İşlevler çalışma zamanı hem de diller için en son ikincil sürüm güncelleştirmelerini ve güvenlik düzeltmelerini içerir. Kapsayıcınızı düzenli olarak en son temel görüntüden güncelleştirmeli ve kapsayıcınızın güncelleştirilmiş sürümünü yeniden dağıtmalısınız. Daha fazla bilgi için bkz . Özel kapsayıcıları koruma.
Kapsayıcı için barındırma seçenekleri
Tip
Çoğu konteynerize iş yükü için, fonksiyon uygulamalarınızı Azure Container Apps'te barındırın. Container Apps, yerleşik olay odaklı ölçeklendirme, sıfıra ölçekleme ve GPU desteğiyle tamamen yönetilmiş, sunucusuz bir Kubernetes tabanlı ortam sunar. Başlamak için Azure İşlevleri on Azure Container Apps sayfasına bakabilirsiniz.
Azure'da konteynerize fonksiyon uygulamalarınızı barındırmak için birkaç seçeneğiniz var:
| Barındırma seçeneği | Benefits |
|---|---|
| Azure Container Apps (recommended) | Azure Container Apps, fonksiyon uygulama konteynerlerinizi kaynak sağlayıcısını kullanarak yerel Microsoft.App olarak barındırır ve yönetir. Fonksiyonlarınızı, açık kaynak izleme, mTLS, Dapr ve KEDA için dahili destekle tamamen yönetilen, sunucusuz bir Kubernetes tabanlı ortamda çalıştırın. Sıfıra ölçeklenen, sunucusuz kullandığınız için ödeme yapmayı destekliyor, özel donanım ve iş yükü profilleri aracılığıyla GPU'ları destekliyor. Aynı Fonksiyon programlama modeli ve tetikleyicilerden faydalanırken, Konteyner Uygulamalarının tam özellik setini elde edersiniz.
Azure'da konteynerize fonksiyon uygulamaları için önerilen hosting seçeneği. |
| Azure Container Apps (legacy) | Azure İşlevleri, kaynak sağlayıcısını kullanarak Microsoft.Web konteynerize fonksiyon uygulamalarının Container Apps ortamına dağıtılması için entegre destek sağlar. Şu anda desteklense de, bu seçenek gelecekte kullanımdan kaldırılması planlanıyor. Yeni iş yükleri için önerilen Container Apps barındırma seçeneğini kullanın. |
| Azure İşlevleri | Kapsayıcıya alınmış işlev uygulamalarınızı Azure İşlevleri'ta Elastik Premium planında veya Özel App Service planında çalıştırarak barındırabilirsiniz. Premium plan barındırma, dinamik ölçeklendirmenin avantajlarını sağlar. Mevcut kullanılmayan App Service planı kaynaklarından yararlanmak için Ayrılmış plan barındırmayı kullanmak isteyebilirsiniz. |
| Kubernetes | Azure İşlevleri çalışma zamanı istediğiniz yerde ve şekilde barındırma esnekliği sağladığından işlev uygulaması kapsayıcılarınızı doğrudan Kubernetes kümelerinde barındırabilir ve yönetebilirsiniz. KEDA (Kubernetes tabanlı Event Driven Autoscaling), Kubernetes'te olay odaklı ölçek sağlamak için Azure İşlevleri çalışma zamanı ve araçlarıyla sorunsuz bir şekilde eşleştirir. Önemli: KeDA kullanarak veya doğrudan dağıtım yoluyla kapsayıcılı işlev uygulamalarınızın Kubernetes barındırması, ücretsiz olarak kullanabileceğiniz açık kaynak bir çabadır. Bu barındırma senaryosu için en iyi çaba desteği yalnızca katkıda bulunanlar ve topluluk tarafından sağlanır. Azure Kubernetes Service'e (AKS) dağıtırken bile bir kümede kendi işlev uygulaması kapsayıcılarınızı korumak sizin sorumluluğunuzdadır. |
Özellik desteği karşılaştırması
İşlev uygulamanızı bir kapsayıcıda çalıştırırken Azure İşlevleri çeşitli özelliklerinin ve davranışlarının desteklenme derecesi, seçtiğiniz kapsayıcı barındırma seçeneğine bağlıdır.
| Feature/behavior | Konteyner Uygulamaları (önerilir) | Container Apps (legacy)1 | Premium plan | Özel plan | Kubernetes |
|---|---|---|---|---|---|
| Ürün desteği | Yes | Yes | Yes | Yes | No |
| Fonksiyon portalı entegrasyonu | Yes | No | Yes | Yes | No |
| Olay temelli ölçeklendirme | Evet (ölçek kuralları) | Yes5 | Yes | No | No |
| Maksimum ölçek (örnekler) | 10002 | 10002 | 1003 | 10-304 | Kümelere göre değişir |
| Sıfıra indirgenebilir örnekler | Yes | Yes | No | No | KEDA |
| Uygulama süresi sınırı | Unbounded6 | Unbounded6 | Unbounded7 | Unbounded8 | Hiçbiri |
| Temel Araçlar dağıtımı | No | No | No | No | func kubernetes |
| Revisions | Yes | Yes | No | No | No |
| Dağıtım yuvaları | No | No | Yes | Yes | No |
| Akış günlükleri | Yes | Yes | Yes | Yes | No |
| Konsol erişimi | Yes | Yes | Evet ( Kudu kullanarak) | Evet ( Kudu kullanarak) | Evet (podlarda kullanarak kubectl) |
| Soğuk başlangıç etkilerini hafifletme | Ölçek kuralları | En az replikalar | Her zaman hazır/önceden ısıtılmış örnekler | n/a | n/a |
| App Service kimlik doğrulaması | Yes | Yes | Yes | Yes | No |
| Özel etki alanı adları | Yes | Yes | Yes | Yes | No |
| Özel anahtar sertifikaları | Yes | Yes | Yes | Yes | No |
| Sanal ağlar | Yes | Yes | Yes | Yes | Yes |
| Erişilebilirlik bölgeleri | Yes | Yes | Yes | Yes | Yes |
| Diagnostics | Yes | Yes | Yes | Yes | No |
| Özel donanım | Evet (iş yükü profilleri) | Evet (iş yükü profilleri) | No | Yes | Yes |
| Adanmış GPU'lar | Evet (iş yükü profilleri) | Evet (iş yükü profilleri) | No | No | Yes |
| Yapılandırılabilir bellek/CPU sayısı | Yes | Yes | No | No | Yes |
| "Ücretsiz hibe" seçeneği | Yes | Yes | No | No | No |
| Fiyatlandırma ayrıntıları | Container Apps faturalaması | Container Apps faturalaması | Premium plan faturalaması | Ayrılmış plan faturalaması | AKS fiyatlandırması |
| Hizmet adı gereksinimleri | 2-32 karakter: küçük harfler, sayılar ve kısa çizgilerle sınırlıdır. Harfle başlayıp alfasayısal karakterle bitmelidir. | 2-32 karakter: küçük harfler, sayılar ve kısa çizgilerle sınırlıdır. Harfle başlayıp alfasayısal karakterle bitmelidir. | 64'ten az karakter: Alfasayısal karakterler ve kısa çizgilerle sınırlıdır. Kısa çizgiyle başlayamaz veya bitemez. | 64'ten az karakter: Alfasayısal karakterler ve kısa çizgilerle sınırlıdır. Kısa çizgiyle başlayamaz veya bitemez. | 253 karakterden az: Alfasayısal karakterler ve kısa çizgilerle sınırlıdır. Alfasayısal karakterle başlayıp bitmelidir. |
- Gelecekteki kullanımdan çıkarılması planlanıyor. Bunun yerine, yerel Container Apps barındırma kullanın.
- Container Apps'te varsayılan değer 10 örnektir, ancak toplam en fazla 1000 çoğaltma içeren en fazla çoğaltma sayısını ayarlayabilirsiniz. Yeterli çekirdek kotası olduğu sürece bu ayar kabul edilir. İşlev uygulamanızı Azure portalından oluşturduğunuzda 300 örnekle sınırlısınız.
- Bazı bölgelerde Premium plandaki Linux uygulamaları 100 örneğe ölçeklendirilebilir. Daha fazla bilgi için Premium plan makalesine bakın.
- Çeşitli App Service planı seçenekleri için belirli sınırları görmek amacıyla App Service planı sınırları'na bakın.
- KEDA gerektirir; çoğu tetikleyici tarafından desteklenir. Hangi tetikleyicilerin olay odaklı ölçeklendirmeyi desteklediğini öğrenmek için bkz . Container Apps barındırma ile ilgili önemli noktalar.
- 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.
- Yürütme zaman aşımı süresi için herhangi bir üst sınır uygulanmamaktadır. Ancak, bir işlev yürütmesine verilen yetkisiz kullanım süresi, ölçeği daraltma sırasında 60 dakikadır ve platform güncelleştirmeleri sırasında 10 dakikalık 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.
Özel kapsayıcıları koruma
Kendi konteynerlerinizi oluştururken, konteynerinizin temel görüntüsünü en son desteklenen temel görseğe güncel tutun. Azure İşlevleri için desteklenen temel görüntüler dile özgü olup Azure İşlevleri temel görüntü depolarında bulunur.
İşlevler ekibi, bu temel görüntüler için aylık güncelleştirmeleri yayımlamaya kararlıdır. Düzenli güncelleştirmeler, hem İşlevler çalışma zamanı hem de diller için en son ikincil sürüm güncelleştirmelerini ve güvenlik düzeltmelerini içerir. Konteynerinizi en son temel görseminden düzenli olarak güncelleyin ve güncellenmiş konteyner sürümünüzü yeniden dağıtın.
İşlev uygulamanızda kullandığınız dil yığınına göre temel görüntünüzü seçin. Aşağıdaki tabloda her yığın için örnekler verilmiştir. Genel olarak, etiket V4 Fonksiyonları çalışma zamanını göstermek için ' 4- Bull' ile başlar. Yeni küçük versiyonlar çıktığında, bu etiket yeni versiyona işaret edecek şekilde güncellenir. Özel görselinizi periyodik olarak yeniden oluştururken, yeni sürümleri aynı etiketten çekiyorsunuz, böylece uygulamanızda aynı güncellemeler oluyor. Küçük çalışma zamanı sürümlerini belirten etiketler kullanmayın, çünkü bu etiketler güncelleme almıyor. Uygulamanız, özel görselinizi ne sıklıkla yeniden oluşturursanız yapın, muhtemelen yamalanmamış bir sürümde kalabilir.
| Dil Yığını | Örnek önerilen temel görüntü etiketleri |
|---|---|
| .NET (yalıtılmış çalışan modeli) |
mcr.microsoft.com/azure-functions/dotnet-isolated:4-dotnet-isolated8.0 veyamcr.microsoft.com/azure-functions/dotnet-isolated:4-dotnet-isolated8.0-appservice(Bu örnekler .NET 8'i hedefler. İhtiyacınız olan .NET sürümü için uygun görüntüyü seçin.) |
| .NET (eski işlem içi modeli) |
mcr.microsoft.com/azure-functions/dotnet:4-dotnet8.0 veyamcr.microsoft.com/azure-functions/dotnet:4-dotnet8.0-appservice(Süreçteki model için destek 10 Kasım 2026'da sona eriyor. Mümkün olan en kısa sürede izole çalışan modeline geçin .) |
| Java |
mcr.microsoft.com/azure-functions/java:4-java21 veyamcr.microsoft.com/azure-functions/java:4-java21-appservice(Bu örnekler Java 21'i hedefler. İhtiyacınız olan Java sürümü için uygun görüntüyü seçin.) |
| Node.js (JavaScript veya TypeScript) |
mcr.microsoft.com/azure-functions/node:4-node22 veyamcr.microsoft.com/azure-functions/node:4-node22-appservice(Bu örnekler Node.js 22'ye hedeftir. İhtiyacınız olan Node.js sürümü için uygun görüntüyü seçin.) |
| PowerShell |
mcr.microsoft.com/azure-functions/powershell:4-powershell7.4 veyamcr.microsoft.com/azure-functions/powershell:4-powershell7.4-appservice(Bu örnekler PowerShell 7.4'i hedefler. İhtiyacınız olan PowerShell sürümü için uygun görüntüyü seçin.) |
| Piton |
mcr.microsoft.com/azure-functions/python:4-python3.12 veyamcr.microsoft.com/azure-functions/python:4-python3.12-appservice(Bu örnekler Python 3.12'ye hedeftir. İhtiyacınız olan Python sürümü için uygun görüntüyü seçin.) |
| Özel işleyiciler / diğer |
mcr.microsoft.com/azure-functions/base:4 veyamcr.microsoft.com/azure-functions/base:4-appservice |
ile biten -appservice temel görüntüler, platformdan SSH ve uzaktan hata ayıklamayı etkinleştirir. Bu yeteneklere ihtiyacınız yoksa, ek eksiz temel görüntüleri -appservice kullanın.
Important
Dockerfile'ınızda sadece önceki etiketlerden birine sahip olmak yeterli değil. Özel görüntünüzün en son güncelleştirmeleri içerecek şekilde yeniden oluşturulabilmesi için bu etiketten düzenli olarak en son görüntüyü çekmeniz gerekir. En son görüntüyü çekip yeniden oluşturmazsanız, uygulamanız eski temel imajda çalışmaya devam eder.
Kendi konteynerize uygulamanızı özel bir görüntü kullanarak oluşturduğunuzda veya dağıttığınızda, özel görselinizin yayınlanan ana görsellerle up-togüncel kalmasını sağlamakla sorumlusunuz. Bu temel görüntü güncelleştirmeleri, yeni özelliklere ve iyileştirmelere ek olarak uygulamanız için kritik öneme sahip güvenlik güncelleştirmelerini de içerebilir. Uygulamanızın korunduğundan emin olmak için güncel kaldığınızdan emin olun. Düzenli olarak temel görselin en son sürümünü çekin, özel konteyner imajınızı yeniden oluşturun ve uygulamanızı yeniden dağıtın.
Bazı durumlarda, Microsoft platform düzeyinde değişiklikler yapmak zorunda kalıyor; bu değişiklikler, eski bir temel görüntü kullanan özel bir konteyner uygulamasının düzgün çalışmayı durdurabileceği anlamına geliyor. Böyle büyük değişiklikler için, Microsoft güncellenmiş görselleri önceden yayınlıyor ki düzenli güncellemeler alan uygulamalar olumsuz etkilenmesin. Özel kapsayıcılarda çalışan uygulamalarınızla ilgili olası sorunları önlemek için, yayınlanan en son ikincil sürümün çok gerisinde kalmadığınızdan emin olun. Destek vakası sırasında, Microsoft uygulamanızın eski veya desteklenmeyen bir sürümde olduğu için sorun yaşadığını tespit ederse, Microsoft destek ile devam etmeden önce konteynerinizi en son temel görüntü sürümüne güncellemenizi ister.
Başlangıç Yapmak
Linux kapsayıcılarında Azure İşlevleri ile çalışmaya başlamak için şu bağlantıları kullanın:
| Yapmak istiyorum... | Makaleye bakın: |
|---|---|
| Deploy functions to Azure Container Apps (recommended) | Azure Container Apps'te ilk kapsayıcılı işlevlerinizi oluşturma |
| İlk konteynerize fonksiyonlarımı yerel olarak oluştur | Yerel Linux kapsayıcısında işlev uygulaması oluşturma |
| Konteynerize fonksiyonları Premium veya Dedicated plana dağıtın | İlk kapsayıcılı Azure İşlevleri oluşturma |