MicroStrategy ONE

Erstellen Sie ein Python-aktiviertes Transaktions-Dashboard

Start in MicroStrategy ONE (März 2024) können Sie Python-aktivierte Transaktions-Dashboards in MicroStrategy Cloud -Umgebungen und auf der MicroStrategy Cloud for Government-Plattform erstellen. Um ein Python-aktiviertes Transaktions-Dashboard zu erstellen und auszuführen, müssen Sie:

  • Stellen Sie sicher, dass die Umgebung die Verwendung des Python-Exektors unterstützt

    Diese Funktion wird auf der Microstrategy Cloud Environment-Plattform unterstützt. Kontakt MicroStrategy Support, um diese Funktion zu aktivieren.

  • Wählen Sie eine Datenquelle mit einem öffentlichen Endpunkt für das Writeback von Datenänderungen aus

  • Aktualisieren Sie die Metadaten auf die neueste Version

  • Erstellen Sie ein für Transaktionen aktiviertes Dashboard

  • Erstellen Sie eine individuelle Laufzeitumgebung und laden Sie alle notwendigen Python-Pakete im Rahmen dieser Laufzeitumgebung herunter

  • Erstellen Sie ein Python-Skript mit den erforderlichen Datenmanipulationsaktionen

  • Konfigurieren Sie das Dashboard mit dem zugehörigen Skript

Erste Schritte mit Erstellen eines für Transaktionen aktivierten Dashboards und befolgen Sie die nachstehenden Schritte.

Erstellen Sie eine benutzerdefinierte Laufzeitumgebung

Das Privileg „Laufzeitumgebungen verwalten“ ist erforderlich. Benutzer mit diesem Privileg können Pakete Dritter herunterladen. Daher sollten nur geprüfte Analysten über dieses Privileg verfügen.

Siehe Python-Laufzeitumgebungen erstellen und bearbeiten für weitere Informationen.

Benutzer mit dem Privileg „Laufzeitumgebung verwalten“ können aktuell vorhandene Laufzeitumgebungen anzeigen, verwalten und neue erstellen. Alle Umgebungen verfügen über eine Standardlaufzeitumgebung. Beim Erstellen einer Laufzeitumgebung können Benutzer ihren Namen und ihre Beschreibung, die Adressen, zu denen eine Verbindung hergestellt werden kann, und die darauf installierten Pakete ändern und eine Größe für die Skriptausführung auswählen. Die Größe der Laufzeitinstanz bestimmt die Ressourcen (CPU und Speicher), die für jede mit dieser Laufzeitumgebung verbundene Skriptausführung verfügbar sind.

  1. Öffnen Sie Workstation und mit einer Umgebung verbinden.
  2. Klicken Sie im Navigationsbereich auf Monitore.

    Alle Umgebungen haben den Standardlaufzeitnamen von (Default) MicroStrategy.

    Standardlaufzeitumgebungen enthalten die neuesten Versionen der Python- und mstrio-Pakete sowie eine Standardinstanzgröße und eine Standardkonfiguration für den Netzzugang. Benutzer können das mstrio-Paket verwenden, um über die Standardlaufzeitumgebung auf MicroStrategy -Daten zuzugreifen.

    Benutzer können die Konfiguration der Standardlaufzeitumgebung nicht ändern. Wenn ein Benutzer die Instanzgröße, den Netzwerkzugriff oder die Paketkonfiguration anpassen möchte, muss er eine neue Laufzeitumgebung erstellen.

  3. Klicken Sie im linken Bereich auf neben Laufzeitumgebung.

  4. Geben Sie a ein Name der Laufzeitumgebung und Beschreibung. Neu erstellte Laufzeitumgebungen verwenden die neueste Python-Version. Für vorhandene Laufzeitumgebungen können Sie ein Upgrade auf die neueste Python-Version durchführen. Der Standardwert Instanzgröße der Laufzeitumgebung ist 0,2 vCPU 0,5 GB Speicher.

  5. In Netzwerkzugriff, geben Sie das Netzwerk mit zulässigem Zugriff über die Python-Laufzeitumgebung ein. Das Format muss erfüllt sein Kategorienloses Inter-Domain-Routing (CIDR) 141.193.213.21/32.

  6. Klicken Sie unten links, um ein neues Paket hinzuzufügen, das in der Python-Laufzeitumgebung installiert werden soll. Wenn die Paketversion nicht angegeben ist, wird die neueste Version installiert. Verwenden Sie das Format: [Paketname][Leerzeichen][Paketversion].

    Beispiele:

    • Anfragen 2.28.1

    • Anfragen

  7. Klicken Sie auf Hinzufügen.

  8. Pakete unterstützen in der Regel die Verbindung zur Datenquelle, um Datenänderungen zurückzuschreiben, unterstützen Bearbeitungen mit MicroStrategy -APIs oder stellen eine Verbindung zu anderen Anwendungen wie Microsoft Teams her. Klicken Sie auf den Pypi-Link, um den genauen Namen und die Version des Pakets zum Herunterladen zu finden.

  9. Klicken Sie Hinzufügen um die Laufzeitumgebung zu speichern und warten, bis die Installation abgeschlossen ist. Aktualisieren Sie die Seite, um den Status zu überprüfen.

Einige hilfreiche Hinweise:

  • Drücken Sie nach dem Ausfüllen der einzelnen Felder (Netzwerkzugang, Paketname und Version) die Eingabetaste, bevor Sie auf diese klicken Hinzufügen oder OK, um die Änderung zu bestätigen.

  • Sie können einer Laufzeitumgebung mehr als ein Paket hinzufügen.

  • Fügen Sie nach der Objektmigration von einer Umgebung in eine andere Pakete in den neuen Umgebungen erneut hinzu, um die Laufzeitumgebung bereit zu machen. Die Laufzeitumgebung funktioniert ohne diesen zusätzlichen Schritt nicht.

  • Standardmäßig Jeder hat eine Anzeigen ACL für eine Laufzeitumgebung.

Erstellen Sie ein benutzerdefiniertes Python-Skript

Benutzer mit den folgenden Privilegien einrichten:

  • Python-Skripte verwenden

  • Python-Skripts zertifizieren

  • Die folgenden ACLs werden empfohlen:

    • Gelesene Skripte erfordern eine Lese-ACL für Skripte.

    • Skripte aktualisieren erfordert eine Write ACL für Skripte.

    • Zum Ausführen von Skripten ist eine Ausführungs-ACL für Skripts und eine Ausführungs-ACL für Laufzeitumgebungen erforderlich.

  1. Öffnen Sie Workstation und mit einer Umgebung verbinden.
  2. Klicken Sie im Navigationsbereich auf neben Skripts.

  3. Öffnen Sie die Skripteinstellungen, um den Skripttyp in zu ändern Transaktion und wählen Sie die entsprechende Python-Laufzeitumgebung aus.

  4. Beginnen Sie mit der Erstellung eines Skripts, indem Sie eine Schablone aus der Galerie auswählen und sie ändern, oder beginnen Sie von Grund auf neu.

  5. Variablen in einem Skript sind in der Regel Spalten in der Dashboard-Tabelle zugeordnet. Beim Definieren von Variablen wird der Spalte -Parameter ist standardmäßig aktiviert. Deaktivieren Sie diese Option für Nicht-Transaktionsvariablen, z. B. wenn die Variable für die interne Verwendung bestimmt ist, z. B. eine Verbindung mit einer Datenquelle.

  6. Wählen Sie für das Kennwort für die Datenquellenverbindung die Variable des nicht Transaktionstyps aus: Geheimnis.

  7. Ziehen Sie in Betracht, eine System-Eingabeaufforderungsvariable einzufügen, um die Anmeldungen von Benutzern aufzuzeichnen und zu sehen, wer Änderungen an den Daten vornimmt.

  8. Die standardmäßigen Aktionstypen sind „Select“, „Insert“ und „Update“. Um zusätzlich zu diesen neue Aktionstypen zu erstellen, z. B. die Kombination von Auswählen und Aktualisieren, wählen Sie aus Transaktionstyp in Variablentyp. In einem einzelnen Python-Transaktionsskript kann nur eine Variable als festgelegt werden Transaktionstyp.

  9. Bei einer Variable, die dem Primärschlüssel einer Tabelle in einer Writeback-Datenquelle zugeordnet ist, soll der Primärschlüssel vom Konsumenten nicht geändert werden. In dieser Situation sollten Sie deaktivieren Bearbeitbar Parameter.

  10. Kennzeichnen Sie diese Variable für Spalten in der Datenquelle, die keine NULL-Werte zulassen, als erforderlich, indem Sie aktivieren Erforderlich Parameter.

  11. Wenn eine Variable nicht ist Erforderlich können Autoren wählen, ob eine Spalte leer gelassen werden kann, je nachdem, was in der Datenbank zulässig ist.

  12. Aktivieren Sie für Spalten, die von Benutzern bearbeitet werden sollen, diese Option Bearbeitbar Parameter.

  13. Nur zertifizierte Python-Transaktionsskripts können für Transaktionsvorgänge verwendet werden. Daher sollten Sie das Skript zertifizieren, sobald es für die Produktionsverwendung bereit ist. Die Gruppe von Benutzern, die Python-Transaktionstabellen nutzen wird, sollte über die Ansichts-ACL für dieses Skript verfügen.

Best Practices

  • Aus einer Beispielcode-Schablone Lernen.

  • Wählen Sie für Datenquellen, die atomare Transaktionen unterstützen, bei der Erstellung der Laufzeitumgebung das Paket aus, das die atomare Transaktion unterstützt. Fügen Sie im Python-Skript Abschnitte hinzu, um atomare Transaktionen zu verarbeiten.

  • Verwenden Sie gegebenenfalls parametrisierte Abfragen. Auf diese Weise ausgeführte Abfragen sind nicht anfällig für Inspektionsangriffe, da die Abfrage und die Parameter separat zur Ausführung gesendet werden.

  • Da der Ersteller des Python-Transaktionsskripts und der Autor des Transaktions-Dashboards möglicherweise nicht dieselbe Person sind, stellen Sie die Parität zwischen Skript und Dashboard sicher. Dies umfasst die Definition der Datenquellentabelle für das Writeback, die Zuordnung der Beziehungen zwischen den im Python-Skript definierten Variablen und dem Objekt der Dashboard-Transaktionstabelle, welches Objekt bearbeitbar ist usw.

  • Das Skript sollte eine ausführliche Beschreibung dessen enthalten, was das Python-Skript unterstützt (Daten aktualisieren, neue Daten einfügen, zu löschende oder in eine andere Tabelle einzufügende Zeilen auswählen, Microsoft Teams-Benachrichtigungen senden, E-Mails senden usw.). Der Dashboard-Autor kann die Beschreibung des Python-Skripts aus dem Dashboard-Editor abrufen. Nur eine Person mit den entsprechenden Privilegien und ACLs kann den Python-Scr öffnen

Konfigurieren Sie das Dashboard mit dem zugehörigen Python-Skript

Erforderliche Privilegien

So konfigurieren Sie Transaktionen in einem Dashboard:

  • Web-Konfigurationstransaktion

  • Python-Skripte verwenden

  • Zeigen Sie die ACL für das verknüpfte Skript an

So richten Sie Benutzer so ein, dass sie das Dashboard nutzen und Änderungen übermitteln:

  • Transaktion ausführen

  • Zeigen Sie die ACL für das Skript an

Weitere erforderliche Library-Web-Privilegien:

  • Library Web verwenden

  • Web - Dashboard erstellen

  • Web - Dashboard bearbeiten

  • Web - Dashboard speichern

  • Web - Dashboard ausführen

  • Anwendungsobjekte erstellen

  1. Python-basierte Transaktionen sind für die Verwendung mit modernen Tabellen konzipiert. Wählen Sie eine Tabelle aus, öffnen Sie den Abschnitt „Format“ und klicken Sie auf Transaktionsoptionen .

  2. Klicken Sie Python verwenden.

  3. Wählen Sie Aktionstypen aus und geben Sie einen angepassten Namen für die Aktion, einen Namen für die Schaltfläche usw. an.

    • Aktionstypen sind die Aktionen, die der Benutzer für dieses Dashboard ausführen soll. Mindestens ein Aktionstyp muss ausgewählt werden.

    • Geben Sie der Aktion einen aussagekräftigen Namen, beschreiben Sie, was mit der Aktion bewirkt werden kann, und geben Sie der Schaltfläche einen Namen.

      Beispiel:

      • Name der Aktion Kundenalter aktualisieren

      • Beschreibung Bitte aktualisieren Sie das Alter des Kunden in der Spalte „Customer-Age“.

      • Name der Schaltfläche Übermitteln

    • Sie können Aktionen kombinieren. Sie können beispielsweise vorhandene Daten ändern und gleichzeitig zusätzliche Datenzeilen hinzufügen. Wählen Sie Aktionsnamen aus, die dieses Verhalten entsprechend wiedergeben.

  4. Klicken Sie Wählen Sie das Python-Skript aus, um alle Python-Transaktionsskripts aus dem Projekt abzurufen, in dem sich das Dashboard befindet. Standardmäßig werden nur zertifizierte Skripts angezeigt. Verwenden Sie den Filter, um durch die Liste zu navigieren und das Zielskript zu finden.

  5. Nachdem Sie ein Skript ausgewählt haben, wird der Zuordnungsabschnitt angezeigt. Der Name des ausgewählten Skripts wird mit einem Informationssymbol mit der Skriptbeschreibung angezeigt. Oben rechts in diesem Abschnitt finden Sie ein Symbol zum Ersetzen des ausgewählten Skripts und ein Symbol zum Aktualisieren der Skriptliste anhand der Metadaten. Variablen, die Daten erfordern, sind mit einem Sternchen (*) gekennzeichnet. In diesen Fällen muss eine Zuordnung bereitgestellt werden, um die Konfiguration zu speichern.

    Aktionstypen

    • Ändern von Daten in der Tabelle zulassen Der Bearbeitbar Option ist aktiviert. Autoren können die Variable auswählen, die von Benutzern geändert werden soll.

    • Hinzufügen von Daten zur Tabelle Der Neuer Dateneintrag Die Option ist ausgewählt und Sie können die Variablen auswählen, die von Benutzern eingefügt werden sollen.

    • Aktion für ausgewählte Zeilen ausführen Der Bearbeitbar und Neuer Dateneintrag -Optionen sind beide deaktiviert. In diesen Fällen wird die Zeilennummer an das Skript übergeben. Das Skript bestimmt, welche Aktion für diese Zeile ausgeführt wird. Sie können diese Aktion beispielsweise verwenden, um eine Zeile aus der Tabelle zu löschen.

  6. Informationen zum Konfigurieren der Eingabe-Steuerelemente finden Sie unter Transaktionen in Tabellen.

  7. Klicken Sie , um weitere Aktionen hinzuzufügen und die Nachricht zu konfigurieren, die nach der Übermittlung angezeigt werden soll.

  8. Klicken Sie Fertig um Ihre Transaktion abzuschließen und Speichern das Dashboard.

Best Practices

  • Abhängig von der Datenquelle für das Zurückschreiben von Datenänderungen ist eine auf SQL basierende Quelle die erste Wahl. Wenn es sich bei der Datenquelle um Webdienste handelt, ist Python die bevorzugte Option.

  • Für detailliertere Workflows, die Datenänderungen mit Aktionen wie dem Senden von E-Mails, dem Aktualisieren von Slack usw. kombinieren, verwenden Sie Python-Skripts.

  • Für eine einfache Konfiguration der Eingabesteuerung und zur Definition, ob das Tabellenobjekt bearbeitbar ist oder nicht, wird eine 1:1-Zuordnungsbeziehung zwischen der Skriptvariablen und Tabellenobjekten empfohlen.

Python-Transaktionen für Datenvorgänge verwenden

  1. Die Inline-Bearbeitung wird für Python-basierte Transaktionen nicht unterstützt, alle Datenänderungen werden daher im Massenmodus vorgenommen. Klicken Sie St.-Symbol, um mit dem Ändern von Daten zu beginnen.

  2. Sowohl die Auswahl als auch die Datenänderung werden für eine einzelne Aktion unterstützt.

  3. Für Aktionen, die Auswahl, Änderung oder Dateneinfügung unterstützen, klicken Sie auf Fügen Sie Daten hinzu, um neue Daten bereitzustellen. Klicken Sie abschließend auf Hinzufügen.

  4. Klicken Sie auf Übermitteln.

Empfehlungen zur Systemkonfiguration

Containerisierte Umgebungen ermöglichen es Ihnen, Skripts direkt in einer MicroStrategy Umgebung auszuführen, ohne dass ein Computer ausgeführt werden muss. Sie können Ihre Skripts in diesen Umgebungen speichern und überall in Workstation darauf zugreifen sowie anderen Administratoren Zugriff gewähren. Derzeit ist die Unterstützung der serverseitigen Skriptausführung nur für Containerumgebungen aktiviert.

Sie können die Leistung von Python-Transaktionsanforderungen auf folgende Weise verbessern:

Instanzgröße der Laufzeitumgebung anpassen

  1. Klicken Sie im Navigationsbereich auf Monitore.

  2. Klicken Sie im linken Bereich auf Laufzeitumgebung.

  3. Klicken Sie in der Tabelle mit der rechten Maustaste auf die Laufzeitumgebung und wählen Sie aus Bearbeiten.

  4. Passen Sie an Instanzgröße der Laufzeitumgebung.

Warum sollte ich die Laufzeitgröße ändern?

Die standardmäßige Laufzeitgröße reicht für den Speicherbedarf Ihres Skripts möglicherweise nicht aus. Durch Erhöhen der Laufzeitgröße können Sie gewährleisten, dass Ihr Skript über ausreichend Speicher verfügt, um fehler- und absturzfrei ausgeführt zu werden. Wenn Sie beispielsweise ein Skript zum Erstellen einer Datenquelle verwenden, ist es am besten, größere Laufzeitumgebungen zu verwenden, da ein zum Erstellen von Tabellen verwendetes Skript diese in den Speicher laden könnte.

Welche Risken sind mit der Nutzung einer großen Umgebung verbunden?

Eine große Containerumgebung kann auch eine Menge Speicher fordern. Dies kann zu Leistungsproblemen auf dem Host-Computer und möglicherweise zum Absturz des Containers führen. MicroStrategy Container verfügen über begrenzten Speicher für Python-Laufzeitumgebungen. Dies ist derzeit auf 6 vCPU und 20 GB Speicher für Containerumgebungen beschränkt. Es ist wichtig, regelmäßig die Größe und Komplexität Ihrer Containerumgebung zu bewerten und sicherzustellen, dass sie Ihren Leistungs-, Sicherheits- und Wartungsanforderungen entspricht. Administrationsskripts sollten Sie am besten auf kleineren Laufzeitumgebungen ausführen, um die Ressourcenauslastung zu reduzieren.

Passen Sie die Laufzeiteinstellungen an

  1. Klicken Sie im Navigationsbereich auf Monitore.

  2. Klicken Sie im linken Bereich auf Laufzeitumgebung.

  3. Klicken Sie in der Tabelle mit der rechten Maustaste auf die Laufzeitumgebung und wählen Sie aus Infos abrufen.

  4. Klicken Sie im linken Bereich auf Alle Einstellungen.

  5. Passen Sie die Laufzeiteinstellungen an.

    Skript-Zeitüberschreitung (s) Zeitüberschreitungseinstellung für die Ausführung des Python-Skripts. Die Standardeinstellung beträgt 600 Sekunden.

    Standard-Pod-Instanznummer Die standardmäßige Anzahl einer zwischengespeicherten Python-Ausführungsinstanz.

    Python-Ausführungsinstanz Wenn ein Python-Skript basierend auf einer Python-Laufzeitumgebung ausgeführt wird, wird eine Python-Ausführungsinstanz erstellt, die entsprechend zwischengespeichert werden kann Standard-Pod-Instanznummer und Maximale Pod-Instanz-Nummer (Begrenzungen für insgesamt ausgeführte Skripte) Einstellungen.

    Maximale Pod-Instanz-Nummer (Begrenzungen für die Ausführung von Skripten insgesamt) Die maximale Anzahl von Python-Ausführungsinstanzen, die basierend auf der Laufzeitumgebung erstellt werden können.

Standard-Pod-Instanznummer der Laufzeitumgebung Maximale Pod-Instanz-Nummer der Laufzeitumgebung (Begrenzungen für insgesamt ausgeführte Skripte) Empfehlung
1 1 Für lockere Benutzer mit niedriger Auslastung und Parallelität, die auf die Antwortzeit Wert legen. Da der Python-Ausführungs-Pod immer aktiv ist, kann die Aufbereitung des Pods reduziert werden, die Gesamtkosten sind jedoch höher. Es ist immer ein Pod aktiviert.
1 N>1 Für Gelegenheitsbenutzer mit niedriger Nutzung und etwas Parallelität, die jedoch nicht sehr wichtig für die Antwortzeit sind. Da immer ein Python-Ausführungs-Pod aktiv ist und auf Anfrage bis zu n-1 Pods aktiv sein können, kann diese Konfiguration mehr Parallelitätsfälle unterstützen. Einige Benutzer haben eine kurze Antwortzeit; bei anderen wird die Pod-Warnzeit möglicherweise angezeigt. Ein Pod ist immer aktiv, und es können bis zu n-1 Pods zu einer bestimmten Zeit gestartet und in Betrieb sein und dann angehalten werden, wenn sie mehr als zwei Minuten im Leerlauf sind
X>0 = Standard-Pod-Instanznummer Für kritische Benutzer mit häufig gleichzeitiger Nutzung, die auf die Antwortzeit Wert legen. Der Preis ist höher, da immer X Laufzeit-Pods aktiv sind.

Unbekannte Einschränkungen

Leistung

Die aktuelle Verknüpfung für die Python-Remote-Ausführung lautet:

  • Die angepasste Paketinstallation für eine bestimmte Laufzeitumgebung erfolgt auf den Persistent-Volumen, wenn der Exektor-Pod erzeugt wird und das Persistent-Volume am Container des Python-Ausführungsprogramms eingehängt ist.

  • Der Hauptprozess des Python-Dienstes ist für die Bearbeitung von Anfragen und Antworten verantwortlich. Die tatsächliche Ausführung des Skripts wird vom Unterprozess gestartet. Daher versucht der Python-Interpreter bei jeder Ausführung der Python-Skripts, das verwendete Paket in den Speicher des Unterprozesses zu laden.

Da es beim Importieren der Daten in das Persist-Volume durch den Container immer noch zu Verzögerungen kommen wird, selbst wenn der Pod bereits aufbereitet ist, entstehen zusätzliche Zeitkosten für den Unterprozess, um die Skripte auszuführen.

Datenquellenverbindungen

Wenn bei privaten lokalen Datenquellen keine Netzwerkverbindung zwischen dem Python-Ausführungs-Pod-Container und der privaten Datenquelle besteht, werden Python-Transaktionen nicht unterstützt. Im Allgemeinen können Datenquellen mit öffentlichen Endpunkte verwendet werden.

Verwandte Artikel

KB486432: Best Practices für die Zuordnung von Python-Skriptvariablen und Tabellenfeldern für Python-Transaktionskonfigurationen

KB486431: Synchronisieren Sie Python-Skript-Änderungen mit Python-Transaktionskonfigurationen in einem Dashboard