Variablen-Konnektor für Jitterbit Integration Studio
Zusammenfassung
Der Variablen-Konnektor bietet eine Schnittstelle zum Eingeben eines Variablennamens, um eine Variablenverbindung zu erstellen. Diese Verbindung bildet die Grundlage zum Konfigurieren zugehöriger Variablen-Konnektor-Aktivitäten, die mit der Verbindung interagieren. Zusammen werden eine bestimmte Variablenverbindung und ihre Aktivitäten als Endpoint bezeichnet.
Connector-Übersicht
Dieser Connector wird verwendet, um zunächst eine variable Verbindung zu konfigurieren, um den Zugriff entweder auf eine Projektvariable oder eine im Speicher befindliche globale Variable und dann verwendet, um eine oder mehrere Variablenaktivitäten zu konfigurieren, die mit dieser Verbindung als Quelle oder Ziel innerhalb einer Operation verknüpft sind:
- Lesen: Liest Daten von einem Endpoint und ist zur Verwendung als Quelle in einer Operation vorgesehen.
- Schreiben: Schreibt Daten an einen variablen Endpoint und ist zur Verwendung als Ziel in einer Operation vorgesehen.
Hinweis
Dieser Connector ist ein nativer Integration Studio Connector, auf den Jitterbit verweisen kann, wenn Änderungen an Connectoren kommuniziert werden. Der Release-Zeitplan für native Integration Studio Connectors basiert auf der Kadenz der Harmony Portal-Webanwendungen.
Zugriff auf den Connector
Der Variablen-Konnektor wird über die Tab Endpoints und -konnektoren der Design-Komponentenpalette aufgerufen (siehe Design-Komponentenpalette).
Variabler Speicher versus temporärer Speicher
Zwei der gängigsten sofort einsatzbereiten temporären Speichertypen in Harmony sind variable Endpoints und temporäre Endpoints. Bei der Auswahl des einen oder des anderen müssen mehrere Aspekte berücksichtigt werden.
Variabler Endpoint
Variable Endpoints (Lesen und Schreibaktivitäten, nicht zu verwechseln mit Skripting globaler Variablen) sind einfach zu codieren und reduzieren die Komplexität, wie später auf dieser Seite beschrieben wird. Sie unterliegen jedoch bestimmten 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 passiert, wenn die Datengröße 4 MB überschreitet.
Wenn der Datensatz mehrere Megabyte groß ist, besteht die Gefahr einer Datenkürzung. Wir empfehlen ein Limit von 50 MB, um vorsichtig zu sein und jedes Risiko einer Datenkürzung zu vermeiden.
Die Verwendung von Endpoints in asynchronen Vorgängen ist ein Anwendungsfall, der besondere Aufmerksamkeit erfordert. Die Größe eines Datensatzes, der in einem Endpoint verwendet wird, der in einem asynchronen Operation verwendet wird, ist auf 7 KB begrenzt. In diesem Szenario kann das Überschreiten dieses Grenzwertes zu einer Kürzung führen. Weitere Informationen finden Sie im RunOperation()
Funktion für eine Beschreibung des Aufrufs einer asynchronen Operation.
Temporärer Endpoint
Größere Datensätze, wie sie beispielsweise in ETL-Szenarien mit Tausenden von Datensätzen verwendet werden, sollten mithilfe von Endpoints für den temporären Speicher verarbeitet werden.
Im Gegensatz zu variablen Endpoints kommt es bei der Verwendung von temporären Endpoints selbst bei sehr großen Datensätzen nicht zu Leistungseinbußen oder Abschneidungen. Die Verwendung von temporären Endpoints kann jedoch zusätzliche Skripterstellung erfordern. Durch die Verwendung von temporären Endpoints können Sie die Wiederverwendung und Einfachheit von variablen Endpoints nicht nutzen, wie weiter unten auf dieser Seite beschrieben.
Beachten Sie, dass Cloud-Agenten haben ein Dateigrößenlimit für den Endpoint des temporären Speichers von 50 GB pro Datei. Wer temporäre Dateien mit mehr als 50 GB erstellen muss, benötigt einen privaten Agenten.
Die Verwendung variabler Endpoints kann die Wiederverwendung erhöhen und die Komplexität reduzieren
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 (Leseaktivitäten) und Ziele (Schreibaktivitäten) fungieren. Anstatt für jede Operation einzelne Quell- oder Zielkombinationen zu erstellen, ist es einfach, ein gemeinsames Variablenziel und eine gemeinsame Variablenquelle zu verwenden (im Beispiel unten rot umrandet):
Um die Wiederverwendbarkeit und Standardisierung zu erhöhen, können Sie ein wiederverwendbares Script erstellen, das den Inhalt der Variablen protokolliert (das Script Write to Operation Log im obigen Beispiel, grün umrandet). Dieser Ansatz kann auch mithilfe eines temporären Speichers erreicht werden, aber es sind zusätzliche Skripte erforderlich, um den Pfad und den Dateinamen zu initialisieren.
Bei Verwendung eines Endpoint ist sein Umfang die Kette - der Thread - der Operationen. Daher sind Endpoint für einen bestimmten Thread eindeutig und werden vernichtet, wenn der Thread beendet ist. Dies ist bei einem Endpoint für temporären Speicher nicht der Fall. Daher ist mehr Handhabung erforderlich, um die Eindeutigkeit sicherzustellen. Die beste Vorgehensweise besteht darin, eine GUID am Anfang einer Operation zu initialisieren und diese GUID dann an jeden der temporären Speicherdateinamen in der Kette zu übergeben, wie in Daten für spätere Verarbeitung mit temporärem Speicher beibehalten beschrieben. (Obwohl dieses Dokument für Design Studio ist, können die gleichen Konzepte auch angewendet werden auf Integration Studio.)
Beim Durchführen von Operation ist es hilfreich, Testdaten zu laden. Die Verwendung einer variablen Quelle oder eines variablen Ziels macht dies einfach: Sie fügen 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 Endpoint einfacher:
myLocalVar= $memory;
Im Gegensatz dazu lesen Sie Daten von einem temporären Endpoint folgendermaßen:
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 Eingabe- und Ausgabevorgängen unkompliziert ist. Allerdings muss mit großer Sorgfalt darauf geachtet werden, dass die Daten die richtige Größe haben.
Fehlerbehebung
Wenn Sie Probleme mit dem Variablen-Connector haben, werden diese Schritte zur Fehlerbehebung empfohlen:
-
Stellen Sie sicher, dass die Variablenverbindung erfolgreich ist, indem Sie im Konfigurationsbildschirm auf die Schaltfläche Test klicken. Wenn die Verbindung nicht erfolgreich ist, kann der zurückgegebene Fehler einen Hinweis auf das Problem geben.
-
Überprüfen Sie die Operation für alle Informationen, die während der Ausführung der Operation geschrieben werden.
-
Aktivieren Sie die debuggen für Operation (für Cloud-Agenten oder für private Vertreter), um zusätzliche Protokolldateien und Daten zu generieren.
-
Wenn Sie private Agenten verwenden, können Sie die Agentenprotokolle überprüfen für weitere Informationen.
-
Weitere Hinweise zur Fehlerbehebung finden Sie unter Fehlerbehebung beim Operation.