Datenstrom Überlegungen zum Aktionsdesign

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 3 Minuten Lesedauer
  • Beachten Sie beim Erstellen einer Datenstrom -Aktion und beim Hinzufügen einer Datenstrom -Aktion zu einem Flow die folgenden Punkte, um Fehler und Leistungsprobleme zu vermeiden.

    Überlegungen beim Erstellen einer Datenstrom -Aktion

    Unter Berücksichtigung dieser Überlegungen können Sie Aktionen vom Typ Datenstrom erstellen.

    Schreiben Sie eine Paginierungslogik gemäß den Anforderungen von Drittparteien

    Bewerten Sie das für den Endpunkt eines Drittanbieters erforderliche Format, und verstehen Sie es. Beispielsweise müssen Sie ein Skript schreiben, das die integrierte getNextPage-Variable auf „true“ setzt, solange die Antwort ein nextPage-Token enthält. Wenn die Antwort das Token nicht enthält, legen Sie die Variable auf „false“ fest. Greifen Sie im Skript auf Variablen in Klammern oder in Punktschreibweise zu. Beispiel: variables['getNextPage']. Diese Variable akzeptiert nur den booleschen Datentyp. Der Standardwert ist „false“.

    Stellen Sie sicher, dass Vorverarbeitungsskripts kein MID-Server aufrufen oder die Aktion anhalten.
    Datenstromaktionen erfordern eine ständige Verbindung zum Antwortstrom. Sie unterstützen keine Vorverarbeitungsskripts, die die Aktion zum Aufrufen eines MID-Server oder zum Warten auf eine Bedingung oder Dauer anhalten. Ein Vorverarbeitungsskript, das die Aktion aus irgendeinem Grund anhält, gibt eine Fehlermeldung zurück.
    Konvertieren Sie die Datentypen der Paginierungsvariablen, um mathematische Berechnungen durchzuführen

    Paginierungsvariablen unterstützen nur den Datentyp Zeichenfolge. Zum Ausführen von mathematischen Operationen müssen Sie den Wert in eine ganze Zahl konvertieren, alle erforderlichen Vorgänge ausführen und sie dann wieder in eine Zeichenfolge konvertieren.

    variables['offset'] = (parseInt(variables['offset']) + parseInt(variables['limit'])).toString();
    Stellen Sie sicher, dass das Paginierungsskript eine Endbedingung aufweist
    Vermeiden Sie Endlosschleifen in Paginierungsanforderungen, indem Sie eine Bedingung erstellen, die die Variable getNextPage auf „false“ setzt. Brechen Sie Flows mit langer Ausführungszeit ab. Testen Sie Datenstrom-Aktionen immer, bevor Sie sie in der Produktion verwenden.
    Löschen Sie die Optionen der Konfigurationsseite sorgfältig
    Durch das Löschen einer Option auf einer Konfigurationsseite wird der Schritt aus der Gliederung Datenstrom entfernt, und alle dem Schritt zugeordneten Daten werden gelöscht.
    Berücksichtigen Sie die Größe jeder zurückgegebenen Seite
    Versuchen Sie beim Konfigurieren von Paginierungsoptionen sicherzustellen, dass die Größe jeder zurückgegebenen Seite weniger als ein GB beträgt. Dadurch wird sichergestellt, dass Flow Designer, die die Aktion verwenden, beim Abrufen von Daten aus MID-Servernicht auf Probleme mit der Größenbeschränkung stoßen. Wenn die Aktion mehr als ein GB Daten pro Seite zurückgibt, muss der Flow Designer möglicherweise die Größenbeschränkung für Anhänge erhöhen. Weitere Informationen finden Sie unter MID-Server Unterstützung für Datenstrom -Aktionen.
    Hinweis:
    • Das Verschachteln von Datenstrom -Aktionen wird nicht unterstützt.
    • Wenn Sie die Wiederholungsrichtlinie verwenden, beachten Sie Folgendes:
      • Für die Datenstromaktionen wird nur eine Strategie für feste Zeitintervalle berücksichtigt.
      • Die Gesamtverzögerung (Anzahl multipliziert mit dem Intervall) darf 30 Sekunden nicht überschreiten. Wenn Sie beispielsweise maximal 3-mal versuchen möchten, beträgt die maximale Verzögerung für jeden Neuversuch 10 Sekunden.
      • Der Datenstromschritt wechselt während des Wiederholungsversuchs nicht in den Status „Warten“.

    Überlegungen beim Hinzufügen einer Datenstrom -Aktion zu einem Flow

    Fügen Sie unter Berücksichtigung dieser Punkte einem Flow die Aktion Datenstrom hinzu.

    Fügen Sie einem Logikblock Datenstrom für jedes Element keine Aktionen mit Wartebedingungen hinzu

    Einem „Für alle“-Logikblock in einem Datenstrom kann keine Aktion hinzugefügt werden, die den Flow während der Laufzeit anhält. Datenstrom-Aktionen erfordern eine konstante Verbindung zum Antwortstrom. Beispielsweise können Sie die Aktionen „Genehmigung anfordern“ oder „Auf Bedingung warten“ nicht in der „Für jeden“-Logik in einem Datenstrom verwenden.

    Einige Aktionen und Schritte halten einen Flow immer an und können nicht zu Datenstrom für die jeweiligen Flow-Logikblöcke hinzugefügt werden. Einige Aktionen und Schritte können jedoch den Flow je nach Konfiguration anhalten. Überprüfen Sie die Aktionskonfiguration, um sicherzustellen, dass der Flow zur Laufzeit nicht angehalten wird.

    Hält den Flow immer an (wird bei Datenstromaktionen nicht unterstützt) Aktion „Genehmigung anfordern“
    Schritt „Um Genehmigung bitten“
    Auf Bedingungsaktion warten
    Warten Sie auf den Schritt „Bedingung“.
    Kann den Flow je nach Konfiguration anhalten Aktion „Katalogaufgabe erstellen“
    Aktion „Aufgabe erstellen“
    Schritt „Aufgabe erstellen“
    Fügen Sie keine Aktionen, die auf MID-Server ausgeführt werden, einem Datenstrom Logikblock für jedes Element hinzu

    Einige Aktionen und Schritte werden immer für einen MID-Server ausgeführt und können nicht zu Datenstrom für die jeweiligen Flow-Logikblöcke hinzugefügt werden. Einige Aktionen und Schritte können jedoch je nach Konfiguration für MID-Server ausgeführt werden. Überprüfen Sie die Aktionskonfiguration, um sicherzustellen, dass sie nicht zur Laufzeit auf MID-Server ausgeführt wird.

    wird immer auf einem MID-Server ausgeführt (nicht unterstützt mit Datenstromaktionen) JDBC-Schritt
    PowerShell-Schritt
    SSH-Schritt
    Kann je nach Konfiguration auf einem MID-Server ausgeführt werden REST-Schritt
    Skriptschritt
    SOAP-Schritt
    Berichterstellung deaktivieren, wenn eine große Anzahl von Datensätzen im Logikblock „Für jeden“ verwendet wird
    Das Iterieren über eine große Anzahl von Datensätzen kann ressourcenintensiv sein, insbesondere wenn der Logikblock „Für alle“ komplexe Aktionen für jede Iteration enthält. Um Leistungsprobleme zu vermeiden, deaktivieren Sie die Berichterstellung mithilfe der Systemeigenschaft com.snc.process_flow.reporting.level. Weitere Informationen finden Sie unter Workflow Studio flow system properties.