Skip to content

Get Configurations#

The Get Configurations Task allows retrieving configuration entries values.

getconfigurations_parameters

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.

Get Configurations task settings

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;