Welcome to the Microsoft Q&A and thank you for posting your questions here
Possible Reasons for the Behavior
Data Type Conversion: Even though the parameter is defined as a string, there might be a point in your pipeline where the data is being implicitly converted to an integer. This could happen:
- Within the pipeline itself: A function or transformation you're using might be expecting a number and unintentionally converting it.
- In the scheduler: It's less likely, but perhaps there's an odd behavior in how the scheduler interacts with parameters and triggers the pipeline.
Data Flow: If your parameter is used in data flow, the data flow may be causing an implicit conversion of the string to an integer.
Legacy Code or Configuration: Older versions of ADF might have had inconsistencies with how parameter types were handled.
Troubleshooting and Solutions
Inspect Your Pipeline:
- Examine all operations: Trace the data flow from where the parameter is received to where it's used. Check if any of the transformations, functions, or actions might be expecting a number.
- Look for explicit conversions: If you have any explicit code that attempts to convert the parameter to an integer, remove or modify it to preserve its string format.
- Check for implicit conversions: Be cautious of functions that might perform implicit conversions like
toInt()
orparseFloat()
.
Explicit Type Casting:
- Within your pipeline: Before using the parameter in any action or transformation, explicitly cast it to a string using a function like
toString()
orconvertToString()
. - In the scheduler: It's less likely, but you might need to convert the parameter to a string within the scheduler itself if it's handling it improperly.
Test Different Parameter Values:
- Try setting the default value to something that clearly identifies it as a string, like "test" or "-1.0". This might highlight where the issue occurs.
Hope this helps. Do let us know if you any further queries.