Sdílet prostřednictvím


Použití Azure Functions ke správě výpočetních prostředků pro vyhrazený fond SQL (dříve SQL DW) ve službě Azure Synapse Analytics

Tento kurz používá Azure Functions ke správě výpočetních prostředků pro vyhrazený fond SQL (dříve SQL DW) ve službě Azure Synapse Analytics.

Pokud chcete použít aplikaci Funkcí Azure s vyhrazeným fondem SQL (dříve SQL DW), musíte vytvořit účet instančního objektu. Účet instančního objektu potřebuje přístup přispěvatele ve stejném předplatném jako vaše vyhrazená instance SQL (dříve SQL DW).

Nasazení škálování na základě časovače pomocí šablony Azure Resource Manageru

K nasazení šablony potřebujete následující informace:

  • Název skupiny prostředků, ve které je vyhrazený fond SQL (dříve SQL DW) instance
  • Název serveru, ve který je vyhrazený fond SQL (dříve SQL DW), je v
  • Název vyhrazené instance fondu SQL (dříve SQL DW)
  • ID tenanta (ID adresáře) vašeho ID Microsoft Entra
  • ID předplatného
  • ID aplikace instančního objektu
  • Tajný klíč instančního objektu

Jakmile budete mít předchozí informace, nasaďte tuto šablonu:

Image showing a button labeled

Po nasazení šablony byste měli najít tři nové prostředky: bezplatný plán služby Aplikace Azure, plán aplikace funkcí založený na spotřebě a účet úložiště, který zpracovává protokolování a frontu operací. Pokračujte a přečtěte si další části, ve kterých se dozvíte, jak upravit nasazené funkce, aby vyhovovaly vašim požadavkům.

Změna času operace škálování

  1. Přejděte do své služby Function App. Pokud jste nasadili šablonu s výchozími hodnotami, měla by tato služba mít název DWOperations. Po otevření vaší aplikace Function App byste si měli všimnout, že do vaší služby Function App je nasazených pět funkcí.

    Functions that are deployed with template

  2. Pokud chcete vertikálně navýšit nebo snížit kapacitu, vyberte DWScaleDownTrigger nebo DWScaleUpTrigger. V rozevírací nabídce vyberte Integrovat.

    Select Integrate for function

  3. Momentálně by zobrazená hodnota měla být %ScaleDownTime% nebo %ScaleUpTime%. Tyto hodnoty označují, že je plán založený na hodnotách definovaných ve vašem Nastavení aplikace. Prozatím můžete tuto hodnotu ignorovat a podle dalších kroků změnit plán na upřednostňovaný čas.

  4. Do oblasti plánu přidejte výraz CRON, který chcete odrážet, jak často se má Služba Azure Synapse Analytics vertikálně navýšit.

    Change function schedule

    Hodnota schedule je výraz CRON, který zahrnuje těchto šest polí:

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

    Například hodnota 0 30 9 * * 1–5 by odrážela aktivační událost každý pracovní den v 9:30. Další informace najdete v příkladech plánů služby Azure Functions.

Změna úrovně výpočetních prostředků

  1. Přejděte do své služby Function App. Pokud jste nasadili šablonu s výchozími hodnotami, měla by tato služba mít název DWOperations. Po otevření vaší aplikace Function App byste si měli všimnout, že do vaší služby Function App je nasazených pět funkcí.

  2. Vyberte dwScaleDownTrigger nebo DWScaleUpTrigger a vertikálně navyšte nebo vertikálně navyšte kapacitu výpočetní hodnoty. Po výběru funkcí by se ve vašem podokně měl zobrazit soubor index.js.

    Change function trigger compute level

  3. Změňte hodnotu ServiceLevelObjective na požadovanou úroveň a vyberte uložit. ServiceLevelObjective je úroveň výpočetních prostředků, na kterou se vaše instance datového skladu škáluje na základě plánu definovaného v části Integrace.

Použití pozastavení nebo obnovení místo škálování

Aktuálně jsou ve výchozím nastavení zapnuté funkce DWScaleDownTrigger a DWScaleUpTrigger. Pokud místo toho chcete použít funkce pozastavení a obnovení, můžete povolit DWPauseTrigger nebo DWResumeTrigger.

  1. Přejděte do podokna Funkce.

    Functions pane

  2. U odpovídajících aktivačních událostí, které chcete povolit, vyberte na posuvné přepínači.

  3. Přejděte na karty Integrace příslušných triggerů a změňte jejich plán.

    Poznámka:

    Funkční rozdíl mezi triggery škálování a aktivačními událostmi pozastavení/obnovení je zpráva, která se odešle do fronty. Další informace najdete v tématu Přidání nové funkce triggeru.

Přidání nové funkce triggeru

Aktuálně jsou součástí šablony pouze dvě škálovací funkce. Díky těmto funkcím můžete během dne vertikálně snížit kapacitu jen jednou a až jednou. Pokud chcete podrobnější řízení, jako je horizontální snížení kapacity vícekrát za den nebo jiné chování škálování o víkendech, musíte přidat další trigger.

  1. Vytvořte novou prázdnou funkci. + Výběrem tlačítka v blízkosti umístění funkce zobrazíte podokno šablony funkce.

    Screenshot that shows the

  2. V jazyce vyberte JavaScript a pak vyberte TimerTrigger.

    Create new function

  3. Zadejte název funkce a nastavte plán. Tento obrázek ukazuje, jak aktivovat funkci každou sobotu o půlnoci (v noci z pátku).

    Scale down Saturday

  4. Zkopírujte obsah souboru index.js z některé jiné funkce triggeru.

    Copy index js

  5. Nastavte proměnnou operace na požadované chování následujícím způsobem:

    // 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"
    }
    

Složité plánování

Tato část stručně ukazuje, co je nezbytné k získání složitějšího plánování možností pozastavení, obnovení a škálování.

Příklad 1

Denní vertikální navýšení kapacity v 8:00 až DW600c a vertikální snížení kapacity v 8:00 na DW200c.

Function Plán Operace
Funkce1 0 0 8 * * * var operation = {"operationType": "ScaleDw", "ServiceLevelObjective": "DW600c"}
Funkce2 0 0 20 * * * var operation = {"operationType": "ScaleDw", "ServiceLevelObjective": "DW200c"}

Příklad 2

Denní vertikální navýšení kapacity na 8:000 na DW1000c, vertikální snížení kapacity jednou na DW600 v 4:00 a vertikální snížení kapacity v 10 hodin na DW200c.

Function Plán Operace
Funkce1 0 0 8 * * * var operation = {"operationType": "ScaleDw", "ServiceLevelObjective": "DW1000c"}
Funkce2 0 0 16 * * * var operation = {"operationType": "ScaleDw", "ServiceLevelObjective": "DW600c"}
Funkce3 0 0 22 * * * var operation = {"operationType": "ScaleDw", "ServiceLevelObjective": "DW200c"}

Příklad 3

Vertikálně navyšte kapacitu na 8:00 až DW1000c, vertikálně navyšte kapacitu jednou na DW600c na 4:00 v pracovní dny. Pozastavení v pátek ve 23:00 a obnovení v pondělí v 7:00 ráno.

Function Plán Operace
Funkce1 0 0 8 * * 1-5 var operation = {"operationType": "ScaleDw", "ServiceLevelObjective": "DW1000c"}
Funkce2 0 0 16 * * 1-5 var operation = {"operationType": "ScaleDw", "ServiceLevelObjective": "DW600c"}
Funkce3 0 0 23 * * 5 var operation = {"operationType": "PauseDw"}
Funkce4 0 0 7 * * 1 var operation = {"operationType": "ResumeDw"}

Další kroky

Přečtěte si další informace o triggeru časovače azure Functions.

Podívejte se na vyhrazené úložiště ukázek SQL (dříve SQL DW).