Get Configurations#
The Get Configurations Task allows retrieving configuration entries values.
Details#
| Fields | Details |
|---|---|
| Scope | Connect IoT Data Platform Enterprise Integration Factory Automation |
| Workflow | Data flow Control flow |
IsProtocol flag |
Inputs#
| Name | Data Type | Description |
|---|---|---|
| Activate | any | Activates the task |
Outputs#
| Name | Data Type | Description |
|---|---|---|
| Success | Boolean | Triggered when the task is executed with success |
| Error | Error | Triggered when the task failed for some reason |
Settings#
On the General Tab, there are the following settings:
| Name | Data Type | Default | Description |
|---|---|---|---|
| Rule for Secure Strings | Rule | Selected rule for decrypting SecureString Configs | |
| Number of Retries | Integer | 30 | Number of retries until a good answer is received from System |
| Sleep Time Between Retries: (ms) | Integer | 1000 | Number of milliseconds to wait between retries. It only applies when the previous call fails. |
| Reset inputs on activate | Boolean | true | Resets the inputs after being triggered |
And the following retries settings:
| Setting | Data Type | Default | Description |
|---|---|---|---|
| Number of Retries | integer | 30 | The maximum number of attempts the IoT process (client) makes to call the MES backend if the connection or execution fails. |
| Sleep Time between retries (ms) | integer | 1000 | Number of milliseconds to wait between retries. It only applies when the previous call fails |
| Number of System Retries | integer | 10 | The maximum number of attempts the MES backend makes to call the target service if the execution fails. |
Multiplicative Retry Effect
Retry limits are cumulative. In the event of a persistent target service failure, the total number of requests generated will be the product of the Client Retries (N) and the Backend Retries (M). For example, if both are set to 10, a single IoT request could result in up to 100 total attempts (N x M), which may lead to system congestion or high latency.
Behavior#
Set an output for each configuration entry to retrieve using the field fullPath to reference it. It is possible to define tokens in the path to be replaced by input values. The name of the input should match the name of the token. As an example:
- fullPath:
/Cmf/System/Configuration/FactoryAutomation/OIB/${line}/LinesToHandle
Note
An input with name "line" would replace the token ${line} in the path before retrieving the config.
Note
For deciphering configs of type SecureString it's necessary to provide a Rule/DeeAction. You can see an example of one such DEE below:
UseReference("System.Data.dll", "System.Data");
UseReference("%MicrosoftNetPath%System.Xml.dll", "");
UseReference("", "System.Threading");
UseReference("", "Cmf.Foundation.Common");
UseReference("Cmf.Navigo.BusinessObjects.dll", "Cmf.Navigo.BusinessObjects");
var output = new Dictionary<string, object>();
foreach (var (configName, configObject) in Input)
{
if (configObject is IConfig config && config.ValueType == "System.Security.SecureString")
{
var decryptedValue = config.GetDecryptedConfigValue();
output.Add(configName, decryptedValue);
}
}
return output;

