Sandboxy
Platí pro: ✅Azure Data Explorer
Kusto může spouštět sandboxy pro konkrétní toky, které se musí spouštět v zabezpečeném a izolovaném prostředí. Příklady těchto toků jsou uživatelsky definované skripty, které se spouští pomocí modulu plug-in Pythonu nebo modulu plug-in R.
Sandboxy se spouští místně (což znamená, že zpracování se provádí blízko dat) bez další latence pro vzdálená volání.
Předpoklady a omezení
- Sandboxy musí běžet na velikostech virtuálních počítačů podporujících vnořenou virtualizaci, která implementuje technologii Hyper-V a nemají žádná omezení.
- Image pro spuštění sandboxů se nasadí do každého uzlu clusteru a ke spuštění vyžaduje vyhrazené místo SSD.
- Odhadovaná velikost je mezi 10 až 20 GB.
- To ovlivňuje datovou kapacitu clusteru a může mít vliv na náklady na cluster.
Šablona běhového prostředí
- Operátor dotazu v izolovaném prostoru (sandbox) může pro spuštění použít jeden nebo více sandboxů.
- Sandbox se používá jenom pro jeden dotaz a po dokončení dotazu se vyřadí.
- Když se uzel restartuje, například jako součást upgradu služby, všechny spuštěné sandboxy na něm budou uvolněny.
- Každý uzel udržuje předdefinovaný počet sandboxů, které jsou připravené pro spouštění příchozích požadavků.
- Po použití sandboxu se automaticky zpřístupní nový, který ho nahradí.
- Pokud nejsou k dispozici žádné předem přidělené sandboxy pro obsluhu operátoru dotazu, omezí se, dokud nebudou k dispozici nové sandboxy. Další informace najdete v tématu Chyby. Nové přidělení sandboxu může trvat až 10 až 15 sekund na sandbox v závislosti na skladové poště a dostupných prostředcích na datovém uzlu.
Parametry sandboxu
Některé parametry je možné řídit pomocí zásad sandboxu na úrovni clusteru pro každý druh sandboxu.
- Počet sandboxů na uzel: Počet sandboxů na uzel je omezený.
- Požadavky, které se provádějí v případě, že není k dispozici sandbox, se omezí.
- Inicializace při spuštění: pokud je nastavená na
false
(výchozí), jsou sandboxy na uzlu opožděně inicializovány, při prvním spuštění dotazu vyžaduje sandbox. Jinak, pokud je nastavena natrue
, sandboxy se inicializují jako součást spuštění služby.- To znamená, že první spuštění modulu plug-in, který používá sandboxy na uzlu, bude obsahovat krátkou dobu zahřátí.
- CPU: Maximální rychlost procesoru, kterou sandbox může využívat procesory hostitele, je omezená (výchozí hodnota je
50%
).- Po dosažení limitu dojde k omezení využití procesoru sandboxu, ale provádění bude pokračovat.
- Paměť: Maximální velikost paměti RAM, kterou sandbox může využívat, je omezená paměť RAM hostitele.
- Výchozí paměť pro technologii Hyper-V je 1 GB a pro starší sandboxy 20 GB.
- Dosažení limitu způsobí ukončení sandboxu a chybu spuštění dotazu.
Omezení sandboxu
- Síť: Sandbox nemůže komunikovat s žádným prostředkem na virtuálním počítači nebo mimo něj.
- Sandbox nemůže komunikovat s jiným sandboxem.
Poznámka:
Prostředky používané s sandboxem závisejí nejen na velikosti zpracovávaných dat v rámci požadavku, ale také na logice, která se spouští v sandboxu, a na implementaci knihoven, které ho používají.
Například pro moduly python
plug-in a r
moduly plug-in znamená skript poskytovaný uživatelem a knihovny Pythonu nebo R, které využívá za běhu.
Chyby
ErrorCode | Stav | Zpráva | Potenciální důvod |
---|---|---|---|
E_SB_QUERY_THROTTLED_ERROR | TooManyRequests (429) | Dotaz v izolovaném prostoru (sandbox) byl přerušen kvůli omezování. Opakování po nějakém zpochybnění může proběhnout úspěšně. | V cílovém uzlu nejsou k dispozici žádné sandboxy. Nové sandboxy by měly být dostupné během několika sekund. |
E_SB_QUERY_THROTTLED_ERROR | TooManyRequests (429) | Sandboxy typu {kind} ještě nebyly inicializovány. | Zásady sandboxu se nedávno změnily. Nové sandboxy, které dodržují nové zásady, budou k dispozici během několika sekund. |
InternalServiceError (520) | Dotaz v izolovaném prostoru (sandbox) byl přerušen kvůli chybě při inicializaci sandboxů. | Neočekávaná chyba infrastruktury |
Velikosti virtuálních počítačů podporující vnořenou virtualizaci
Následující tabulka uvádí všechny moderní velikosti virtuálních počítačů, které podporují technologii sandboxu Hyper-V.
Název | Kategorie |
---|---|
Standard_L8s_v3 | optimalizované pro úložiště |
Standard_L16s_v3 | optimalizované pro úložiště |
Standard_L8as_v3 | optimalizované pro úložiště |
Standard_L16as_v3 | optimalizované pro úložiště |
Standard_E8as_v5 | optimalizované pro úložiště |
Standard_E16as_v5 | optimalizované pro úložiště |
Standard_E8s_v4 | optimalizované pro úložiště |
Standard_E16s_v4 | optimalizované pro úložiště |
Standard_E8s_v5 | optimalizované pro úložiště |
Standard_E16s_v5 | optimalizované pro úložiště |
Standard_E2ads_v5 | optimalizované pro výpočty |
Standard_E4ads_v5 | optimalizované pro výpočty |
Standard_E8ads_v5 | optimalizované pro výpočty |
Standard_E16ads_v5 | optimalizované pro výpočty |
Standard_E2d_v4 | optimalizované pro výpočty |
Standard_E4d_v4 | optimalizované pro výpočty |
Standard_E8d_v4 | optimalizované pro výpočty |
Standard_E16d_v4 | optimalizované pro výpočty |
Standard_E2d_v5 | optimalizované pro výpočty |
Standard_E4d_v5 | optimalizované pro výpočty |
Standard_E8d_v5 | optimalizované pro výpočty |
Standard_E16d_v5 | optimalizované pro výpočty |
Standard_D32d_v4 | optimalizované pro výpočty |