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 dağıtım yuvaları, işlev uygulamanızın yuva olarak adlandırılan farklı örnekleri çalıştırmasına olanak tanır. Yuvalar, açık uç nokta kullanılarak sunulan farklı ortamlardır. Bir uygulama örneği her zaman üretim yuvasına eşlenir ve isteğe bağlı olarak bir yuvaya atanan örnekleri değiştirebilirsiniz.
Kullanılabilir yuvaların sayısı, belirli barındırma seçeneğinize bağlıdır:
| Barındırma seçeneği | Slotlar (üretim dahil) |
|---|---|
| Tüketim planı | 2 |
| Esnek Tüketim planı | Şu anda desteklenmiyor |
| Premium plan | 3 |
| Özel (App Service) planı | 1-20 |
| Kapsayıcı Uygulamaları | Düzeltmeleri Kullanır |
Aşağıdaki açıklamalar, işlevlerin yuva değiştirme işleminden nasıl etkilendiğini yansıtır:
- Trafik yeniden yönlendirme sorunsuz; değişiklik nedeniyle hiçbir istek kaybolmaz. Bu kesintisiz davranış, bir sonraki fonksiyon tetikleyicisinin değiştirilmiş yuvaya yönlendirilmesi nedeniyle gerçekleşir.
- Halen yürütülen fonksiyonlar değiş tokuş sırasında sonlandırılır. Durumsuz ve defansif işlevler yazmayı öğrenmek için Azure İşlevlerinin performansını ve güvenilirliğini geliştirme bölümüne bakın.
Neden slot'lar kullanılır?
Dağıtım yuvalarını kullanmanın birçok avantajı vardır:
- Farklı amaçlar için farklı ortamlar: Farklı yuvalar kullanmak, üretim veya hazırlama yuvasına geçmeden önce uygulama örneklerini ayırt etme fırsatı sunar.
- Önceden hazırlama: Doğrudan üretim yerine bir slota dağıtmak, uygulamanın canlı yayına geçmeden önce ısınmasını sağlar. Ayrıca yuvaların kullanılması, HTTP ile tetiklenen iş yükleri için gecikme süresini azaltır. Dağıtımdan önce bellek örnekleri ısındırılır ve bu da yeni dağıtılan işlevlerin soğuk başlatma süresini azaltır.
- Kolay geri dönüşler: Üretimle yer değiştirildikten sonra, daha önce hazırlanmış uygulamayı içeren yuva artık eski üretim uygulamasına sahip olur. Üretim yuvasında değiştirilen değişiklikler beklediğiniz gibi değilse, "bilinen son iyi örneğinizi" geri almak için değiştirme işlemini hemen tersine çevirebilirsiniz.
- Yeniden başlatmaları en aza indirme: Üretim yuvasında uygulama ayarlarının değiştirilmesi, çalışan uygulamanın yeniden başlatılmasını gerektirir. Alternatif olarak, hazırlık dilimindeki ayarları değiştirebilir ve bu değişiklikleri önceden hazırlanan bir örnek ile üretimde değiştirebilirsiniz. Slotlar, maksimum erişilebilirliği korurken işlevler çalışma zamanı sürüm geçişleri esnasında önerilen yoldur. Daha fazla bilgi edinmek için Minimum kesinti süresi güncellemesi bölümüne bakın.
Değiştirme işlemleri
Değiştirme sırasında, bir yuva kaynak olarak kabul edilir ve diğeri hedeftir. Kaynak yuva, hedef yuvaya uygulanan uygulamanın örneğine sahiptir. Aşağıdaki adımlar, hedef yuvanın değiştirme sırasında kesinti yaşamamasını sağlar:
Ayarları uygula: Hedef yuvadaki ayarlar kaynak yuvanın tüm örneklerine uygulanır. Örneğin, üretim ayarları hazırlık ortamına uygulanır. Uygulanan ayarlar aşağıdaki kategorileri içerir:
- Yuvaya özgü uygulama ayarları ve bağlantı dizesi (varsa)
- Sürekli dağıtım ayarları (etkinse)
- App Service kimlik doğrulama ayarları (etkinse)
Yeniden başlatmaları ve kullanılabilirliği bekleyin: Değiştirme işlemi, kaynak yuvadaki her örneğin yeniden başlatılmasını ve istekler için kullanılabilir olmasını bekler. Herhangi bir örnek yeniden başlatılamazsa, değiştirme işlemi kaynak yuvadaki tüm değişiklikleri geri döndürür ve işlemi durdurur.
Güncelleştirme yönlendirmesi: Kaynak yuvadaki tüm örnekler başarıyla ısınırsa, iki yuva yönlendirme kurallarını değiştirerek değiştirme işlemini tamamlar. Bu adımdan sonra hedef yuva (örneğin, üretim yuvası), daha önce kaynak yuvada ısıtılmış olan uygulamayı barındırır.
İşlemi yineleme: Artık kaynak yuvada önceden hedef yuvada preswap uygulaması olduğuna göre, tüm ayarları uygulayarak ve kaynak yuva için örnekleri yeniden başlatarak aynı işlemi tamamlayın.
Aşağıdaki noktaları göz önünde bulundurun:
Değiştirme işleminin herhangi bir noktasında, değiştirilen uygulamaların başlatılması kaynak yuvada gerçekleşir. Kaynak yuva hazırlanırken, değiştirmenin başarılı veya başarısız olmasına bakılmaksızın hedef yuva çevrimiçi kalır.
Hazırlama yuvasını üretim yuvasıyla değiştirmek için üretim yuvasının her zaman hedef yuva olduğundan emin olun. Bu şekilde, değiştirme işlemi üretim uygulamanızı etkilemez.
Değiştirme işlemine başlamadan önce olay kaynakları ve bağlamalarla ilgili ayarların dağıtım yuvası ayarları olarak yapılandırılması gerekir. Bunları önceden "sabit" olarak işaretlemek, olayların ve çıkışların uygun özel örneğe yönlendirilmesini sağlar.
Yeni bir hazırlama yuvası oluşturduğunuzda, ayarın yapışkanlığı ne olursa olsun, üretim yuvasındaki tüm mevcut ayarlar yeni yuvada oluşturulur.
Ayarları yönetme
Bazı yapılandırma ayarları yuvaya özeldir. Aşağıdaki listede yuvaları değiştirdiğinizde hangi ayarların değiştirildiği ve hangi ayarların aynı kaldığı listelenir.
Slot'a özgü ayarlar:
- Yayımlama uç noktaları
- Özel alan adı adları
- Abonelik dışı sertifikalar ve TLS/SSL ayarları
- Ölçek ayarları
- IP kısıtlamaları
- Her Zaman Açık
- Tanılama ayarları
- Çapraz kaynak paylaşımı (CORS)
- Özel uç noktalar
Slot'a özgü olmayan ayarlar:
- Çerçeve sürümü, 32/64 bit, web yuvaları gibi genel ayarlar
- Uygulama ayarları (bir yuvaya sabitlenebilir şekilde yapılandırılabilir)
- Bağlantı dizeleri (bir yuva ile bağlantılı kalacak şekilde yapılandırılabilir)
- İşleyici haritalamaları
- Açık sertifikalar
- Karma bağlantılar *
- Sanal ağ tümleştirmesi *
- Hizmet uç noktaları *
- Azure Content Delivery Network *
Yıldız işareti (*) ile işaretlenmiş özellikler tasarım gereği değiştirilmez.
Not
Eşlenmemiş ayarlara uygulanan bazı uygulama ayarları da değiştirilmez. Örneğin, tanılama ayarları değiştirilmediğinden, WEBSITE_HTTPLOGGING_RETENTION_DAYS ve DIAGNOSTICS_AZUREBLOBRETENTIONDAYS gibi ilgili uygulama ayarları da yuva ayarları olarak gösterilmese bile değiştirilmez.
Dağıtım ayarı oluşturma
Ayarları bir dağıtım ayarı olarak işaretleyebilirsiniz ve bu da bunu yapışkan hale getirir. Yapışkan ayar, uygulama örneğiyle eşleşmez.
Bir yuvada dağıtım ayarı oluşturursanız, değiştirme işlemine dahil olan diğer yuvalarda benzersiz bir değerle aynı ayarı oluşturduğunuzdan emin olun. Bu şekilde, bir ayarın değeri değişmese de, ayar adları yuvalar arasında tutarlı kalır. Bu ad tutarlılığı, kodunuzun bir yuvada tanımlanan ancak başka bir yuvada tanımlanmayan bir ayara erişmeye çalışmamasını sağlar.
Dağıtım ayarı oluşturmak için aşağıdaki adımları kullanın:
İşlev uygulamasında Dağıtım yuvaları'na gidin ve yuva adını seçin.
Yapılandırma'yı seçin ve ardından geçerli yuvaya bağlı kalmak istediğiniz ayar adını seçin.
Önce Dağıtım yuvası ayarını seçin ve ardından Tamam'ı seçin.
Ayar bölümü kaybolduktan sonra, değişiklikleri korumak için Kaydet'i seçin
Dağıtım
Yuva oluşturduğunuzda yuvalar boştur. Uygulamanızı bir yuvaya dağıtmak için desteklenen dağıtım teknolojilerinden herhangi birini kullanabilirsiniz.
Ölçeklendirme
Tüm yuvalar, üretim yuvasıyla aynı sayıda çalışana ölçeklendirilir.
- Tüketim planları için yuva, işlev uygulamasıyla birlikte ölçeklenir.
- App Service planları için uygulama, sabit sayıda çalışana ölçeklendirilir. Yuvalar, uygulama planıyla aynı sayıda işlemci üzerinde çalışır.
Yuvaları görüntüleme
Mevcut yuvalarla ilgili bilgileri Azure CLI'yi kullanarak veya Azure portalı üzerinden görüntüleyebilirsiniz.
Portalda yeni bir yuva oluşturmak için şu adımları kullanın:
İşlev uygulamanıza gidin.
Dağıtım yuvaları'nı seçtiğinizde mevcut yuvalar gösterilir.
Slot ekle
Azure CLI'yi kullanarak veya Azure portalı aracılığıyla yuva ekleyebilirsiniz.
Portalda yuva oluşturmak için şu adımları kullanın:
İşlev uygulamanıza gidin.
Dağıtım yuvalarını seçin ve ardından + Yuva Ekle’yi seçin.
Yuvanın adını yazın ve Ekle'yi seçin.
ARM şablonlarını veya Bicep dosyalarını kullanarak da yuva oluşturabilirsiniz. Tüketim planında dağıtım yuvasıyla bir fonksiyon uygulaması oluşturma örneği için bu Azure Resource Manager hızlı başlangıç kılavuzuna bakın.
Slot kaynaklarına erişim
Hazırlama yuvasındaki kaynaklara (HTTP tetikleyicileri ve yönetici uç noktaları) üretim yuvasıyla aynı şekilde erişebilirsiniz. Ancak, işlev uygulaması ana bilgisayar adı yerine, yuvaya özgü anahtarlarla birlikte istek URL'sinde yuvaya özgü ana bilgisayar adını kullanırsınız. Hazırlama yuvaları canlı uygulamalar olduğundan, işlevlerinizi üretim yuvasında olduğu gibi bir hazırlama yuvasında güvenli bir şekilde korumanız gerekir.
Yuvaları değiştir
Azure CLI'yi veya Azure portalını kullanarak üretim dışı bir ortamdaki yuvaları değiştirebilirsiniz.
Hazırlama yuvasını üretime değiştirmek için şu adımları kullanın:
İşlev uygulamasına gidin.
Dağıtım yuvaları seçin ve ardından Değiştir'i tıklayın.
Değiştirme işleminizin yapılandırma ayarlarını doğrulayın ve Değiştir'i seçin.
Değiştirme işlemi birkaç saniye sürebilir.
Swap işlemini geri alma
Değiştirme işlemi hatayla sonuçlanırsa veya yalnızca değiştirme işlemini "geri almak" istiyorsanız, ilk duruma geri dönebilirsiniz. Önceden belirtilmiş duruma dönmek için başka bir değiştirme işlemi gerçekleştirerek değiştirme işlemini ters çevirin.
Yuvayı kaldırma
Yuvayı Azure CLI kullanarak veya Azure portalı üzerinden kaldırabilirsiniz.
Uygulamanızdan portalda bir yuvayı kaldırmak için aşağıdaki adımları kullanın:
İşlev uygulamasında Dağıtım yuvaları'na gidin ve yuva adını seçin.
Sil'i seçin.
Silmek istediğiniz dağıtım yuvasının adını yazın ve sil'i seçin.
Onay bölmesini kapatın.
App Service planını değiştir
App Service planı altında çalışan bir Function uygulamasıyla, bir yuva için kullanılan temel App Service planını değiştirebilirsiniz.
Not
Tüketim planı altında bir slotun App Service planını değiştiremezsiniz.
Slot'unuzun App Service planını değiştirmek için aşağıdaki adımları takip edin:
İşlev uygulamasında Dağıtım yuvaları'na gidin ve yuva adını seçin.
App Service planı'nın altında App Service planını değiştir'i seçin.
Yükseltmek istediğiniz planı seçin veya yeni bir plan oluşturun.
Tamam'ı seçin.
Dikkat edilmesi gereken noktalar
Azure İşlevleri dağıtım yuvaları için dikkate alınması gerekenler şunlardır:
- Bir uygulamanın kullanabileceği yuva sayısı plana bağlıdır. Tüketim planı için yalnızca bir dağıtım yuvasına izin verilir. Diğer planlarda çalışan uygulamalar için daha fazla kontenjan mevcuttur. Ayrıntılar için bkz . Hizmet sınırları.
- Yuva değiştirme işlemi, değerine eşit
AzureWebJobsSecretStorageTypebirfilesuygulama ayarına sahip uygulamalar için anahtarları sıfırlar. - Yuvalar etkinleştirildiğinde, fonksiyon uygulamanız portalda salt okunur moduna getirilir.
- İşlev uygulamanızın,
AzureWebJobsStorageiçinde ayarlanmış varsayılan depolama hesabı olarak güvenli bir depolama hesabı kullanması durumunda yuva değiştirme işlemleri başarısız olabilir. Daha fazla bilgi içinWEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGSreferansına bakın. - 32 karakterden kısa işlev uygulaması adlarını kullanın. 32 karakterden uzun adlar konak kimliği çakışmaları riski taşır.