Zum Inhalt springen

Cache-Funktionen im Jitterbit Integration Studio

Einführung

Mit Cloud-Caching können Sie Daten vorübergehend in der Cloud speichern. Der zwischengespeicherte Wert ist für alle Vorgänge sichtbar, die im selben Bereich ausgeführt werden, bis der Cache abläuft, unabhängig davon, wie ein Operation gestartet wurde oder auf welchem Agenten ein Operation ausgeführt wird.

Durch die Zwischenspeicherung von Daten in Harmony(anstatt sich auf lokale oder agentenspezifische Datenspeicher zu verlassen) können Daten zwischen separaten Vorgängen und über Projekte hinweg gemeinsam genutzt werden.

Vor der Verwendung des ReadCache oder WriteCache Funktionen (unten beschrieben), beachten Sie diese wichtigen Hinweise:

  • Beim Definieren eines Caches für eine Umfeld müssen in den Projekten eindeutige Cache-Namen verwendet werden, um ein unbeabsichtigtes Überschreiben von Werten zu vermeiden. Wenn Daten zwischen Projekten ausgetauscht werden sollen, ist der gleiche Cache-Name erforderlich.
  • Diese Funktionen funktionieren nur zur Laufzeit. Beim Versuch, ein Script oder einen Operation zu testen, der diese Funktionen enthält, werden Fehler generiert.
  • WriteCache Und ReadCache Werte sind nicht über die Management Console zugänglich.
  • Standardmäßig WriteCache Und ReadCache (zusammen) sind auf maximal 100 Anrufe pro Minute für eine Organisation begrenzt.

Beispiele mit ReadCache Und WriteCache werden sowohl innerhalb der einzelnen Funktionen als auch in den Beispielen behandelt unten.

Anwendungsfälle

Im Folgenden finden Sie einige Anwendungsbeispiele, in denen Sie Cloud-Caching verwenden möchten:

  • Nehmen wir zwei Operation, Kette A und Kette B, in einem einzigen Projekt an. Diese Ketten werden separat ausgeführt. Mit einem einzigen Agenten kann der temporäre Speicher zwischen den Ketten geteilt werden. In einer Umfeld mit mehreren Agenten kann der temporäre Speicher jedoch nicht verwendet werden, da er lokal für den Agenten ist, der eine Operation ausführt, und nicht für das gesamte Projekt. Wenn Agent 1 Kette A ausführt und Agent 2 Kette B, sind die von Kette A generierten Daten für Kette B nicht verfügbar. Die Verwendung von Cloud-Caching anstelle von temporärem Speicher überwindet dieses Problem.
  • Daten können zwischen asynchronen Vorgängen innerhalb eines Projekts geteilt werden.
  • Fehler, die bei verschiedenen Vorgängen auftreten, können in einem gemeinsamen Cache gespeichert werden. Durch die Ansammlung von Operation auf diese Weise können umfassendere Warnungen erstellt werden.
  • Anmeldetoken können Operationsübergreifend genutzt werden.
  • WriteCache Und ReadCache Funktionen können zum Teilen von Daten zwischen Projekten verwendet werden. Bevor Cloud-Caching verfügbar war, mussten alle zugehörigen Vorgänge innerhalb desselben Projekts erfolgen, was zu sehr großen Projekten führen konnte. Durch die Verwendung von Cloud-Caching können große Projekte jetzt in kleinere Projekte aufgeteilt werden, was einen detaillierteren Zugriff auf Berechtigungen sowie eine Unterteilung von Entwicklung und Tests ermöglicht.

ReadCache

Erklärung

type ReadCache(string name[, long expirationSeconds, string scope])

Syntax

ReadCache(<name>, <expirationSeconds>, <scope>)

Erforderliche Parameter

  • name: Bis zu 256 Zeichen.

Optionale Parameter

  • expirationSeconds: Anzahl der Sekunden, bevor der zwischengespeicherte Wert abläuft. Der Standardwert beträgt 30 Minuten (1800 Sekunden). Das Maximum beträgt 30 Tage (2592000 Sekunden). Bei Verwendung für ReadCache, der zwischengespeicherte Wert läuft in dieser Anzahl von Sekunden nach einem erfolgreichen Lesen ab. Wenn entweder kein Ablaufdatum oder ein nicht positives Ablaufdatum angegeben ist, dann ist das Ablaufdatum des zwischengespeicherten Werts das Ablaufdatum des letzten Schreibvorgangs.
  • scope: Bestimmt, ob der Cache-Bereich für das aktuelle Projekt ist. Der Cache-Bereich kann entweder "project" oder "environment". (Die kürzeren Formen "proj" Und "env" werden ebenfalls akzeptiert.) Der Standardbereich ist "project" wenn entweder kein Bereich oder eine leere Zeichenfolge angegeben ist. Der zwischengespeicherte Wert ist für alle Vorgänge sichtbar, die im gleichen Bereich ausgeführt werden, bis er abläuft, unabhängig davon, wie dieser Operation gestartet wurde oder auf welchem Agenten der Operation ausgeführt wird.

Beschreibung

Liest aus einem gemeinsamen Cache, der auf Harmony gespeichert ist.

Beispiele

// Read a cached value in the default scope (project)
myToken = ReadCache("authToken");

// Read a cached value in the "env" scope
myToken = ReadCache("authToken", "", "env");

// Read a cached value in the environment scope with a default timeout
lastTimeStamp = ReadCache("lastTimeStamp", -1, "env");

WriteCache

Erklärung

void WriteCache(string name, type value[, long expirationSeconds, string scope])

Syntax

WriteCache(<name>, <value>, <expirationSeconds>, <scope>)

Erforderliche Parameter

  • name: Bis zu 256 Zeichen.
  • value: Darf 1 MB nicht überschreiten.

Optionale Parameter

  • expirationSeconds: Anzahl der Sekunden, bevor der zwischengespeicherte Wert abläuft. Der Standardwert beträgt 30 Minuten (1800 Sekunden). Das Maximum beträgt 30 Tage (2592000 Sekunden). Wenn entweder kein Ablaufdatum oder ein nicht positives Ablaufdatum angegeben ist, wird das Ablaufdatum des zwischengespeicherten Werts mit dem Ablaufdatum des letzten Schreibvorgangs erneuert. Die maximal zulässige Ablaufzeit wird von Ihrer Organisation und/oder Harmony festgelegt.
  • scope: Bestimmt, ob der Cache-Bereich für das aktuelle Projekt ist. Der Cache-Bereich kann entweder "project" oder "environment". (Die kürzeren Formen "proj" Und "env" werden ebenfalls akzeptiert.) Der Standardbereich ist "project" wenn entweder kein Bereich oder eine leere Zeichenfolge angegeben ist. Der zwischengespeicherte Wert ist für alle Vorgänge sichtbar, die im gleichen Bereich ausgeführt werden, bis er abläuft, unabhängig davon, wie dieser Operation gestartet wurde oder auf welchem Agenten der Operation ausgeführt wird.

Beschreibung

Schreibt in einen gemeinsamen Cache, der auf Harmony gespeichert ist.

Warnung

Die Standardbeschränkung für die Nutzung WriteCache beträgt maximal 100 Anrufe pro Minute pro Organisation.

Beispiele

// Write a value to the cache in the default scope ("project")
WriteCache("authToken", myToken);

// Write a value (a timestamp using the Now() function)
// to the cache in the environment ("env") scope with a default timeout
WriteCache("lastTimeStamp", Now(), -1, "env");

// Writing a value without specifying an expiration or scope
// $authToken would be generated from a login operation
WriteCache("authToken", $authToken);

// Write a value to the cache in the "env" scope
// No expiration specified
WriteCache("City", "Houston", "", "env");

Beispiele

Beispiel 1: Projektumfang

// Write a value to the cache in the default scope (project)
WriteCache("authToken", myToken);

// Read the cached value in the default scope (project)
myToken = ReadCache("authToken");

Beispiel 2: Umgebungsbereich

// Write a value (a timestamp using the Now() function)
// to the cache in the environment ("env") scope with a default timeout
WriteCache("lastTimeStamp", Now(), -1, "env");

// Read the cached value in the environment scope with a default timeout
lastTimeStamp = ReadCache("lastTimeStamp", -1, "env");

Beispiel 3: Keine Ablaufsekunden oder kein Gültigkeitsbereich

// Writing a value without specifying an expiration or scope
// $authToken would be generated from a login operation
WriteCache("authToken", $authToken);

// Reading the cached value:
myToken = ReadCache("authToken");

Beispiel 4: Nur den Bereich verwenden

Dieses Beispiel umfasst die Angabe der Umfeld in der scope Parameter und das Setzen des Timeouts auf eine leere Zeichenfolge. Der expiration_seconds kann eine leere Zeichenfolge, eine negative Zahl (wie "-1") oder eine Anzahl von Sekunden bis zu 30 Tagen (2592000 Sekunden).

// Writing specifying the environment only
WriteCache("City", "Houston", "", "env");

Beispiel 5: Nur Ablaufsekunden verwenden

In diesem Beispiel wird eine Ablaufzeit von 300 Sekunden angegeben expiration_seconds kann eine leere Zeichenfolge, eine negative Zahl (wie "-1") oder eine Anzahl von Sekunden bis zu 30 Tagen (2592000 Sekunden).

// Writing specifying the expiration in seconds
WriteCache("City", "Houston", "300");

Lesen des zwischengespeicherten Wertes. Der zwischengespeicherte Wert wird nur zurückgegeben, wenn der Aufruf innerhalb von 300 Sekunden nach dem Schreiben erfolgt; andernfalls wird ein Nullwert zurückgegeben:

// Reading the cached value
city = ReadCache("City");