Datenstrom Überlegungen zum Aktionsdesign

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 3 Minuten Lesedauer
  • Befolgen Sie diese Überlegungen, wenn Sie eine Datenstrom -Aktion erstellen und einem Flow eine Datenstrom ]-Aktion hinzufügen, um Fehler und Leistungsprobleme zu vermeiden.

    Überlegungen beim Erstellen einer Datenstrom -Aktion

    Unter Berücksichtigung der folgenden Überlegungen erstellen Sie Datenstrom -Aktionen.

    Schreiben Sie die 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 keinen MID-Server aufrufen oder die Aktion anhalten.
    Datenstrom-Aktionen erfordern eine konstante Verbindung mit dem Antwortstrom. Sie unterstützen keine Vorverarbeitungsskripts, die die Aktion anhalten, um einen MID-Server aufzurufen, oder die Aktion anhalten, um auf eine Bedingung oder Dauer zu warten. Ein Vorverarbeitungsskript, das die Aktion aus irgendeinem Grund anhält, gibt eine Fehlermeldung zurück.
    Konvertieren Sie Datentypen der Paginierungsvariablen, um mathematische Operationen auszufü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 hat
    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 der Paginierungsoptionen sicherzustellen, dass die Größe jeder zurückgegebenen Seite unter einem GB liegt. Dadurch wird sichergestellt, dass Flow Designer, die die Aktion verwenden, beim Abrufen von Daten aus einem MID-Serverkeine Probleme mit der Größenbeschränkung haben. 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ützt Datenstrom Aktionen.
    Hinweis:
    • Das Verschachteln von Datenstrom Aktionen wird nicht unterstützt.
    • Stellen Sie bei der Verwendung der Wiederholungsrichtlinie sicher, dass Sie die folgenden Überlegungen kennen:
      • Für die Datenstromaktionen wird nur eine feste Zeitintervallstrategie berücksichtigt.
      • Die Gesamtverzögerung (Anzahl multipliziert mit dem Intervall) darf 30 Sekunden nicht überschreiten. Beispiel: Wenn Sie maximal 3 Wiederholungen versuchen möchten, beträgt die maximale Verzögerung für jeden Wiederholungsversuch 10 Sekunden.
      • Der Datenstrom-Schritt geht bei einem erneuten Versuch nicht in den Wartestatus über.

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

    Fügen Sie unter Berücksichtigung folgender Überlegungen einem Flow eine Datenstrom -Aktion hinzu.

    Fügen Sie keine Aktionen mit Wartebedingungen zu einem Datenstrom Logikblock für alle 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 alle Flow-Logikblöcken hinzugefügt werden. Bei einigen Aktionen und Schritten kann der Flow jedoch je nach Konfiguration angehalten werden. Überprüfen Sie die Aktionskonfiguration, um sicherzustellen, dass der Flow zur Laufzeit nicht angehalten wird.

    Hält den Flow immer an (wird bei Datenstrom-Aktionen nicht unterstützt) Aktion „Genehmigung anfordern“
    Schritt „Um Genehmigung bitten“
    Warten auf Bedingungsaktion
    Warten auf Bedingungsschritt
    Der Flow kann je nach Konfiguration angehalten werden Aktion „Katalogaufgabe erstellen“
    Aktion „Aufgabe erstellen“
    Schritt „Aufgabe erstellen“
    Fügen Sie keine Aktionen, die für MID-Server ausgeführt werden, einem Logikblock vom Typ „ Datenstrom für alle“ hinzu

    Einige Aktionen und Schritte werden immer für einen MID-Server ausgeführt und können nicht zu Datenstrom Für alle 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 zur Laufzeit nicht auf MID-Server ausgeführt wird.

    Wird immer auf einem MID-Server ausgeführt (wird bei Datenstrom-Aktionen nicht unterstützt) JDBC-Schritt
    PowerShell-Schritt
    SSH-Schritt
    Kann je nach Konfiguration auf einem MID-Server ausgeführt werden REST-Schritt
    Skriptschritt
    SOAP-Schritt
    Deaktivieren Sie die Berichterstellung, wenn Sie eine große Anzahl von Datensätzen im Logikblock „Für alle“ verwenden
    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 Flow Designer system properties.