Delta Hashing
Input
✳️ Any (JSON
)
Required: Array of Objects (Dataset)
Ouptut
✳️ Any (JSON
) (Passthrough)
Filtered Dataset of Changes (array
)
Summary
Delta Hashing takes a “tabular” dataset (an array of columns where each object has the same columns), and for each row, determines if the data has changed since the previous workflow run. Only changed rows are included in the output.
How It Works
An MD5 hash of the record is taken and cached. It is identified by the “Key Column”, which must be a unique value.
On the first run, all records will be included in the output since there are no stored hashes for those records.
On subsequent runs, if the MD5 hash does not match the previous run, that record is included in the output.
What Is Stored
Only the key column is stored in plaintext in our datacenter. The other columns/values in the dataset are not stored.
For example:
Input Object
{
"id": "12345",
"firstName": "Joe",
"lastName": "Smith",
"dob": "2001-03-07"
}
Delta Hash Configuration
Key Column Name:
id
Stored Data
{
"id": "12345",
"hash": "DC2F3BC7459B8B3B37FD2F64C16FCFA6"
}
Properties
Name | Type | Templatable | Notes |
---|---|---|---|
Key Column Property Name | Text | Enter the name of the column (the property name) that should be used as the “primary key” for hashing. The data in this field must be unique. Tip: Use iMIS ID, sequence values, or GUIDs for this field. | |
Input Array | Array | Enter an array expression that points to the dataset that should be hashed for changes. For example, if you previously ran an IQA action and stored the results in the property myIqaData, then in this field, you would enter:
ADA
| |
🅾️ Output Property | Text | Specify the name of the property to store the CSV data in. |