Logic App Get rows task processes only 512 rows?

3.1k Views Asked by At

Currently I am connecting to Azure SQL DB in my Logic Application and using GetRows Task/Action to retrieve rows from the table. What I have noticed that GetRows task processes only 512 records at a time.

I have to process all the records(records greater than 512) coming from table.Is there a limitation in Logic App for GetRows task?

If anyone can provide me the details that will be really helpful

Looking forward for all your inputs

Thanks Harsh

3

There are 3 best solutions below

0
On

Correct, the Get Rows action would only return up to 512 records. However, note that the response is paged, so if more entries are requested (and available) then the response also includes an @oData.nextLink value.

There is no simple way to follow the next link within logic apps today, so you would need to be a little creative (e.g. use a nested logic app to process all of the items as long as more pages are available)

0
On

You can put the SELECT query in a stored procedure:

CREATE PROCEDURE fooProc AS SELECT * FROM fooTable

And use "execute stored procedure" action in Logic App to get all the rows.

0
On

Update: The maximum rows limits for some of the channels in Logic Apps has increased, for example with the SQL connector you can get up to 2048 rows at at time. Also Logic Apps now has a built in pagination control that works with some of the channels so that you do not need to create tour on logic for retrieving the additional rows and combining the payloads: https://learn.microsoft.com/en-us/azure/logic-apps/logic-apps-exceed-default-page-size-with-pagination