Azure Synapse Analytics'te ayrılmış SQL havuzunuzun (eski adı SQL DW) işlem kaynaklarını yönetmek için Azure İşlevleri kullanın

Bu öğreticide, Azure Synapse Analytics'te ayrılmış bir SQL havuzunun (eski adı SQL DW) işlem kaynaklarını yönetmek için Azure İşlevleri kullanılır.

Ayrılmış SQL havuzu (eski adı SQL DW) ile azure işlev uygulamasını kullanmak için bir Hizmet Sorumlusu Hesabı oluşturmanız gerekir. Hizmet Sorumlusu Hesabı, ayrılmış SQL havuzu (eski adı SQL DW) örneğiniz ile aynı abonelik altında katkıda bulunan erişimine ihtiyaç duyar.

Azure Resource Manager şablonuyla zamanlayıcı tabanlı ölçeklendirme dağıtma

Şablonu dağıtmak için aşağıdaki bilgilere ihtiyacınız vardır:

  • Ayrılmış SQL havuzunuzun (eski adı SQL DW) içinde yer alan kaynak grubunun adı
  • Ayrılmış SQL havuzu (eski adı SQL DW) örneğinizin içinde olduğu sunucunun adı
  • Ayrılmış SQL havuzunuzun (eski adı SQL DW) örneğinizin adı
  • Microsoft Entra Kimliğinizin Kiracı Kimliği (Dizin Kimliği)
  • Abonelik Kimliği
  • Hizmet Sorumlusu Uygulama Kimliği
  • Hizmet Sorumlusu Gizli Anahtarı

Önceki bilgilere sahip olduktan sonra şu şablonu dağıtın:

Image showing a button labeled

Şablonu dağıttıktan sonra üç yeni kaynak bulmanız gerekir: ücretsiz Azure Uygulaması Hizmet Planı, tüketim tabanlı İşlev Uygulaması planı ve günlüğe kaydetme ile işlem kuyruğunun işlendiğini belirten bir depolama hesabı. Dağıtılan işlevlerin gereksinimlerinize uyacak şekilde nasıl değiştirileceğini görmek için okumaya devam edin.

Ölçeklendirme işleminin zamanını değiştirme

  1. İşlev Uygulaması hizmetinize gidin. Şablonu varsayılan değerlerle dağıttıysanız, bu hizmetin adı DWOperations olacaktır. İşlev Uygulamanız açıldığında, İşlev Uygulaması Hizmetinize beş işlevin dağıtılmış olduğunu görürsünüz.

    Functions that are deployed with template

  2. Ölçeği genişletmek veya küçültmek için DWScaleDownTrigger veya DWScaleUpTrigger'ı seçin. Açılan menüde Tümleştir'i seçin.

    Select Integrate for function

  3. Şu anda görüntülenen değer %ScaleDownTime% veya %ScaleUpTime% olmalıdır. Bu değerler, zamanlamanın Uygulama Ayarları altında tanımlanmış değerleri temel alacağını gösterir. Şimdilik, bu değeri yoksayabilir ve sonraki adımlara göre zamanlamayı tercih ettiğiniz saatle değiştirebilirsiniz.

  4. Zamanlama alanına Azure Synapse Analytics'in ölçeğinin ne sıklıkta artırılmasını istediğinizi yansıtmak istediğiniz CRON ifadesini ekleyin.

    Change function schedule

    schedule değeri, şu altı alanı içeren bir CRON ifadesidir:

    {second} {minute} {hour} {day} {month} {day-of-week}
    

    Örneğin, "0 30 9 * * 1-5" hafta içi her gün 09:30'da bir tetikleyici yansıtır. Daha fazla bilgi için Azure İşlevlerizamanlama örnekleri sayfasını ziyaret edin.

İşlem düzeyini değiştirme

  1. İşlev Uygulaması hizmetinize gidin. Şablonu varsayılan değerlerle dağıttıysanız, bu hizmetin adı DWOperations olacaktır. İşlev Uygulamanız açıldığında, İşlev Uygulaması Hizmetinize beş işlevin dağıtılmış olduğunu görürsünüz.

  2. İşlem değerinin ölçeğini genişletmek veya küçültmek için DWScaleDownTrigger veya DWScaleUpTrigger'ı seçin. İşlevleri seçtikten sonra, bölmenizde index.js dosyası gösterilmelidir.

    Change function trigger compute level

  3. ServiceLevelObjective değerini istediğiniz düzeyle değiştirin ve kaydet'i seçin. ServiceLevelObjective, veri ambarı örneğinizin Tümleştirme bölümünde tanımlanan zamanlamaya göre ölçeklendirileceği işlem düzeyidir.

Ölçek yerine duraklatma veya sürdürme kullanma

Şu anda, varsayılan olarak açık olan işlevler DWScaleDownTrigger ve DWScaleUpTrigger'dır. Bunun yerine duraklatma ve sürdürme işlevselliğini kullanmak isterseniz, DWPauseTrigger veya DWResumeTrigger'ı etkinleştirebilirsiniz.

  1. İşlevler bölmesine gidin.

    Functions pane

  2. Etkinleştirmek istediğiniz ilgili tetikleyiciler için kayan geçiş düğmesini seçin.

  3. Zamanlamalarını değiştirmek için ilgili tetikleyicilerin Tümleştir sekmelerine gidin.

    Dekont

    Ölçeklendirme tetikleyicileri ile duraklatma/sürdürme tetikleyicileri arasındaki işlevsel fark, kuyruğa gönderilen iletidir. Daha fazla bilgi için bkz . Yeni tetikleyici işlevi ekleme.

Yeni tetikleyici işlevi ekleme

Şu anda, şablona dahil edilmiş yalnızca iki ölçeklendirme işlevi vardır. Bu işlevlerle, bir gün boyunca ölçeği yalnızca bir kez azaltıp bir kez artırabilirsiniz. Günde birden çok kez ölçeklendirme veya hafta sonları farklı ölçeklendirme davranışı gibi daha ayrıntılı denetim için başka bir tetikleyici eklemeniz gerekir.

  1. Yeni boş bir işlev oluşturun. + İşlev şablonu bölmesini göstermek için İşlevler konumunuzun yakınındaki düğmeyi seçin.

    Screenshot that shows the

  2. Dil'den JavaScript'i ve ardından TimerTrigger'ı seçin.

    Create new function

  3. İşlevinizi adlandırın ve zamanlamanızı ayarlayın. Resimde, işlevin her Cumartesi gece yarısı (Cuma gecesi) nasıl tetiklenebileceği gösterilir.

    Scale down Saturday

  4. Diğer tetikleyici işlevlerinden birinin index.js içeriğini kopyalayın.

    Copy index js

  5. İşlem değişkeninizi aşağıdaki gibi istediğiniz davranışa ayarlayın:

    // Resume the dedicated SQL pool (formerly SQL DW) instance
    var operation = {
        "operationType": "ResumeDw"
    }
    
    // Pause the dedicated SQL pool (formerly SQL DW) instance
    var operation = {
        "operationType": "PauseDw"
    }
    
    // Scale the dedicated SQL pool (formerly SQL DW)l instance to DW600c
    var operation = {
        "operationType": "ScaleDw",
        "ServiceLevelObjective": "DW600c"
    }
    

Karmaşık zamanlama

Bu bölümde, duraklatma, sürdürme ve ölçeklendirme özelliklerinin daha karmaşık bir şekilde zamanlanması için gerekenler kısaca gösterilmektedir.

Örnek 1

Günlük ölçeği 08:00'da DW600c'ye artırıp saat 20:00'da DW200c'ye düşürün.

Function Zamanla İşlem
İşlev1 0 0 8 * * * var operation = {"operationType": "ScaleDw", "ServiceLevelObjective": "DW600c"}
İşlev2 0 0 20 * * * var operation = {"operationType": "ScaleDw", "ServiceLevelObjective": "DW200c"}

Örnek 2

Günlük ölçeği 08:00'da DW1000c'ye, ölçeği bir kez 16:00'da DW600'e ve 10:00'da DW200c'ye düşürün.

Function Zamanla İşlem
İşlev1 0 0 8 * * * var operation = {"operationType": "ScaleDw", "ServiceLevelObjective": "DW1000c"}
İşlev2 0 0 16 * * * var operation = {"operationType": "ScaleDw", "ServiceLevelObjective": "DW600c"}
İşlev3 0 0 22 * * * var operation = {"operationType": "ScaleDw", "ServiceLevelObjective": "DW200c"}

Örnek 3

Ölçeği 08:00'da DW1000c'ye, hafta içi saat 16:00'da DW600c'ye bir kez küçültün. Cuma 23:00'da duraklatılır, Pazartesi sabahı 07:00'da sürdürülür.

Function Zamanla İşlem
İşlev1 0 0 8 * * 1-5 var operation = {"operationType": "ScaleDw", "ServiceLevelObjective": "DW1000c"}
İşlev2 0 0 16 * * 1-5 var operation = {"operationType": "ScaleDw", "ServiceLevelObjective": "DW600c"}
İşlev3 0 0 23 * * 5 var operation = {"operationType": "PauseDw"}
İşlev4 0 0 7 * * 1 var operation = {"operationType": "ResumeDw"}

Sonraki adımlar

Zamanlayıcı tetikleyicisi Azure İşlevleri hakkında daha fazla bilgi edinin.

Bkz. ayrılmış SQL havuzu (eski adıYLA SQL DW) örnekleri deposu.