transformations:sharedmemory
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
transformations:sharedmemory [2021/09/03 18:22] – [Key-value storage] dmitry | transformations:sharedmemory [2021/10/17 16:37] – craigt | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | {{ transformations: | ||
| | ||
Category: Workflow / Internal | Category: Workflow / Internal | ||
Line 4: | Line 5: | ||
\\ | \\ | ||
=====Description===== | =====Description===== | ||
- | This action can perform the following operations with the shared memory (more on it below): | + | This action can perform the following operations with the shared memory (details |
* Remember a value by a key | * Remember a value by a key | ||
- | * Forget a value and the key associated | + | * Forget a value and its associated |
* Recall a value by key | * Recall a value by key | ||
* List keys and values | * List keys and values | ||
Line 19: | Line 20: | ||
| CustomerDB\Last reload date | 2021-09-03 | | CustomerDB\Last reload date | 2021-09-03 | ||
- | To obtain a value, one should know the key. Keys and values can be added and removed on demand with the help of the "Shared memory" | + | To obtain a value, one should know the key. Keys and values can be added and removed on demand with the help of the //Shared memory// action. The shared memory is stored in a centralized repository. Therefore any EasyMorph workflow can read (recall) and write (remember) keys and values in the shared memory at any moment as long as it has access to the repository. |
+ | \\ | ||
=====Use cases===== | =====Use cases===== | ||
The shared memory can be convenient in many cases: | The shared memory can be convenient in many cases: | ||
- | * Store temporary values | + | |
- | * Pass values between workflows and users - Similarly | + | |
- | * Environment configuration | + | |
- | * Workflow variable | + | |
- | * Lightweight data store - Sometimes, using a relational database to store and share just a few values | + | |
+ | |||
+ | \\ | ||
+ | =====Action settings===== | ||
+ | ^Setting^Description^ | ||
+ | |Command|Select the operation to perform on the shared memory repository. | ||
+ | |||
+ | \\ | ||
+ | ====Remember settings==== | ||
+ | Description: | ||
+ | ^Setting^Description^ | ||
+ | |Key< | ||
+ | |Pick|This button opens a window used to navigate through the current key structure.| | ||
+ | |Value< | ||
+ | |If key already exists|Select how EasyMorph handles situations when the provided key already exists. | ||
+ | < | ||
+ | |||
+ | \\ | ||
+ | ====Recall settings==== | ||
+ | Description: | ||
+ | ^Setting^Description^ | ||
+ | |Key< | ||
+ | |Pick|This button opens a window used to navigate through the current key structure.| | ||
+ | |Column name|Choose how the column in the action' | ||
+ | |Append column|When // | ||
+ | < | ||
+ | |||
+ | \\ | ||
+ | ====Forget settings==== | ||
+ | Description: | ||
+ | ^Setting^Description^ | ||
+ | |Key< | ||
+ | |Pick|This button opens a window used to navigate through the current key structure.| | ||
+ | |If the key doesn' | ||
+ | < | ||
+ | |||
+ | \\ | ||
+ | ====List settings==== | ||
+ | Description: | ||
+ | ^Setting^Description^ | ||
+ | |Keys start with< | ||
+ | |Pick|This button opens a window used to navigate through the current key structure.| | ||
+ | < | ||
+ | |||
+ | **For example: | ||
+ | Keys start with " | ||
+ | |||
+ | ^Key^Value^ | ||
+ | |mykeys\key1| | ||
+ | |||
+ | Keys start with " | ||
+ | |||
+ | ^Key^Value^ | ||
+ | |mykeys\key1| | ||
+ | |mykeys\key2| | ||
+ | |mykeys\key3| | ||
\\ | \\ | ||
=====Remarks===== | =====Remarks===== | ||
- | It is recommended to use the backslash (\) to create nested keys. | + | ====Using shared memory==== |
+ | * Use a backslash (\) to create nested keys. | ||
+ | |||
+ | * Values are remembered in the shared memory and recalled in native [[syntax: | ||
+ | |||
+ | * You can store large text objects, such as JSON, in the shared memory. | ||
+ | |||
+ | * All stored data is encrypted and cannot be accessed from outside of EasyMorph. | ||
+ | |||
+ | ====Accessing shared memory==== | ||
+ | * The same access restrictions as for data [[: | ||
+ | |||
+ | * The shared memory supports simultaneous operations from different computers as long as they can access the same repository. | ||
+ | |||
+ | * Depending on repository location, network performance, | ||
+ | |||
+ | \\ | ||
+ | =====Examples===== | ||
+ | Below is a sample process for manipulating the shared memory. | ||
+ | |||
+ | **Store values: | ||
+ | > Command: | ||
+ | > Key: mykeys\key1 | ||
+ | > Value: | ||
- | The same access restrictions as for data connectors apply. | + | > Command: |
+ | > Key: mykeys\key2 | ||
+ | > Value: | ||
- | The shared memory supports simultaneous operations from different computers as long as they can access the same repository. | + | \\ |
+ | **List keys-values: | ||
+ | > Command: | ||
+ | > Keys start with: mykeys | ||
+ | > Show last changed time is checked. | ||
- | Values are remembered in the shared memory and recalled in native [[syntax: | + | ^Key^Value^Last changed^Changed |
+ | |mykeys\key1|100|17-Oct-2021|UserName | ||
+ | |mykeys\key2|200|17-Oct-2021|UserName | ||
- | You can store large text objects, such as JSON in the shared memory. | + | \\ |
+ | **Retrieve a value: | ||
+ | > Command: | ||
+ | > Key: mykeys\key1 | ||
+ | > Column name: Last subkey | ||
- | All stored data is encrypted and can't be accessed from outside of EasyMorph. | + | ^key1^ |
+ | |100| | ||
- | Depending on repository location, network performance, | + | \\ |
+ | **Clear a key-value pair:**\\ | ||
+ | > Command: | ||
+ | > Key: mykeys\key1 |
transformations/sharedmemory.txt · Last modified: 2023/10/13 23:08 by craigt