The metadata on the reject port will always contain the following four fields:
list[string] errorMessageis a list of error messages (one message in each list element) for the given rejected row.
list[string] errorColumnis a list of technical column names that correspond to error messages from the
errorMessageslist (i.e., the first error message corresponds to the first error column).
list[string] stepis a list of step names for each error message. Each element corresponds to the step that raised the error for the rejected row. The format is always "Step <N>: <type>" where N is the index of the step (1, 2, etc.) and "<type>" is the type of the step (e.g., "Calculate formula", "Validate empty value", etc.).
long sourceRowNumberis the row number of the rejected row as read from the source. Row numbers do not have to be sorted but will be unique - each row number can only appear once since each rejected record carries all errors for the given row.