Decoder(4.3)
The Decoder agent converts raw data to internal UDRs, based on information from a UFDL decoder definition or one of the built-in formats; MZ Tagged, JSON, or CSV.
This is a processing agent for Batch workflow configurations.
The Decoder agent's configuration contains the following settings:
Setting | Description |
---|---|
Decoder | List of available decoders created in the Ultra Format Editor, as well as the default built-in decoders:
Different settings will be displayed depending on which decoder you select. |
On Error | This setting controls how the workflow should react to decoding errors.
|
Full Decode | This option is only available when you have selected a decoder created in a Ultra Format Configuration(4.1). If you have selected this option, the UDR will be fully decoded before being sent out from the decoder agent. This option may have a negative impact on performance, since not all fields may be accessed in the workflow, making decoding of all fields in the UDR unnecessary. If it is important that all decoding errors are detected, you must select this option. If you have not selected this option, the amount of work needed for decoding is minimized using "lazy" decoding of field content. This means that the actual decoding work might not be done until later in the workflow, when the field values are accessed for the first time. In this case, corrupt data (that is, data for which decoding fails) might not be detected during the decoding stage, but can cause a workflow to abort at a later processing stage. |
MZ Tagged Specific Settings | |
Tagged UDR type | Select any of the available internal UDR formats stored in the Ultra and Code servers that you want the Decoder to send out. |
JSON Specific Settings | |
UDR Type | Select the UDR type you want the Decoder to send out. You can either select one of the predefined UDRs or the |
Unmapped Fields | If you have selected the |
Schema Path | Enter the path to the JSON schema you want to use in this field. |
CSV Specific Settings | |
UDR Type | Select the UDR type you want the Decoder to send out. You can either select one of the predefined UDRs or the |
Format | Select the CSV format you want to use; Unix, Mac, Windows, or Excel, or select to define your own customized format. If you select Custom, the following four settings will be enabled. |
Delimiter | Enter the delimiter character(s) for the fields in the CSV. |
Use Quote | Select this option if quotes are used in the CSV. |
Quote | If Use Quote is selected, enter the type of quotes used in the CSV. |
LIne Break | Enter how line breaks are stated in the CSV. |
Avro Specific Settings | |
Schema Registry URL | Url to a schema registry used for obtaining an Avro schema for decoding. Format: Example: "http://localhost:8081/schemas/ids" Note! It is possible to use a proxy to contact a schema registry. See HTTP Proxy Support for information |
Schema Field | Field in JSON formatted schema registry response containing the schema. |
Note!
The use and settings of private threads for an agent, enabling multi-threading within a workflow, are configured in the Thread Buffer tab that is available in batch processing and batch forwarding agents.
Input/Output Data
Input Data
bytearrays or UDR
Output Data
Selected predefined UDRs.
Transaction Behavior
The transaction behavior describes what commands the Decoder agent emits and retrieves that will alter the state of the file that is being processed.
Emits
The Decoder agent emits the following commands:
Command | Description |
Cancel Batch | This command is emitted when the Decoder agent fails to decode the received data. |
Retrieves
The Decoder agent retrieves the following commands from other agents:
Command | Description |
End Batch | Unless this has been generated by a Hint End Batch message, the Decoder agent evaluates that all the data in the batch was decoded. When using a constructed or blocked decoder, the decoder does additional validation of the structural integrity of the batch. |
Debug Events
The Decoder agent produces the following debug events:
Splitting batch
Emitted when the Hint End Batch event occurs.