Cleanse Container properties
Learn about the properties that you use to define a Cleanse Container and its steps in your cleanse configuration.
To configure Cleanse Containers and each of their steps you need to configure a set of properties. These properties control which cleanse functions run, in what order, and under which conditions. To learn how Cleanse Container works, see Cleanse Container.
Cleanse Container function properties
You add Cleanse Container to the chain section of cleanseConfig, like any other cleanse function. The following table describes the properties of the Cleanse Container function.
| Property | Description |
|---|---|
cleanseFunction | The name of the cleanse function. Set it to CleanseContainer. |
resultingValuesSourceTypeUri | The source type of the single cleanser crosswalk that Cleanse Container creates or updates. You choose this source type. |
mapping | The input and output mapping for the container. For more information, see Configuring cleanse function mapping. |
steps | The ordered list of steps. Cleanse Container runs the steps in the order listed. |
The following table describes the properties of each step in steps.
| Property | Description |
|---|---|
function | The name of the cleanse function that the step runs. |
params | Additional parameters for the cleanse function. |
inputs | The attributes that the step reads from the in-memory values. |
output | The attribute where the step stores its result in the in-memory values. |
filter | An optional expression that controls whether the step runs. The expression is evaluated against the current in-memory values. If it evaluates to false, the step is skipped. If you don't define a filter, the step always runs. For more information about filters, see Configure filter expressions for cleanse function. |
Example of a Cleanse Container configuration
The following example defines a Cleanse Container that trims address values, builds AddressLine1 from PremiseNumber and Street if AddressLine1 is empty, falls back to AddressLine2 if both are missing, and then verifies the address. Reltio saves the combined result in a single write. The mapping details are omitted.
{
"cleanseFunction": "CleanseContainer",
"resultingValuesSourceTypeUri": "configuration/sources/ReltioCleanser",
"mapping": { ... },
"steps": [
{
"function": "StringFunctionCleanser",
"params": { "trim": true },
"inputs": ["Organization", "AddressLine1", "AddressLine2", "City", "State", "Country", "PostalCode"]
},
{
"function": "PatternBasedFieldBuilder",
"params": { "pattern": "{PremiseNumber}, {Street}" },
"inputs": ["PremiseNumber", "Street"],
"output": "AddressLine1",
"filter": "AddressLine1 == null"
},
{
"function": "PatternBasedFieldBuilder",
"params": { "pattern": "{AddressLine2}" },
"inputs": ["AddressLine1", "AddressLine2"],
"output": "AddressLine1",
"filter": "missing(AddressLine1) AND exists(AddressLine2)"
},
{
"function": "Loqate",
"inputs": ["Organization", "AddressLine1", "AddressLine2", "City", "State", "Country", "PostalCode"]
}
]
}