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:
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í
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í.
Pokud chcete vertikálně navýšit nebo snížit kapacitu, vyberte DWScaleDownTrigger nebo DWScaleUpTrigger. V rozevírací nabídce vyberte Integrovat.
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.
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.
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ů
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í.
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.
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.
Přejděte do podokna Funkce.
U odpovídajících aktivačních událostí, které chcete povolit, vyberte na posuvné přepínači.
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.
Vytvořte novou prázdnou funkci. + Výběrem tlačítka v blízkosti umístění funkce zobrazíte podokno šablony funkce.
V jazyce vyberte JavaScript a pak vyberte TimerTrigger.
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).
Zkopírujte obsah souboru index.js z některé jiné funkce triggeru.
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).