dağıtım yuvalarını Azure İşlevleri

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, genel kullanıma açık bir uç nokta aracılığıyla kullanıma 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. Tüketim planında çalışan işlev uygulamaları hazırlama için tek bir ek yuvaya sahiptir. Uygulamanızı premium planda veya Ayrılmış (App Service) planında çalıştırarak daha fazla hazırlama yuvası elde edebilirsiniz. Daha fazla bilgi için bkz . Hizmet sınırları.

Aşağıdakiler işlevlerin yuva değiştirme işlemlerinden nasıl etkilendiğini yansıtır:

  • Trafik yeniden yönlendirme sorunsuz; değiştirme nedeniyle hiçbir istek bırakılmaz. Bu sorunsuz davranış, bir sonraki işlev tetikleyicisinin değiştirildiği yuvaya yönlendirildiği için oluşur.
  • Şu anda yürütülen işlev değiştirme sırasında sonlandırılır. Durum bilgisi olmayan ve savunma işlevleri yazmayı öğrenmek için bkz. Azure İşlevleri performansını ve güvenilirliğini geliştirme.

Yuvalar neden 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 yuvaya 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. Örnekler dağıtımdan önce ısınarak yeni dağıtılan işlevlerin soğuk başlangıcını azaltır.
  • Kolay geri dönüşler: Üretimle değiştirme işleminden sonra, önceden hazırlanmış bir uygulamaya sahip yuva artık önceki üretim uygulamasına sahiptir. Ü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. Bunun yerine hazırlama yuvasındaki ayarları değiştirebilir ve ayarları önceden hazır bir örnekle üretime değiştirebilirsiniz. Yuvalar, en yüksek kullanılabilirliği korurken İşlevler çalışma zamanı sürümleri arasında geçiş yapmak için önerilen yoldur. Daha fazla bilgi edinmek için bkz . En düşük kapalı kalma süresi güncelleştirmesi.

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 kapalı kalma süresi yaşamamasını sağlar:

  1. Ayarları uygula: Hedef yuvadan Ayarlar, kaynak yuvanın tüm örneklerine uygulanır. Örneğin, üretim ayarları hazırlama örneğine uygulanır. Uygulanan ayarlar aşağıdaki kategorileri içerir:

  2. 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.

  3. 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 yuvada (örneğin, üretim yuvası) daha önce kaynak yuvada ısıtılmış olan uygulama bulunur.

  4. İş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 dağıtım yuvası ayarlarıolarak yapılandırılmalıdır. Bunları önceden "yapışkan" olarak işaretlemek, olayların ve çıkışların uygun örneğe yönlendirilmesini sağlar.

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.

Yuvaya özgü ayarlar:

  • Yayımlama uç noktaları
  • Özel etki alanı adları
  • Abonelik dışı sertifikalar ve TLS/SSL ayarları
  • Ölçek ayarları
  • IP kısıtlamaları
  • Her Zaman Açık
  • Tanılama ayarları
  • Çıkış noktaları arası kaynak paylaşımı (CORS)
  • Özel uç noktalar

Yuvaya özgü olmayan ayarlar:

  • Çerçeve sürümü, 32/64 bit, web yuvaları gibi genel ayarlar
  • Uygulama ayarları (yuvaya bağlı kalmak için yapılandırılabilir)
  • Bağlan ion dizeleri (yuvaya bağlı kalmak için yapılandırılabilir)
  • İşleyici eşlemeleri
  • Ortak 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 ve gibi WEBSITE_HTTPLOGGING_RETENTION_DAYSDIAGNOSTICS_AZUREBLOBRETENTIONDAYS ilgili uygulama ayarları 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 bir ayar, uygulama örneğiyle değiştirmez.

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:

  1. İşlev uygulamasında Dağıtım yuvaları'na gidin ve yuva adını seçin.

    Find slots in the Azure portal.

  2. Yapılandırma'yı seçin ve ardından geçerli yuvaya bağlı kalmak istediğiniz ayar adını seçin.

    Configure the application setting for a slot in the Azure portal.

  3. Dağıtım yuvası ayarı'nın ardından Tamam'ı seçin.

    Configure the deployment slot setting.

  4. Ayar bölümü kaybolduktan sonra, değişiklikleri korumak için Kaydet'i seçin

    Save the deployment slot setting.

Dağıtım

Yuva oluşturduğunuzda yuvalar boş olur. 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ı ölçeklendirildikçe ölçeklendirilir.
  • App Service planları için uygulama, sabit sayıda çalışana ölçeklendirilir. Yuvalar, uygulama planıyla aynı sayıda çalışan ü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:

  1. İşlev uygulamanıza gidin.

  2. Dağıtım yuvaları'nı seçtiğinizde mevcut yuvalar gösterilir.

Yuva ekleme

Azure CLI'yi kullanarak veya Azure portalı aracılığıyla yuva ekleyebilirsiniz.

Portalda yuva oluşturmak için şu adımları kullanın:

  1. İşlev uygulamanıza gidin.

  2. Dağıtım yuvaları'yı ve ardından + Yuva Ekle'yi seçin.

    Add Azure Functions deployment slot.

  3. Yuvanın adını yazın ve Ekle'yi seçin.

    Name the Azure Functions deployment slot.

Erişim yuvası kaynakları

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ştirme

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:

  1. İşlev uygulamasına gidin.

  2. Dağıtım yuvaları'nın ardından Değiştir'i seçin.

    Screenshot that shows the 'Deployment slot' page with the 'Add Slot' action selected.

  3. Değiştirme işleminizin yapılandırma ayarlarını doğrulayın ve Değiştir'i seçin

    Swap the deployment slot.

Değiştirme işlemi birkaç saniye sürebilir.

Değiştirme 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'yi kullanarak veya Azure portalı üzerinden kaldırabilirsiniz.

Portalda uygulamanızdan bir yuvayı kaldırmak için şu adımları kullanın:

  1. İşlev uygulamasında Dağıtım yuvaları'na gidin ve yuva adını seçin.

    Find slots in the Azure portal.

  2. Sil'i seçin.

    Screenshot that shows the 'Overview' page with the 'Delete' action selected.

  3. Silmek istediğiniz dağıtım yuvasının adını yazın ve sil'i seçin.

    Delete the deployment slot in the Azure portal.

  4. Onay bölmesini kapatın.

    Deployment slot delete confirmation.

App Service planını değiştir

App Service planı altında çalışan bir işlev uygulamasıyla, yuva için temel alınan App Service planını değiştirebilirsiniz.

Not

Tüketim planı altında yuvanın App Service planını değiştiremezsiniz.

Yuvanın App Service planını değiştirmek için aşağıdaki adımları kullanın:

  1. İşlev uygulamasında Dağıtım yuvaları'na gidin ve yuva adını seçin.

    Find slots in the Azure portal.

  2. App Service planı'nın altında App Service planını değiştir'i seçin.

  3. Yükseltmek istediğiniz planı seçin veya yeni bir plan oluşturun.

    Change the App Service plan in the Azure portal.

  4. Tamam'ı seçin.

Dikkat edilmesi gereken noktalar

Azure İşlevleri dağıtım yuvaları aşağıdaki noktalara sahiptir:

  • Bir uygulamanın kullanabileceği yuva sayısı plana bağlıdır. Tüketim planına yalnızca bir dağıtım yuvası izin verilir. Diğer planlarda çalışan uygulamalar için daha fazla yuva mevcuttur. Ayrıntılar için bkz . Hizmet sınırları.
  • Yuva değiştirme işlemi, değerine eşit filesbir AzureWebJobsSecretStorageType uygulama ayarına sahip uygulamalar için anahtarları sıfırlar.
  • Yuvalar etkinleştirildiğinde, işlev uygulamanız portalda salt okunur moda ayarlanır.
  • İşlev uygulamanız varsayılan depolama hesabı (içinde ayarlanmış) olarak güvenli bir depolama hesabı kullandığında AzureWebJobsStorageyuva değiştirme işlemleri başarısız olabilir. Daha fazla bilgi için başvuruya WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS bakın.
  • 32 karakterden kısa işlev uygulaması adlarını kullanın. 32 karakterden uzun adlar konak kimliği çakışmalarına neden olma riski altındadır.

Sonraki adımlar