Azure İşlevleri işlevleri devre dışı bırakma

Bu makalede, Azure İşlevleri'de bir işlevin nasıl devre dışı bırakılası açıklanmaktadır. İşlevi devre dışı bırakmak , çalışma zamanının işlevi tetiklemeye yönelik olayı yoksayma anlamına gelir. Bu özellik, işlev uygulamasının tamamını değiştirmek ve yeniden yayımlamak zorunda kalmadan belirli bir işlevin çalışmasını engellemenizi sağlar.

olarak ayarlanmış truebiçimde AzureWebJobs.<FUNCTION_NAME>.Disabled bir uygulama ayarı oluşturarak bir işlevi yerinde devre dışı bırakabilirsiniz. Azure CLI, Azure PowerShell ve işlevinizin Azure portalındaki Genel Bakış sekmesinden de dahil olmak üzere bu uygulama ayarını çeşitli yollarla oluşturabilir ve değiştirebilirsiniz.

Uygulama ayarlarında yapılan değişiklikler işlev uygulamanızın yeniden başlatılmasına neden olur. Daha fazla bilgi için bkz. Azure İşlevleri için uygulama ayarları başvurusu.

İşlevi devre dışı bırakma

adlı QueueTriggerörnek işlevi devre dışı bırakabilen bir uygulama ayarı oluşturmak için bu modlardan birini kullanın:

İşlevin Genel Bakış sayfasındaki Etkinleştir ve Devre Dışı Bırak düğmelerini kullanın. Bu düğmeler, uygulama ayarının AzureWebJobs.QueueTrigger.Disabled değerini değiştirerek çalışır. İşleve özgü uygulama ayarı, bir işlev ilk devre dışı bırakışında oluşturulur.

Function state switch

İşlev uygulamanıza yerel bir projeden yayımladığınızda bile, işlev uygulamasındaki işlevleri devre dışı bırakmak için portalı kullanmaya devam edebilirsiniz.

Not

Devre dışı bırakılan işlevler ana anahtar kullanılarak REST uç noktası çağrılarak çalıştırılabilir. Daha fazla bilgi edinmek için bkz . Devre dışı bırakılmış bir işlevi çalıştırma. Bu, devre dışı bırakılmış bir işlevin portaldaki Test/Çalıştırma penceresinden başlandığında ana (Konak anahtarı) kullanılarak çalışmaya devam ettiğini gösterir.

Yuvadaki işlevleri devre dışı bırakma

Varsayılan olarak, uygulama ayarları dağıtım yuvalarında çalışan uygulamalar için de geçerlidir. Ancak yuvaya özgü bir uygulama ayarı ayarlayarak yuva tarafından kullanılan uygulama ayarını geçersiz kılabilirsiniz. Örneğin, bir işlevin üretimde etkin olmasını ancak dağıtım testi sırasında etkin olmasını istemeyebilirsiniz. Eşzamanlı yürütmeleri önlemek için yuvalarda zamanlayıcı ile tetiklenen işlevleri devre dışı bırakmak yaygın bir durumdır.

Bir işlevi yalnızca hazırlama yuvasında devre dışı bırakmak için:

Dağıtım altında Dağıtım yuvaları'nı seçerek, yuvanızı seçerek ve yuva örneğinde İşlevler'i seçerek işlev uygulamanızın yuva örneğine gidin. İşlevinizi seçin, ardından işlevin Genel Bakış sayfasındaki Etkinleştir ve Devre Dışı Bırak düğmelerini kullanın. Bu düğmeler, uygulama ayarının AzureWebJobs.<FUNCTION_NAME>.Disabled değerini değiştirerek çalışır. İşleve özgü bu ayar, işlevi ilk devre dışı bırakışınızda oluşturulur.

Ayrıca, yuva örneğinin Yapılandırması'ndadeğeri true ile adlı AzureWebJobs.<FUNCTION_NAME>.Disabled uygulama ayarını doğrudan ekleyebilirsiniz. Yuvaya özgü bir uygulama ayarı eklediğinizde Dağıtım yuvası ayarı kutusunu işaretlediğinizden emin olun. Bu seçenek, değiştirmeler sırasında yuvayla birlikte ayar değerini korur.

Daha fazla bilgi edinmek için bkz. Azure İşlevleri Dağıtım yuvaları.

Devre dışı bırakılmış bir işlevi çalıştırma

Devre dışı işlevin uç nokta URL'sine rest isteğinde ana anahtarı sağlayarak devre dışı bırakılmış bir işlevin çalışmasına neden olabilirsiniz. Bu şekilde, Azure'da devre dışı durumda işlevler geliştirebilir ve doğrulayabilir ve diğer kullanıcıların bunlara erişmesini engelleyebilirsiniz. İstekte başka bir anahtar türü kullanıldığında bir HTTP 404 yanıtı döndürülüyor.

Dikkat

İşlev uygulamanızda ana anahtar tarafından verilen yükseltilmiş izinler nedeniyle, bu anahtarı üçüncü taraflarla paylaşmamanız veya yerel istemci uygulamalarında dağıtmamanız gerekir. Yönetici erişim düzeyini seçerken dikkatli olun.

Ana anahtar hakkında daha fazla bilgi edinmek için bkz . Anahtarları alma. HTTP ile tetiklenmeyen işlevleri çağırma hakkında daha fazla bilgi edinmek için bkz . HTTP ile tetiklenmeyen bir işlevi el ile çalıştırma.

İşlevleri yerel olarak devre dışı bırakma

İşlevler yerel olarak çalıştırılırken aynı şekilde devre dışı bırakılabilir. adlı QueueTriggerbir işlevi devre dışı bırakmak için, local.settings.json dosyasındaki Values koleksiyonuna aşağıdaki gibi bir girdi ekleyin:

{
  "IsEncrypted": false,
  "Values": {
    "FUNCTIONS_WORKER_RUNTIME": "python",
    "AzureWebJobsStorage": "UseDevelopmentStorage=true", 
    "AzureWebJobs.QueueTrigger.Disabled": true
  }
}

Dikkat edilmesi gereken noktalar

İşlevleri devre dışı bırakırken aşağıdaki noktaları göz önünde bulundurun:

  • Bu makalede açıklanan yöntemleri kullanarak HTTP ile tetiklenen bir işlevi devre dışı bırakırsanız, uç noktaya yerel bilgisayarınızda ve portalda çalışırken yine erişilebilir.

  • Şu anda, kısa çizgi (-) içeren işlev adları Linux üzerinde çalıştırılırken devre dışı bırakılamaz. Linux'ta çalışırken işlevlerinizi devre dışı bırakmayı planlıyorsanız işlev adlarınızda kısa çizgi kullanmayın.

Sonraki adımlar

Bu makale, otomatik tetikleyicileri devre dışı bırakma hakkındadır. Tetikleyiciler hakkında daha fazla bilgi için bkz . Tetikleyiciler ve bağlamalar.