Überlegungen zur temporären Speicherung in Integration Studio
Integration Studio bietet Benutzern, die temporären Speicher in ihren Integrationen benötigen, verschiedene Lösungen. Auf dieser Seite finden Sie Hinweise zur Auswahl der geeigneten Lösung. Dabei kann es sich um einen Endpoint handeln, der entweder den Variablen-Connector oder den Temporärer Speicher-Connector.
Variabler Endpoint
Variable Endpoints (Lesen und Schreibaktivitäten, nicht zu verwechseln mit Skripting globaler Variablen) sind einfach zu programmieren und reduzieren die Komplexität, wie weiter unten auf dieser Seite beschrieben. Sie unterliegen jedoch gewissen Einschränkungen.
Für ein Szenario, in dem eine Integration mit winzigen Datensätzen arbeitet - typisch für Webdienstanfragen und -antworten oder kleine Dateien mit einigen hundert Datensätzen - empfehlen wir die Verwendung eines variablen Endpoint.
Wenn der Datensatz im Megabyte-Bereich liegt, wird der variable Endpoint langsamer als der entsprechende temporäre Endpoint. Dies tritt auf, wenn die Datengröße 4 MB überschreitet.
Bei Datensätzen im Multi-Megabyte-Bereich besteht die Gefahr der Datenkürzung. Wir empfehlen ein Limit von 50 MB, um ein Kürzungsrisiko zu vermeiden.
Die Verwendung von Endpoints in asynchronen Operationen ist ein Anwendungsfall, der besondere Aufmerksamkeit erfordert. Die Größe eines Datensatzes in einem Endpoint, der in einer asynchronen Operation verwendet wird, ist auf 7 KB begrenzt. In diesem Szenario kann das Überschreiten dieses Grenzwerts zu einer Kürzung führen. Siehe die RunOperation() Funktion für eine Beschreibung des Aufrufs einer asynchronen Operation.
Variable Endpoints erhöhen die Wiederverwendung und reduzieren die Komplexität
Die Verwendung eines variablen Endpoint für kleine Datensätze kann die Wiederverwendung erhöhen und die Komplexität reduzieren. Beispielsweise beim Erstellen von Operationen, die mit Operation verkettet sind, kann jede Operation Aktivitäten haben, die als Quellen fungieren (Aktivitäten lesen) und Ziele (Schreibaktivitäten). Anstatt für jede Operation einzelne Quell- oder Zielkombinationen zu erstellen, ist es einfacher, ein gemeinsames variables Ziel und eine gemeinsame variable Quelle zu verwenden.
Um die Wiederverwendbarkeit und Standardisierung zu verbessern, können Sie ein wiederverwendbares Script erstellen, das den Inhalt der Variable protokolliert. Dieser Ansatz lässt sich auch mit temporärem Speicher realisieren, allerdings ist zusätzliches Skripting erforderlich, um Pfad und Dateinamen zu initialisieren.
Bei Verwendung eines Endpoint entspricht sein Gültigkeitsbereich der Kette - dem Thread - der Operationen. Daher sind Endpoint für einen bestimmten Thread eindeutig und werden nach dessen Beendigung gelöscht. Bei einem Endpoint für temporären Speicher ist dies nicht der Fall; daher ist ein höherer Aufwand erforderlich, um die Eindeutigkeit sicherzustellen. Die bewährte Vorgehensweise besteht darin, zu Beginn einer Operation eine GUID zu initialisieren und diese dann an alle temporären Speicherdateinamen in der Kette zu übergeben, wie in Daten für spätere Verarbeitung im temporären Speicher speichern beschrieben.. (Obwohl dieses Dokument für Design Studio gilt, können dieselben Konzepte auch auf Integration Studio angewendet werden.)
Beim Durchführen von Operation ist es hilfreich, Testdaten zu laden. Die Verwendung einer variablen Quelle oder eines variablen Ziels vereinfacht dies: Fügen Sie ein Script hinzu, um die Testdaten in ein Ziel zu schreiben:
$memory = "a,b,c";
Im Gegensatz dazu sieht das Schreiben von Daten in einen temporären Endpoint folgendermaßen aus:
WriteFile("<TAG>activity:tempstorage/Temporary Storage/tempstorage_write/Write</TAG>", "a,b,c");
FlushFile("<TAG>activity:tempstorage/Temporary Storage/tempstorage_write/Write</TAG>");
Ebenso ist das Lesen von Daten mit einem variablen Endpoint einfacher:
myLocalVar= $memory;
Im Gegensatz dazu lesen Sie Daten von einem temporären Endpoint:
myLocalVar = ReadFile("<TAG>activity:tempstorage/Temporary Storage/tempstorage_read/Read</TAG>");
Zusammenfassend lässt sich sagen, dass die Verwendung von Endpoints zum Lesen, Schreiben und Protokollieren von Operation und Ausgabevorgängen unkompliziert ist. Allerdings muss mit großer Sorgfalt darauf geachtet werden, dass die Daten die richtige Größe haben.
Temporärer Endpoint
Größere Datensätze, beispielsweise solche mit Tausenden von Datensätzen, sollten mithilfe von Endpoints für den temporären Speicher verarbeitet werden.
Im Gegensatz zu variablen Endpoints kommt es bei temporären Endpoints selbst bei sehr großen Datensätzen weder zu Leistungseinbußen noch zu Leistungseinbußen. Die Verwendung temporärer Endpoints kann jedoch zusätzliche Skripts erfordern. Bei Verwendung temporärer Endpoints können Sie die Wiederverwendung und Einfachheit variabler Endpoints, wie weiter unten auf dieser Seite beschrieben, nicht nutzen.
Beachten Sie, dass Cloud-Agenten haben eine Dateigrößenbeschränkung für den temporären Endpoint von 50 GB pro Datei. Wer temporäre Dateien größer als 50 GB erstellen muss, benötigt einen privaten Agenten.