Python-Skript
Der Aktionsschritt Python-Skript ermöglicht es Ihnen, benutzerdefinierten Python-Code mit Zugriff auf Ihre Process Mining-Daten auszuführen. Dies bietet maximale Flexibilität für die Datenverarbeitung, benutzerdefinierte Integrationen und spezialisierte Verarbeitung.
Übersicht
Wenn Sie einen Aktionsschritt Python-Skript konfigurieren, führt das System folgende Schritte aus:
- Es sammelt Daten aus allen von Ihnen ausgewählten Analysen
- Macht diese Daten Ihrem Python-Code verfügbar
- Führt Ihr Skript in einer sicheren Umgebung aus
- Ermöglicht es Ihnen, Daten zu verarbeiten, zu transformieren oder überallhin zu senden
Dies ist der leistungsstärkste und flexibelste Aktionsschritt, der für fortgeschrittene Benutzer geeignet ist, die benutzerdefinierte Funktionen benötigen, die über die eingebauten Optionen hinausgehen.
Wann Python-Skript verwenden
Verwenden Sie Python-Skript, wenn Sie:
- Daten an benutzerdefinierte APIs oder Webhooks senden möchten
- Daten vor dem Export in andere Systeme transformieren wollen
- Eine Integration mit Datenbanken oder Data Warehouses benötigen
- Benutzerdefinierte Dateiformate oder Berichte erstellen wollen
- Berechnungen durchführen müssen, die in den Standardfunktionen von mindzieStudio nicht verfügbar sind
- Eine Integration mit Drittanbieterdiensten (Slack, Teams, Salesforce etc.) umsetzen möchten
Voraussetzungen
Vor der Nutzung von Python-Skript:
- Grundlegende Kenntnisse in Python-Programmierung sind erforderlich
- Wählen Sie die Analysedaten im Datenschritt des Aktions-Assistenten aus
- Verstehen Sie die verfügbaren Datenstrukturen aus Ihren Analysen
Konfiguration
Um ein Python-Skript zu Ihrer Aktion hinzuzufügen, klicken Sie im Bereich Aktion Schritte auf die +-Schaltfläche und wählen Sie Python Script.
Skript-Editor
Der Dialog Python-Skript stellt einen Code-Editor bereit, in dem Sie Ihren Python-Code schreiben. Das Skript hat Zugriff auf:
- Alle Daten aus Ihren ausgewählten Analysen
- Standard-Python-Bibliotheken
- Häufige Datenverarbeitungsbibliotheken (pandas, requests usw.)
Verfügbare Daten
Ihr Skript erhält die ausgewählten Analysedaten in strukturierten Formaten. Sie können auf Folgendes zugreifen:
- Rohdaten des Event Logs
- Berechnete Metriken und Statistiken
- Analyseergebnisse und Tabellen
- Visualisierungsdaten
Beispielskripte
Daten an Webhook senden
import requests
import json
# Zugriff auf die Analysedaten
data = get_analysis_data()
# Senden an einen Webhook
response = requests.post(
'https://your-webhook-url.com/endpoint',
json=data,
headers={'Content-Type': 'application/json'}
)
if response.status_code == 200:
print("Daten erfolgreich gesendet")
else:
print(f"Fehler: {response.status_code}")
Export in Datenbank
import pandas as pd
from sqlalchemy import create_engine
# Analysedaten als DataFrame holen
df = get_analysis_dataframe()
# Verbindung zur Datenbank
engine = create_engine('postgresql://user:pass@host:5432/database')
# Daten in Tabelle schreiben
df.to_sql('process_metrics', engine, if_exists='replace', index=False)
print(f"{len(df)} Zeilen in die Datenbank exportiert")
Slack-Benachrichtigung senden
import requests
# Wichtige Kennzahlen holen
metrics = get_analysis_data()
avg_duration = metrics['average_duration']
case_count = metrics['case_count']
# Nachricht an Slack senden
slack_message = {
"text": f"Tägliche Prozessübersicht: {case_count} Fälle verarbeitet, Durchschnittsdauer: {avg_duration}"
}
requests.post(
'https://hooks.slack.com/services/YOUR/WEBHOOK/URL',
json=slack_message
)
Benutzerdefinierter CSV-Export
import pandas as pd
from datetime import datetime
# Daten holen
df = get_analysis_dataframe()
# Daten transformieren
df['export_date'] = datetime.now().strftime('%Y-%m-%d')
df['source'] = 'mindzieStudio'
# An benutzerdefinierten Ort speichern
filename = f"process_export_{datetime.now().strftime('%Y%m%d')}.csv"
df.to_csv(f'/exports/{filename}', index=False)
print(f"Exportiert nach {filename}")
Best Practices
Skripte zunächst manuell testen: Entwickeln und testen Sie Ihren Python-Code, bevor Sie ihn in einer Aktion einplanen. Verwenden Sie Python-Notebooks zur Logikprüfung.
Fehler sorgfältig behandeln: Verwenden Sie try/except-Blöcke, um Fehler zu erfassen und zu protokollieren. Fehlgeschlagene Skripte sollten hilfreiche Fehlermeldungen liefern.
Wichtige Schritte protokollieren: Nutzen Sie print-Anweisungen, um den Ablauf zu verfolgen. Diese erscheinen im Aktionsverlauf.
Zugangsdaten sicher aufbewahren: Hardcodieren Sie keine Passwörter oder API-Schlüssel im Skript. Verwenden Sie Umgebungsvariablen oder sichere Speicherorte.
Ausführungszeit berücksichtigen: Aktionen haben Timeout-Limits. Optimieren Sie Skripte hinsichtlich Effizienz, besonders bei großen Datenmengen.
Daten vor der Verarbeitung validieren: Stellen Sie sicher, dass erwartete Daten vorhanden sind, bevor Sie diese verwenden. Fehlende Daten sollten sauber behandelt werden.
Häufige Muster
Fehlerbehandlung
try:
data = get_analysis_data()
process_data(data)
print("Erfolg")
except Exception as e:
print(f"Fehler: {str(e)}")
# Optional Benachrichtigung senden
send_error_notification(str(e))
Datenvalidierung
data = get_analysis_data()
if not data or len(data) == 0:
print("Keine Daten verfügbar - Export wird übersprungen")
exit()
if 'required_column' not in data.columns:
print("Erforderliche Spalte fehlt")
exit()
# Weiter mit Verarbeitung
Bedingte Verarbeitung
data = get_analysis_data()
# Nur Alarm senden, wenn Schwellenwert überschritten ist
if data['average_duration'] > 24: # Stunden
send_alert("Prozessdauer überschreitet 24 Stunden!")
else:
print("Dauer im akzeptablen Bereich")
Fehlerbehebung
Skript wird nicht ausgeführt
- Prüfen Sie den Aktionsverlauf auf Fehlermeldungen
- Stellen Sie sicher, dass die Aktion aktiviert und geplant ist
- Überprüfen Sie Python-Syntax auf Fehler
Daten nicht verfügbar
- Vergewissern Sie sich, dass die Analysen im Datenschritt ausgewählt sind
- Prüfen Sie, ob die Analysen ausgeführt wurden und Daten enthalten
- Überprüfen Sie die Datenzugriffsmethoden im Skript
Skript-Timeout
- Optimieren Sie den Code hinsichtlich Performance
- Verarbeiten Sie Daten in kleineren Chargen
- Erwägen Sie, aufwändige Verarbeitung an externe Systeme auszulagern
Fehler bei externen Diensten
- Prüfen Sie API-Endpunkte und Zugangsdaten
- Überprüfen Sie die Netzwerkverbindung aus der Ausführungsumgebung
- Fügen Sie Wiederholungslogik für temporäre Ausfälle hinzu
Importfehler
- Vergewissern Sie sich, dass erforderliche Bibliotheken verfügbar sind
- Kontaktieren Sie den Support, wenn Sie zusätzliche Python-Pakete benötigen
Einschränkungen
- Skripte werden in einer Sandbox-Umgebung ausgeführt
- Einige systemnahe Operationen sind eingeschränkt
- Externer Netzwerkzugriff kann durch Sicherheitseinstellungen limitiert sein
- Die Ausführungszeit ist begrenzt, um außer Kontrolle geratene Skripte zu verhindern
Verwandte Dokumentation
Support
Wenn Sie Probleme mit Python-Skripten haben:
- E-Mail: support@mindzie.com
- Fügen Sie Ihren Skriptcode bei (ohne sensible Daten)
- Geben Sie Fehlermeldungen aus dem Aktionsverlauf an
- Beschreiben Sie das erwartete und das tatsächliche Verhalten