[Azure Data Factory] cannot be evaluated because property 'RuntimeStatus' Cannot be selected. Property selection is not supported on values of type 'String'.

Abarquez, Daniel 0 Reputation points
2025-05-14T00:55:24.19+00:00

I have an error in running my Azure Data factory which saids here "cannot be evaluated because property 'RuntimeStatus' Cannot be selected. Property selection is not supported on values of type 'String'.", this pipeline didn't occur this year since I've deploy it last year until this today which the error occurred.

Azure Data Factory
Azure Data Factory
An Azure service for ingesting, preparing, and transforming data at scale.
11,639 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Smaran Thoomu 24,260 Reputation points Microsoft External Staff Moderator
    2025-05-14T08:44:37.46+00:00

    Hi @Abarquez, Daniel
    Thanks for reporting the issue you're encountering with your Azure Data Factory pipeline.

    "Property 'RuntimeStatus' cannot be selected. Property selection is not supported on values of type 'String"

    This error indicates that your expression is trying to access a property (RuntimeStatus) on a value that is a plain string, not a complex object as expected.

    This typically occurs when you use a dynamic expression like:

    or(equals(activity('WaitCheckCSVDetail').output.output.RuntimeStatus, 'Failed'), ...)
    

    In this case:

    • activity('WaitCheckCSVDetail').output.output is already a string (not a JSON object), so ADF cannot evaluate .RuntimeStatus on it.

    How to Fix

    You need to adjust your expression to reflect the actual structure of the output.

    Step 1: Inspect the Output

    • In the Output tab of the 'WaitCheckCSVDetail' activity, look at the structure of output.
    • It’s likely already a string or contains a flat structure.

    Step 2: Update the Expression

    If the output is just a string like "Failed", you should simplify the expression:

    equals(activity('WaitCheckCSVDetail').output, 'Failed')
    

    Or, if it's nested like:

    or(
      equals(activity('WaitCheckCSVDetail').output.RuntimeStatus, 'Failed'),
      greater(activity('WaitCheckCSVDetail').output.ErrorCount, 0)
    )
    

    Make sure you're not repeating .output.output unnecessarily.

    Azure may have changed how outputs are handled internally, or your source activity now returns a string instead of an object. This is why it’s good to revalidate the output format especially after time gaps or backend updates.

    Let us know how it goes, and feel free to share the output structure if you’d like help refining the expression.

    If this resolves your issue, please click Accept Answer to help others who may have similar questions.


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.