Sandbox

Kusto può eseguire sandbox per flussi specifici che devono essere eseguiti in un ambiente sicuro e isolato. Esempi di questi flussi sono script definiti dall'utente eseguiti usando il plug-in Python o il plug-in R.

Le sandbox vengono eseguite in locale (ovvero l'elaborazione viene eseguita vicino ai dati), senza una latenza aggiuntiva per le chiamate remote.

Prerequisiti e limitazioni

Runtime

  • Un operatore di query in modalità sandbox può usare uno o più sandbox per l'esecuzione.
    • Una sandbox viene usata solo per una singola query e viene eliminata al termine della query.
    • Quando un nodo viene riavviato, ad esempio, come parte di un aggiornamento del servizio, tutti i sandbox in esecuzione in esso vengono eliminati.
  • Ogni nodo mantiene un numero predefinito di sandbox pronti per l'esecuzione di richieste in ingresso.
    • Una volta usata una sandbox, ne viene automaticamente resa disponibile una nuova per sostituirla.
  • Se non sono disponibili sandbox preallocate per la gestione di un operatore di query, verrà limitata fino a quando non saranno disponibili nuove sandbox. Per altre informazioni, vedere Errori. La nuova allocazione sandbox può richiedere fino a 10-15 secondi per sandbox, a seconda dello SKU e delle risorse disponibili nel nodo dati.

Parametri sandbox

Alcuni parametri possono essere controllati usando un criterio sandbox a livello di cluster, per ogni tipo di sandbox.

  • Numero di sandbox per nodo: Il numero di sandbox per nodo è limitato.
    • Le richieste effettuate quando non è disponibile una sandbox verranno limitate.
  • Inizializzare all'avvio: se impostato su false (impostazione predefinita), le sandbox vengono inizializzate in modo differire in un nodo, la prima volta che una query richiede una sandbox per l'esecuzione. In caso contrario, se impostato su true, le sandbox vengono inizializzate come parte dell'avvio del servizio.
    • Ciò significa che la prima esecuzione di un plug-in che usa sandbox in un nodo includerà un breve periodo di riscaldamento.
  • CPU: La frequenza massima di UTILIZZO della CPU che un sandbox può utilizzare dei processori dell'host è limitata (il valore predefinito è 50%).
    • Quando viene raggiunto il limite, l'uso della CPU della sandbox è limitato, ma l'esecuzione continua.
  • Memoria: La quantità massima di RAM che un sandbox può usare della RAM dell'host è limitata.
    • La memoria predefinita per la tecnologia Hyper-V è 1 GB e per sandbox legacy da 20 GB.
    • Il raggiungimento del limite comporta la chiusura della sandbox e un errore di esecuzione della query.

Limitazioni della sandbox

  • Rete: Una sandbox non può interagire con alcuna risorsa nella macchina virtuale (VM) o all'esterno di essa.
    • Una sandbox non può interagire con un'altra sandbox.

Nota

Le risorse usate con sandbox dipendono non solo dalle dimensioni dei dati elaborati come parte della richiesta, ma anche dalla logica eseguita nella sandbox e dall'implementazione delle librerie usate da essa. Ad esempio, per i python plug-in e r , quest'ultimo significa lo script fornito dall'utente e le librerie Python o R usate in fase di esecuzione.

Errors

ErrorCode Stato Messaggio Potenziale motivo
E_SB_QUERY_THROTTLED_ERROR TooManyRequests (429) La query in modalità sandbox è stata interrotta a causa della limitazione. Il nuovo tentativo dopo un backoff potrebbe avere esito positivo Non sono disponibili sandbox nel nodo di destinazione. I nuovi sandbox dovrebbero diventare disponibili in pochi secondi
E_SB_QUERY_THROTTLED_ERROR TooManyRequests (429) Le sandbox di tipo '{kind}' non sono ancora state inizializzate I criteri sandbox sono stati modificati di recente. I nuovi sandbox che obbediscono ai nuovi criteri saranno disponibili in pochi secondi
InternalServiceError (520) La query in modalità sandbox è stata interrotta a causa di un errore durante l'inizializzazione delle sandbox Errore imprevisto dell'infrastruttura.

Dimensioni delle macchine virtuali che supportano la virtualizzazione annidata

Nella tabella seguente sono elencate tutte le dimensioni moderne delle macchine virtuali che supportano la tecnologia sandbox Hyper-V.

Nome Categoria
Standard_L8s_v3 ottimizzato per l'archiviazione
Standard_L16s_v3 ottimizzato per l'archiviazione
Standard_L8as_v3 ottimizzato per l'archiviazione
Standard_L16as_v3 ottimizzato per l'archiviazione
Standard_E8as_v5 ottimizzato per l'archiviazione
Standard_E16as_v5 ottimizzato per l'archiviazione
Standard_E8s_v4 ottimizzato per l'archiviazione
Standard_E16s_v4 ottimizzato per l'archiviazione
Standard_E8s_v5 ottimizzato per l'archiviazione
Standard_E16s_v5 ottimizzato per l'archiviazione
Standard_E2ads_v5 ottimizzato per il calcolo
Standard_E4ads_v5 ottimizzato per il calcolo
Standard_E8ads_v5 ottimizzato per il calcolo
Standard_E16ads_v5 ottimizzato per il calcolo
Standard_E2d_v4 ottimizzato per il calcolo
Standard_E4d_v4 ottimizzato per il calcolo
Standard_E8d_v4 ottimizzato per il calcolo
Standard_E16d_v4 ottimizzato per il calcolo
Standard_E2d_v5 ottimizzato per il calcolo
Standard_E4d_v5 calcolo ottimizzato
Standard_E8d_v5 calcolo ottimizzato
Standard_E16d_v5 calcolo ottimizzato
Standard_D32d_v4 calcolo ottimizzato