Azure Data Factory / Synapse: paging method for copy activity and data flow source work diffrently

Paul Hernandez 691 Reputation points Microsoft Employee
2022-02-11T15:34:48.583+00:00

Hi everyone,

me again fighting with the REST sources in synapse.

I finally discovered how paging methods work in a copy activity. This is the projection of the payload coming from the graph api:

173636-image.png

If more than 100 records in the value collection are returned, then a @.odata.nextLink attribute is included with the value of the next page.

Then I just used:
173536-image.png

And this is working properly returning in total 128 records.

If I try to do the same in a data flow with a source using a REST dataset is not working and only 100 records are returned:

173605-image.png

I also tried with different combinations like

$.@odata.nextLink  

Or setting the value dropdown to None, changing the Document form, etc. with the same result.

Any help will be appreciated.

Best regards,
Paul

Azure Synapse Analytics
Azure Synapse Analytics
An Azure analytics service that brings together data integration, enterprise data warehousing, and big data analytics. Previously known as Azure SQL Data Warehouse.
Azure Data Factory
Azure Data Factory
An Azure service for ingesting, preparing, and transforming data at scale.
0 comments No comments
{count} votes

Answer accepted by question author
  1. MartinJaffer-MSFT 26,161 Reputation points
    2022-02-14T21:11:34.99+00:00

    Hello @Paul Hernandez and welcome back. Our expert just responded to an extremely similar question at:
    https://learn.microsoft.com/en-us/answers/questions/732455/index.html

    We have to update the REST API docs for this, which we are working on currently.

    Basically, the rules in Copy can support both "." and [''], e.g., AbsoluteUrl: $.{@odata.nextLink} and AbsoluteUrl: $['@odata.nextLink']

    However, rules in dataflow only support "." for json path. e.g., AbsoluteUrl: $.{@odata.nextLink}

    1 person found this answer helpful.
    0 comments No comments

2 additional answers

Sort by: Most helpful
  1. Paul Hernandez 691 Reputation points Microsoft Employee
    2022-02-14T13:44:27.477+00:00

    Hi everyone,

    this is not a complete answer but I least I can tell you how I solved it.

    I think the major problem here is the "@" sign and the "." in the attribute name:

    @odata.nextLine  
    

    So in order to make the dataflow source work I used this notation:

    174088-image.png

    Please note I have selected "None" and then entered:

    body.{@odata.nextLinkl}  
    

    That should be equivalent to this:

    174119-image.png

    And also to this:

    174106-image.png

    but it is NOT!

    JSONPath supports both dot and brackets notation but the UI is failing when you have special characters in an attribute name. At least those are my findings at the moment.

    I hope that helps someone.

    Best regards,
    Paul

    2 people found this answer helpful.

  2. Lolas-4729 10 Reputation points
    2025-03-24T17:11:41.83+00:00

    @ Paul Hernandez
    You're Certified OG for this.

    Thank you.

    0 comments No comments

Your answer

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