MicroStrategy ONE

Creare una dashboard di transazione abilitata per Python

A partire da MicroStrategy ONE (marzo 2024), è possibile creare dashboard per le transazioni abilitati per Python negli ambienti MicroStrategy Cloud e sulla piattaforma MicroStrategy Cloud for Government. Per creare ed eseguire una dashboard per transazioni abilitata per Python, è necessario:

  • Assicurarsi che l'ambiente supporti l'utilizzo dell'esecutore Python

    Questa funzione è supportata sulla piattaforma Microstrategy Cloud Environment. Contattare Supporto MicroStrategy per abilitare questa funzione.

  • Scegliere un'origine dati con un endpoint pubblico per il writeback delle modifiche ai dati

  • Aggiorna i metadati alla versione più recente

  • Creare una dashboard abilitata per le transazioni

  • Creare un runtime personalizzato e scaricare tutti i pacchetti Python necessari come parte di quel runtime

  • Creare uno script Python con le azioni di manipolazione dei dati richieste

  • Configurare la dashboard con lo script associato

Inizia a creazione di una dashboard abilitata per la transazione e quindi attenersi alla seguente procedura.

Crea un runtime personalizzato

È necessario il privilegio Gestisci runtime. Gli utenti con questo privilegio possono scaricare pacchetti di terze parti, pertanto solo analisti selezionati dovrebbero disporre di questo privilegio.

Vedere Crea e modifica runtime Python per ulteriori informazioni.

Gli utenti con il privilegio Gestisci runtime possono visualizzare e gestire i runtime attualmente esistenti e crearne di nuovi. Tutti gli ambienti hanno un runtime predefinito. Quando si crea un runtime, gli utenti possono cambiarne nome, descrizione, indirizzi a cui collegarsi, pacchetti installati su di esso e scegliere una dimensione per l'esecuzione dello script. Le dimensioni dell'istanza di runtime determinano le risorse (CPU e memoria) disponibili per ogni esecuzione di script associata a quel runtime.

  1. Aprire Workstation e connettersi a un ambiente.
  2. Nel riquadro Navigazione, fare clic su Monitor.

    Tutti gli ambienti hanno un nome di runtime predefinito di MicroStrategy(impostazione predefinita).

    I runtime predefiniti includono le ultime versioni dei pacchetti Python e mstrio, nonché dimensioni predefinite dell'istanza e configurazione predefinita dell'accesso alla rete. Gli utenti possono utilizzare il pacchetto mstrio per accedere ai dati MicroStrategy utilizzando il runtime predefinito.

    Gli utenti non possono modificare la configurazione del runtime predefinito. Se un utente desidera personalizzare le dimensioni dell'istanza, l'accesso alla rete o la configurazione del pacchetto, deve creare un nuovo runtime.

  3. Nel riquadro di sinistra, fare clic su accanto a Runtime.

  4. Immettere a Nome runtime e Descrizione. I runtime appena creati utilizzano i più recenti Versione Python. Per i runtime esistenti, è possibile eseguire l'aggiornamento alla versione più recente di Python. L'impostazione predefinita Dimensioni istanza runtime è 0,2 vCPU 0,5 GB di memoria.

  5. In Accesso alla rete, immettere la rete a cui è consentito l'accesso dal runtime Python. Il formato deve seguire CIDR (Classless Inter-Domain Routing) formato, ad esempio 141.193.213.21/32.

  6. Fare clic su in basso a sinistra per aggiungere un nuovo pacchetto da installare nel runtime Python. Se non viene fornita la versione del pacchetto, viene installata l'ultima versione. Utilizzare il formato: [nome pacchetto][spazi bianchi][versione pacchetto].

    Esempi:

    • richieste 2.28.1

    • richieste

  7. Fare clic su Aggiungi.

  8. I pacchetti in genere supportano la connettività all'origine dati per il writeback delle modifiche ai dati, supportano le manipolazioni con le API MicroStrategy o si collegano ad altre applicazioni come Microsoft Teams. Fare clic sul collegamento Pypi per trovare il nome esatto del pacchetto e la versione da scaricare.

  9. Fare clic su Aggiungi per salvare il runtime e attendere il termine dell’installazione. Aggiornare la pagina per controllarne lo stato.

Alcuni suggerimenti utili:

  • Assicurarsi di premere Invio dopo aver immesso ciascun campo (accesso alla rete, nome e versione del pacchetto) prima di fare clic Aggiungi o OK per confermare la modifica.

  • È possibile aggiungere più pacchetti a un runtime.

  • Dopo la migrazione degli oggetti da un ambiente a un altro, aggiungere nuovamente i pacchetti nei nuovi ambienti per preparare il runtime. Il runtime non funziona senza questo passaggio aggiuntivo.

  • Per impostazione predefinita, Tutti ha a Visualizza ACL per un runtime.

Crea uno script Python personalizzato

Configurare utenti con i seguenti privilegi:

  • Usa script Python

  • Certifica script Python

  • Sono consigliati i seguenti ACL:

    • Gli script di lettura richiedono un ACL di lettura sugli script.

    • Gli script di aggiornamento richiedono un ACL di scrittura sugli script.

    • L'esecuzione degli script richiede un ACL Esegui negli script e un ACL Esegui nei runtime.

  1. Aprire Workstation e connettersi a un ambiente.
  2. Nel riquadro Navigazione, fare clic su accanto a Script.

  3. Aprire le impostazioni dello script per cambiare il tipo di script in Transazione e selezionare il runtime Python appropriato.

  4. Inizia a creare uno script selezionando un modello dalla galleria e modificandolo, oppure ricomincia da capo.

  5. Le variabili in uno script in genere sono mappate a colonne nella tabella della dashboard. Durante la definizione delle variabili, l' Colonna Il parametro è attivato per impostazione predefinita. Disattivare questa opzione per variabili non transazionali, ad esempio se la variabile è per uso interno, ad esempio la connessione a un'origine dati.

  6. Per la password di connessione all'origine dati, selezionare la variabile di tipo non transazionale Segreto.

  7. Prendere in considerazione l'inclusione di una variabile del prompt di sistema per registrare gli accessi degli utenti e vedere chi sta apportando modifiche ai dati.

  8. I tipi di azione predefiniti sono select, insert e update. Per creare nuovi tipi di azioni oltre a questi, ad esempio la combinazione di seleziona e aggiorna, selezionare Tipo transazione in Tipo di variabile. In un singolo script di transazione Python, è possibile impostare solo una variabile come Tipo transazione.

  9. Per una variabile mappata alla chiave primaria di una tabella in un'origine dati di write back, non si desidera che sia il consumatore a modificare la chiave primaria. In questo caso, è necessario disabilitare Modificabile parametro .

  10. Per le colonne dell'origine dati che non accettano valori NULL, contrassegnare questa variabile come obbligatoria attivando l'opzione Obbligatorio parametro .

  11. Se una variabile non lo è Obbligatorio, gli autori possono scegliere se una colonna può essere lasciata vuota o meno, a seconda di ciò che consente il database.

  12. Per le colonne che devono essere modificate dagli utenti, attivare Modificabile parametro .

  13. Solo gli script Python per la transazione certificata possono essere utilizzati per le operazioni di transazione, quindi è necessario certificare lo script quando è pronto per l'uso in produzione. Il gruppo di utenti che utilizzerà le tabelle transazionali Python dovrebbe disporre dell'ACL vista per questo script.

Best practice

  • Imparare da un modello di codice di esempio.

  • Per le origini dati che supportano le transazioni atomiche, selezionare il pacchetto che supporta la transazione atomica durante la preparazione del runtime. Nello script Python aggiungere le sezioni per la gestione della transazione atomica.

  • Utilizzare query con parametri, quando applicabile. Le query eseguite in questo modo non sono soggette ad attacchi di injection perché la query e i parametri vengono inviati per l'esecuzione separatamente.

  • Poiché l’autore dello script di transazione Python e l’autore della dashboard di transazione potrebbero non essere la stessa persona, verificare la parità tra script e dashboard. Ciò include la definizione della tabella di origine dati da restituire, il mapping delle relazioni tra le variabili definite nello script Python e l'oggetto tabella di transazione della dashboard, quale oggetto è modificabile, e così via.

  • Lo script deve includere descrizioni dettagliate dei supporti dello script Python (aggiornamento dei dati, inserimento di nuovi dati, selezione delle righe da eliminare o inserire in una tabella diversa, invio di messaggi di Microsoft Teams, invio di e-mail e così via). L'autore della dashboard può recuperare la descrizione dello script Python dall'editor dashboard. Solo persone con privilegi e ACL appropriati può aprire Python scr

Configurare la dashboard con lo script Python associato

Privilegi richiesti

Per configurare transazioni su una dashboard:

  • Transazione config Web

  • Usa script Python

  • Visualizza ACL per lo script associato

Per configurare gli utenti in modo che utilizzino la dashboard e inviino le modifiche:

  • Esegui transazione

  • Visualizza ACL per lo script

Altri privilegi di base richiesti per Library Web:

  • Usa Library Web

  • Creazione dashboard in Web

  • Modifica dashboard in Web

  • Salvataggio dashboard in Web

  • Dashboard Esecuzione Web

  • Crea oggetti applicazione

  1. Le transazioni basate su Python sono progettate per funzionare con le tabelle moderne. Selezionare una tabella, aprire il riquadro Formato e fare clic su Opzioni transazione .

  2. Fare clic su Usare Python.

  3. Selezionare i tipi di azione e fornire un nome dell'azione, un nome del pulsante e così via personalizzati.

    • I tipi di azione sono le azioni che si desidera consentire al consumatore di eseguire su questa dashboard. È necessario selezionare almeno un tipo di azione.

    • Assegnare un nome significativo all'azione, descrivere le operazioni consentite all'azione e assegnare un nome al pulsante.

      Esempio:

      • Nome azione Aggiorna età cliente

      • Descrizione Aggiornare l'età del cliente nella colonna Età cliente.

      • Nome pulsante Invia

    • È possibile combinare le azioni. Ad esempio, è possibile modificare i dati esistenti e aggiungere contemporaneamente altre righe di dati. Scegliere nomi azioni che riflettano di conseguenza questo comportamento.

  4. Fare clic su Scegliere Script Python per recuperare tutti gli script Python di transazione dal progetto a cui si trova la dashboard. Per impostazione predefinita, vengono visualizzati solo gli script certificati. Utilizzare il filtro per muoversi nell'elenco e trovare lo script di destinazione.

  5. Dopo aver selezionato uno script, viene visualizzata la sezione di mappatura. Il nome dello script selezionato viene visualizzato con un'icona informativa a mostrare la descrizione dello script. Nell'angolo in alto a destra di questa sezione sono presenti un'icona per sostituire lo script selezionato e un'icona per aggiornare l'elenco di script a partire dai metadati. Le variabili che richiedono dati sono contrassegnate da un asterisco (*). In questi casi, è necessario specificare la mappatura per salvare la configurazione.

    Tipi di azioni

    • Consenti Modifica dei dati della tabella Il Modificabile l'opzione è abilitata. Gli autori possono selezionare la variabile che vogliono che i consumatori possano modificare.

    • Aggiunta di dati alla tabella Il Nuova immissione dati L'opzione è selezionata ed è possibile selezionare le variabili che si desidera vengano inserite dai consumatori.

    • Agisci su righe selezionate Il Modificabile e Nuova immissione dati le opzioni sono entrambe disabilitate. In questi casi, il numero di riga viene passato allo script. Lo script determina l'azione da eseguire su quella riga. Ad esempio, è possibile utilizzare questa azione per eliminare una riga dalla tabella.

  6. Per configurare i controlli di input, vedere Transazioni nelle tabelle.

  7. Fare clic su per aggiungere altre azioni e configurare il messaggio da visualizzare dopo l'invio.

  8. Fare clic su Fatto per completare la transazione e Salva la dashboard.

Best practice

  • A seconda dell'origine dati per la scrittura delle modifiche ai dati, in genere quella basata su SQL è la prima scelta. Se l'origine dati sono servizi Web, Python è l'opzione preferita.

  • Per i flussi di lavoro più complessi che combinano le modifiche ai dati con azioni come l'invio di e-mail, l'aggiornamento di Slack e così via, utilizzare gli script Python.

  • Si consiglia una relazione di mappatura uno a uno tra la variabile script e gli oggetti tabella per configurare facilmente il controllo di input e definire se l'oggetto tabella è modificabile o meno.

Usa transazioni Python per le operazioni sui dati

  1. La modifica in-line non è supportata per le transazioni basate su Python, quindi tutte le modifiche ai dati vengono apportate in modalità in blocco. Fare clic su icona a forma di matita per iniziare a modificare i dati.

  2. Sia la selezione che la modifica dei dati sono supportate per una singola azione.

  3. Per le azioni che supportano la selezione, la modifica o l'inserimento di dati, fare clic su Aggiungi dati per fornire nuovi dati. Al termine, fare clic su Aggiungi.

  4. Fare clic su Invia.

Consigli per la configurazione del sistema

Gli ambienti in contenitori consentono di eseguire script direttamente in un ambiente MicroStrategy senza dover lasciare il computer in funzione. È possibile salvare gli script in questi ambienti e accedervi da qualsiasi punto all'interno di Workstation, nonché consentire l'accesso ad altri amministratori. Al momento, il supporto dell'esecuzione degli script sul lato server è attivato solo per ambienti in contenitori.

È possibile migliorare le prestazioni delle richieste di transazione Python nei seguenti modi:

Regola le dimensioni dell'istanza di runtime

  1. Nel riquadro Navigazione, fare clic su Monitor.

  2. Nel riquadro di sinistra, fare clic su Runtime.

  3. Nella tabella fare clic con il pulsante destro del mouse sul runtime e scegliere Modifica.

  4. Regolare il Dimensioni istanza runtime.

Perché dovrei cambiare le dimensioni del runtime?

Le dimensioni predefinite di runtime potrebbero non essere sufficienti per le esigenze di memoria dello script. Aumentando le dimensioni del runtime, è possibile garantire che lo script disponga di memoria sufficiente per essere eseguito senza errori o arresti anomali. Ad esempio, quando si utilizza uno script per creare un'origine dati, è consigliabile utilizzare runtime maggiori, poiché uno script utilizzato per creare tabelle potrebbe caricarli in memoria.

Quali sono i rischi associati all'utilizzo di un ambiente di grandi dimensioni?

Un ambiente containerizzato di grandi dimensioni può inoltre consumare molta memoria, con conseguenti problemi di prestazioni del computer host e potenzialmente causa di arresto anomalo del contenitore. I contenitori MicroStrategy dispongono di memoria limitata per i runtime Python. Al momento il limite è di 6 vCPU e 20 GB di memoria per gli ambienti in contenitori. È importante valutare regolarmente le dimensioni e la complessità dell'ambiente contenitore e assicurarsi che sia in linea con i requisiti di prestazioni, sicurezza e manutenzione. È consigliabile eseguire script di amministrazione su runtime inferiori per ridurre l'utilizzo delle risorse.

Regola le impostazioni di runtime

  1. Nel riquadro Navigazione, fare clic su Monitor.

  2. Nel riquadro di sinistra, fare clic su Runtime.

  3. Nella tabella fare clic con il pulsante destro del mouse sul runtime e scegliere Ottieni informazioni.

  4. Nel riquadro di sinistra, fare clic su Tutte le impostazioni.

  5. Regolare le impostazioni di runtime.

    Timeout script (sec) Impostazione di timeout per l'esecuzione dello script Python. L'impostazione predefinita è 600 secondi.

    Numero di istanza del pod predefinito Il numero predefinito di un'istanza di esecuzione Python memorizzata nella cache.

    Istanza di esecuzione Python Se è in esecuzione uno script Python in base a un runtime Python, viene creata un'istanza di esecuzione Python che può essere memorizzata nella cache in base ad Numero di istanza del pod predefinito e Numero massimo di istanze pod (limiti totali di script eseguiti) impostazioni.

    Numero massimo di istanze pod (limiti totali di script di esecuzione) Il numero massimo di istanze di esecuzione Python che è possibile creare in base al runtime.

Numero istanza del pod predefinito di runtime Numero massimo di istanza pod di runtime (limiti totali degli script eseguiti) Raccomandazione
1 1 Per utenti occasionali con bassi livelli di utilizzo e simultaneità, sensibili ai tempi di risposta. Poiché il pod executor Python è sempre attivo, è possibile ridurre il tempo di riscaldamento del pod, ma il costo complessivo è superiore. Un pod è sempre attivo.
1 N>1 Per utenti occasionali con basso utilizzo e una certa simultaneità, ma non molto sensibili ai tempi di risposta. Poiché è sempre attivo un pod Python executor e su richiesta possono essere attivi fino a N-1 pod, questa configurazione può supportare più casi di simultaneità. Alcuni utenti hanno un buon tempo di risposta; altri utenti potrebbero riscontrare il tempo di preavviso del pod. Un pod è sempre attivo ed è possibile avviare e avviare fino a N-1 pod a un'ora specifica, quindi arrestarli dopo essere stati inattivi per più di due minuti
X>0 = Numero istanza pod predefinito Per utenti seri con più utilizzi simultanei sensibili ai tempi di risposta. Il prezzo è più alto poiché ci saranno sempre X pod di runtime attivi.

Limiti noti

Prestazioni

La logica corrente per l'esecuzione remota di Python è:

  • L'installazione del pacchetto personalizzato per un runtime specifico si trova nei volumi persistenti, quando viene generato il pod executor e il volume persistente viene montato nel contenitore dell'esecutore Python.

  • Il processo principale del servizio Python è responsabile della gestione delle richieste e delle risposte. L'esecuzione effettiva dello script viene avviata dal processo secondario. Di conseguenza, ogni volta che gli script Python vengono eseguiti, l'interprete Python tenta di caricare il pacchetto usato nella memoria del processo secondario.

Poiché si verificano ancora alcuni ritardi quando il contenitore importa i dati nel volume di persistenza, quindi anche se il pod è già riscaldato, il processo secondario richiede tempo per eseguire gli script.

Connessioni origine dati

Per le origini dati private on-premise, se non è presente una connessione di rete tra il contenitore pod executor Python e l'origine dati privata, le transazioni Python non sono supportate. In generale, possono essere utilizzate origini dati con endpoint pubblici.

Articoli correlati

KB486432: Procedure consigliate per il mapping delle variabili dello script Python e dei campi della tabella per le configurazioni delle transazioni Python

KB486431: Sincronizza le modifiche agli script Python con le configurazioni delle transazioni Python in una dashboard