Azure İşlevleri dağıtım slotları

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:

  1. 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:

  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 yuva (örneğin, üretim yuvası), daha önce kaynak yuvada ısıtılmış olan uygulamayı barındırır.

  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ı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:

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

    Azure portalındaki dağıtım yuvalarını gösteren ekran görüntüsü.

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

    Azure portalında bir yuva için uygulama ayarını yapılandırma yerini gösteren ekran görüntüsü.

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

    Dağıtım yuvası ayarının yapılandırıldığı yeri gösteren ekran görüntüsü.

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

    Dağıtım yuvası ayarının nasıl kaydedileceklerini gösteren ekran görüntüsü.

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:

  1. İşlev uygulamanıza gidin.

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

  1. İşlev uygulamanıza gidin.

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

    Azure İşlevleri dağıtım yuvası eklemeyi gösteren ekran görüntüsü.

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

    Azure İşlevleri dağıtım yuvasını adlandırmayı gösteren ekran görüntüsü.

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:

  1. İşlev uygulamasına gidin.

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

    'Yuva Ekle' eyleminin seçili olduğu 'Dağıtım yuvası' sayfasını gösteren ekran görüntüsü.

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

    Dağıtım yuvasını değiştirme işlemini gösteren ekran görüntüsü.

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:

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

    Azure portalında slotları bulabileceğiniz sayfayı gösteren ekran görüntüsü.

  2. Sil'i seçin.

    'Sil' eyleminin seçili olduğu 'Genel Bakış' sayfasını gösteren ekran görüntüsü.

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

    Azure portalında dağıtım yuvasını silme işlemini gösteren ekran görüntüsü.

  4. Onay bölmesini kapatın.

    Dağıtım yuvası silme onayını gösteren ekran görüntüsü.

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:

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

    Azure portalındaki yuvaları gösteren ekran görüntüsü.

  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.

    Azure portalında App Service planının değiştirileceği yeri gösteren ekran görüntüsü.

  4. 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 AzureWebJobsSecretStorageTypebir files uygulama 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, AzureWebJobsStorage iç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çin WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS referansı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.

Sonraki adımlar