MicroStrategy ONE

Crea un dashboard delle transazioni abilitato per Python

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

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

    Questa funzionalità è supportata sulla piattaforma Microstrategy Cloud Environment. Contatto Assistenza MicroStrategy per abilitare questa funzione.

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

  • Aggiorna i metadati alla versione più recente

  • Crea una dashboard abilitata alle transazioni

  • Crea un runtime personalizzato e scarica tutti i pacchetti Python necessari come parte di quel runtime

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

  • Configura la dashboard con lo script associato

Inizia a creazione di un dashboard abilitato per la transazione e quindi attenersi alla seguente procedura.

Crea un runtime personalizzato

È richiesto il privilegio Gestisci runtime. Gli utenti con questo privilegio possono scaricare pacchetti di terze parti, quindi solo gli analisti controllati dovrebbero avere 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. Durante la creazione di un runtime gli utenti possono modificarne il nome, la descrizione, gli indirizzi a cui può connettersi, i pacchetti installati su di esso e scegliere una dimensione per l'esecuzione dello script. La dimensione dell'istanza di runtime determina 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 di spostamento, fare clic su Monitor.

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

    I runtime predefiniti includono le versioni più recenti dei pacchetti Python e mstrio, nonché una dimensione di istanza predefinita e una configurazione di accesso alla rete predefinita. Gli utenti possono utilizzare il pacchetto mstrio per accedere ai dati di MicroStrategy utilizzando il runtime predefinito.

    Gli utenti non possono modificare la configurazione del runtime predefinito. Se un utente desidera personalizzare la dimensione 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, puoi eseguire l'aggiornamento alla versione più recente di Python. Il valore predefinito Dimensioni istanza runtime è 0,2 vCPU 0,5 GB di memoria.

  5. In Accesso alla rete, immettere la rete con l'accesso consentito 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 la versione del pacchetto non viene fornita, viene installata la versione più recente. Utilizzare il formato: [nome pacchetto][spazio vuoto][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 scrivere indietro le modifiche dei dati, supportare manipolazioni con le API di MicroStrategy o connettersi 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. Aggiorna la pagina per verificare lo stato.

Alcuni suggerimenti utili:

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

  • È possibile aggiungere più di un pacchetto a un runtime.

  • Dopo la migrazione degli oggetti da un ambiente a un altro, aggiungi 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

Configura gli utenti con i seguenti privilegi:

  • Utilizza gli script Python

  • Certifica script Python

  • Si consigliano i seguenti ACL:

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

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

    • Gli script di esecuzione richiedono un ACL di esecuzione sugli script e un ACL di esecuzione sui runtime.

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

  3. Aprire le impostazioni dello script per modificare 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 inizia da zero.

  5. Le variabili in uno script in genere vengono mappate alle colonne nella griglia del dashboard. Durante la definizione delle variabili, l' Colonna Il parametro è attivato per impostazione predefinita. Disattiva questa opzione per le variabili non transazionali, ad esempio se la variabile è per uso interno, come la connessione a un'origine dati.

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

  7. Valuta la possibilità di includere una variabile di prompt di sistema per registrare gli accessi degli utenti e vedere chi sta apportando modifiche ai dati.

  8. I tipi di azione predefiniti sono seleziona, inserisci e aggiorna. Selezionare per creare nuovi tipi di azione in aggiunta a questi, ad esempio la combinazione di seleziona e aggiorna Tipo di transazione in Tipo di variabile. In un singolo script di transazione Python è possibile impostare solo una variabile come Tipo di transazione.

  9. Per una variabile mappata alla chiave primaria di una tabella in un'origine dati di write back, non si desidera che il consumer modifichi 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 degli elementi consentiti dal database.

  12. Per le colonne che si desidera vengano modificate dagli utenti, attivare l'opzione Modificabile parametro.

  13. Per le operazioni di transazione è possibile utilizzare solo script Python di transazione certificati, pertanto è necessario certificare lo script una volta pronto per l'uso in produzione. Il gruppo di utenti che utilizzerà le griglie transazionali Python dovrebbe avere la View ACL per questo script.

Migliori pratiche

  • Impara da un modello di codice di esempio.

  • Per le origini dati che supportano le transazioni atomiche, seleziona il pacchetto per supportare la transazione atomica durante la preparazione del runtime. Nello script Python, aggiungi sezioni per gestire la transazione atomica.

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

  • Poiché il creatore dello script della transazione Python e l'autore del dashboard della transazione potrebbero non essere la stessa persona, garantire la parità tra lo script e il dashboard. Ciò include la definizione della tabella dell'origine dati da riscrivere, la mappatura delle relazioni tra le variabili definite nello script Python e l'oggetto della griglia delle transazioni del dashboard, quale oggetto è modificabile e così via.

  • Nello script dovrebbero essere incluse descrizioni dettagliate di ciò che supporta lo script Python (aggiornamento dei dati, inserimento di nuovi dati, selezione di righe da eliminare o inserire in una tabella diversa, invio di messaggi di Microsoft Teams, invio di e-mail e così via). L'autore del dashboard può recuperare la descrizione dello script Python dall'editor del dashboard. Solo una persona con privilegi e ACL adeguati può aprire Python scr

Configura la dashboard con lo script Python associato

Privilegi richiesti

Per configurare le transazioni su una dashboard:

  • Transazione di configurazione Web

  • Utilizza gli script Python

  • Visualizza l'ACL per lo script associato

Per impostare gli utenti affinché utilizzino la dashboard e inviino modifiche:

  • Esegui transazione

  • Visualizza ACL per lo script

Altri privilegi di base richiesti per Library Web:

  • Usa Library Web

  • Web crea dashboard

  • Dashboard di modifica Web

  • Dashboard di salvataggio Web

  • Dashboard eseguito sul Web

  • Creare oggetti dell'applicazione

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

  2. Fare clic su Usa Python.

  3. Seleziona i tipi di azione e fornisci un nome di azione personalizzato, un nome di pulsante e così via.

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

    • Dai all'azione un nome significativo, descrivi cosa può fare l'azione e dai un nome al pulsante.

      Esempio:

      • Nome azione Aggiorna età cliente

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

      • Nome pulsante Invia

    • Puoi combinare le azioni. Ad esempio, puoi modificare i dati esistenti e aggiungere contemporaneamente ulteriori righe di dati. Scegli i nomi delle azioni che riflettono questo comportamento di conseguenza.

  4. Fare clic su Scegliere Script Python per recuperare tutti gli script Python delle transazioni dal progetto in cui si trova il dashboard. Per impostazione predefinita, vengono visualizzati solo gli script certificati. Utilizza il filtro per navigare 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 di informazioni per mostrare la descrizione dello script. Nell'angolo in alto a destra di questa sezione vengono fornite un'icona per sostituire lo script selezionato e un'icona per aggiornare l'elenco degli script dai metadati. Le variabili che richiedono dati sono contrassegnate con un asterisco (*). In questi casi è necessario fornire la mappatura per salvare la configurazione.

    Tipi di azioni

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

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

    • Agisci su righe selezionate Il Modificabile e Nuova immissione di dati entrambe le opzioni sono disabilitate. In questi casi, il numero di riga viene passato allo script. Lo script determina quale azione viene eseguita su quella riga. Ad esempio, puoi utilizzare questa azione per eliminare una riga dalla griglia.

  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 il dashboard.

Migliori pratiche

  • A seconda dell'origine dati per la riscrittura 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 flussi di lavoro più complessi che combinano modifiche ai dati con azioni come l'invio di e-mail, l'aggiornamento di Slack e così via, utilizza gli script Python.

  • Consigliamo una relazione di mappatura uno a uno tra la variabile dello script e gli oggetti della griglia per una facile configurazione del controllo dell'input e per definire se l'oggetto della griglia è modificabile o meno.

Utilizzare transazioni Python per operazioni sui dati

  1. La modifica in linea non è supportata per le transazioni basate su Python, quindi tutte le modifiche ai dati vengono eseguite in modalità collettiva. Fare clic su icona della 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.

Raccomandazioni 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. Puoi salvare i tuoi script in questi ambienti e accedervi ovunque all'interno di Workstation, nonché fornire l'accesso ad altri amministratori. Attualmente, il supporto dell'esecuzione di script lato server è attivato solo per gli ambienti containerizzati.

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

Regola le dimensioni dell'istanza di runtime

  1. Nel riquadro di spostamento, 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 modificare la dimensione del runtime?

La dimensione di runtime predefinita potrebbe non essere sufficiente per le esigenze di memoria dello script. Aumentando le dimensioni del runtime, puoi 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, è preferibile utilizzare tempi di esecuzione più ampi, poiché uno script utilizzato per creare tabelle potrebbe caricarle in memoria.

Quali sono i rischi legati all’utilizzo di un ambiente di grandi dimensioni?

Un ambiente containerizzato di grandi dimensioni può anche consumare molta memoria, il che può portare a problemi di prestazioni sul computer host e potenzialmente causare l'arresto anomalo del contenitore. I contenitori MicroStrategy hanno memoria limitata per i runtime Python. Attualmente è limitato a 6 vCPU e 20 GB di memoria per ambienti containerizzati. È importante valutare regolarmente le dimensioni e la complessità dell'ambiente del contenitore e assicurarsi che sia in linea con i requisiti di prestazioni, sicurezza e manutenzione. È preferibile eseguire script amministrativi su runtime più piccoli per ridurre l'utilizzo delle risorse.

Regola le impostazioni di runtime

  1. Nel riquadro di spostamento, 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. Regola 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 conteggio predefinito di un'istanza di esecuzione Python memorizzata nella cache.

    Istanza di esecuzione Python Se è in esecuzione uno script Python basato su un runtime Python, viene creata un'istanza di esecuzione Python che può essere memorizzata nella cache in base a 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 eseguiti) Il numero massimo di istanze di esecuzione Python che è possibile creare in base al runtime.

Numero di istanza del pod predefinito di runtime Numero massimo di istanze del pod di runtime (limiti totali degli script di esecuzione) Raccomandazione
1 1 Per utenti occasionali con utilizzo ridotto e concorrenza sensibile ai tempi di risposta. Poiché il pod dell'esecutore Python è sempre attivo, il tempo di riscaldamento del pod può essere ridotto, ma il costo complessivo è più elevato. Un pod è sempre attivo.
1 N>1 Per utenti occasionali con utilizzo ridotto e certa concorrenza, ma non molto sensibili ai tempi di risposta. Poiché un pod dell'esecutore Python è sempre attivo e su richiesta possono essere attivi fino a N-1 pod, questa configurazione può supportare più casi di concorrenza. Alcuni utenti hanno un buon tempo di risposta; altri potrebbero riscontrare il tempo di avvio del pod. Un pod è sempre attivo ed è possibile avviare e attivare fino a N-1 pod in un momento specifico, quindi arrestarli dopo essere rimasti inattivi per più di due minuti
X>0 = Numero di istanza del pod predefinito Per utenti seri con un utilizzo più simultaneo e sensibili ai tempi di risposta. Il prezzo è più alto poiché ci saranno sempre X pod di runtime attivi.

Limitazioni note

Prestazione

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

  • L'installazione del pacchetto personalizzato per un runtime specifico avviene sui volumi persistenti, quando viene generato il pod dell'esecutore e il volume persistente viene montato sul contenitore dell'esecutore Python.

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

Poiché si verificano ancora alcuni ritardi quando il contenitore importa i dati nel volume persistente, quindi anche se il pod è già riscaldato, è previsto un costo in termini di tempo aggiuntivo per l'esecuzione degli script da parte del processo secondario.

Connessioni origine dati

Per le origini dati private in sede, se non è presente una connessione di rete tra il contenitore pod dell'esecutore Python e l'origine dati privata, le transazioni Python non sono supportate. In generale, è possibile utilizzare origini dati con endpoint pubblici.

articoli Correlati

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

KB486431: Sincronizza le modifiche degli script Python con le configurazioni delle transazioni Python in un dashboard