Azure İşlevleri ısınma tetikleyicisi

Bu makalede, Azure İşlevleri'da ısınma tetikleyicisi ile nasıl çalışabilirsiniz açıklanmaktadır. Çalışan işlev uygulamasını ölçeklendirmek için bir örnek eklendiğinde bir ısınma tetikleyicisi çağrılır. Isınma tetikleyicisi, işlev uygulamanızın yeni bir örneği başlatıldığında çalışan bir işlev tanımlamanıza olanak tanır. İşlevlerinizin istekleri hemen işlemeye hazır olması için özel bağımlılıkları önceden yüklemek için bir ısınma tetikleyicisi kullanabilirsiniz. Bir ısınma tetikleyicisi için bazı eylemler arasında bağlantıları açma, bağımlılıkları yükleme veya uygulamanız trafik almaya başlamadan önce başka bir özel mantık çalıştırma sayılabilir.

Isınma tetikleyicisi kullanılırken aşağıdaki noktalar geçerlidir:

  • İşlev uygulaması başına yalnızca bir ısınma tetikleyicisi işlevi olabilir ve örnek zaten çalıştırıldıktan sonra çağrılamıyor.
  • Uygulamanızın ısınma tetikleyicisi olan işlevin adı (büyük/küçük harfe duyarsız) olmalıdır warmup .
  • Isınma tetikleyicisi Tüketim planında çalışan uygulamalar tarafından kullanılamaz.
  • Isınma tetikleyicisi desteği tüm geliştirme ortamlarında varsayılan olarak sağlanır. Paketi el ile yüklemeniz veya uzantıyı kaydetmeniz gerekmez.
  • Isınma tetikleyicisi yalnızca ölçeği genişletme işlemleri sırasında çağrılır, yeniden başlatmalar veya diğer ölçeklendirilmeyen başlatmalar sırasında çağrılmaz. Mantığınızın, ısınma tetikleyicisine bağlı kalmadan tüm gerekli bağımlılıkları yükleyeediğinden emin olun. Yavaş yükleme, bu hedefe ulaşmak için iyi bir desendir.
  • Isınma tetikleyicisi tarafından oluşturulan bağımlılıklar uygulamanızdaki diğer işlevlerle paylaşılmalıdır. Daha fazla bilgi edinmek için bkz . Statik istemciler.
  • Yerleşik kimlik doğrulaması (Kolay Kimlik Doğrulaması olarak da bilinir) kullanılıyorsa, ısınma tetikleyicisinin çağrılabilmesi için Yalnızca HTTPS etkinleştirilmelidir.

Uzantıyı yükleme

C# sınıf kitaplığı işlev uygulamanız yalıtılmış çalışan işleminde çalıştırıldığında bu NuGet paketini yüklemeniz gerekir. C# uygulamanız konakla birlikte çalışırken ek bir paket yüklemeniz gerekmez.

Önemli

İşlem içi model desteği 10 Kasım 2026'da sona erecektir. Tam destek için uygulamalarınızı yalıtılmış çalışan modeline geçirmenizi kesinlikle öneririz.

Örnek

Go desteği şu anda bu bağlama için mevcut değil.

Aşağıdaki C# modlarından birini kullanarak bir C# işlevi oluşturabilirsiniz:

  • Yalıtılmış çalışan modeli: Çalışma zamanından yalıtılmış bir çalışan işleminde çalışan derlenmiş C# işlevi. .NET ve .NET Framework için uzun vadeli destek (LTS) ve LTS olmayan sürümlerde çalışan C# işlevlerini desteklemek için yalıtılmış bir çalışan işlemi gereklidir.
  • İşlem içi model: Azure İşlevleri çalışma zamanıyla aynı işlemde çalışan derlenmiş C# işlevi.
  • C# betiği: Öncelikle Azure portalında C# işlevleri oluşturduğunuzda kullanılır.

Önemli

İşlem içi model desteği 10 Kasım 2026'da sona erecektir. Tam destek için uygulamalarınızı yalıtılmış çalışan modeline geçirmenizi kesinlikle öneririz.

Aşağıdaki örnekte, uygulamanıza eklendiğinde her yeni örnekte çalışan bir C# işlevi gösterilmektedir.

using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Logging;

namespace SampleApp
{
    public static class Warmup
    {
        [Function(nameof(Warmup))]
        public static void Run([WarmupTrigger] object warmupContext, FunctionContext context)
        {
            var logger = context.GetLogger(nameof(Warmup));
            logger.LogInformation("Function App instance is now warm!");
        }
    }
}

Aşağıdaki örnekte, uygulamanıza her yeni örnek eklendiğinde çalışan bir ısınma tetikleyicisi gösterilmektedir.

@FunctionName("Warmup")
public void warmup( @WarmupTrigger Object warmupContext, ExecutionContext context) {
    context.getLogger().info("Function App instance is warm.");
}

Aşağıdaki örnekte, uygulamanıza eklendiğinde her yeni örnekte çalışan bir ısınma tetikleyicisine sahip bir JavaScript işlevi gösterilmektedir:

const { app } = require('@azure/functions');

app.warmup('warmupTrigger', {
    handler: (warmupContext, context) => {
        context.log('Function App instance is warm.');
    },
});

Aşağıdaki örnekte, uygulamanıza eklendiğinde her yeni örnekte çalışan bir ısınma tetikleyicisine sahip bir TypeScript işlevi gösterilmektedir:

import { app, InvocationContext, WarmupContext } from '@azure/functions';

export async function warmupFunction(warmupContext: WarmupContext, context: InvocationContext): Promise<void> {
    context.log('Function App instance is warm.');
}

app.warmup('warmup', {
    handler: warmupFunction,
});

İşte function.json dosyası:

{
    "bindings": [
        {
            "type": "warmupTrigger",
            "direction": "in",
            "name": "warmupContext"
        }
    ]
}

PowerShell örnek kodu beklemede.

Aşağıdaki örnekte, function.json dosyasındaki bir ısınma tetikleyicisi ve uygulamanıza eklendiğinde her yeni örnekte çalışan bir Python işlevi gösterilmektedir.

İşlevinizin adı warmup (büyük/küçük harfe duyarsız) olmalıdır ve uygulama başına yalnızca bir ısınma işlevi olabilir.

import logging
import azure.functions as func

app = func.FunctionApp()


@app.warm_up_trigger('warmup')
def warmup(warmup) -> None:
    logging.info('Function App instance is warm')

Daha fazla bilgi için bkz. Yapılandırma.

Özellikler

hem işlem içi hem de yalıtılmış çalışan işlemi C# kitaplıkları işlevi tanımlamak için özniteliğini kullanırWarmupTrigger. C# betiği bunun yerine bir function.json yapılandırma dosyası kullanır.

WarmupTrigger işlevini tanımlamak için özniteliğini kullanın. Bu özniteliğin parametresi yok.

Ek Açıklamalar

Isınma tetikleyicileri ek açıklama gerektirmez. Ek açıklama için warmup bir ad FunctionName (büyük/küçük harfe duyarsız) kullanmanız yeter.

Yapılandırma

  • İşlev tetikleyicinizin adı warmupTrigger (büyük/küçük harfe duyarsız) olmalıdır.
  • yöntemine geçirilen options nesnede app.warmup() ayarlanması gereken özellik yok.

Yapılandırma

Aşağıdaki tabloda, function.json dosyasında ayarladığınız bağlama yapılandırma özellikleri açıklanmaktadır.

function.json özelliği Açıklama
türü Gerekli - olarak warmupTriggerayarlanmalıdır.
yön Gerekli - olarak inayarlanmalıdır.
ad Gerekli - işlev kodunda kullanılan değişken adı. name warmupContext bağlama parametresi için bir önerilir.

Tam örnekler için Örnek bölümüne bakın.

Kullanım

C# dilinde bir ısınma işlevi kullanmak için aşağıdaki önemli noktalar geçerlidir:

  • İşleviniz özniteliği kullanılarak warmup adlandırılmalıdır Function (büyük/küçük harfe duyarsız).
  • Dönüş değeri özniteliği gerekli değildir.
  • Microsoft.Azure.Functions.Worker.Extensions.Warmup Paketi kullanma
  • bir nesne örneğini işleve geçirebilirsiniz.

İşleviniz ek açıklama kullanılarak warmup adlandırılmalıdır FunctionName (büyük/küçük harfe duyarsız).

Genel kullanım önerileri için sayfanın üst kısmındaki dikkat edilmesi gerekenler listesine bakın.

function.json işlev türü olarak warmupTriggerayarlanmalıdır.

Sonraki adımlar