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
UndReadCache
Werte sind nicht über die Management Console zugänglich.- Standardmäßig
WriteCache
UndReadCache
(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
UndReadCache
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ürReadCache
, 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");