0
votes

A 3 rd party Scheduler will pick files from my Azure blob storage container.these files are written via Azure logic app - create blob action. But Intermittently when load is high.We can see some 0 KB files first before the whole file is written.Since this scheduler is fast this 0 KB file is picked up before the whole file is committed.

1
May I know the details of the third party scheduler and your "create blob" action ? For example, the schedule pick files from Azure blob storage every day or hour ? And the frequency of your "create blob" create the blob to Azure blob storage ? And the relationship of the third party scheduler and your logic app, one trigger another or independent of each other ? or some other relationship ?Hury Shen
Apparently Scheduler will pick files in some 30 seconds interval.When load is high create blob will create 1 files per second with multiple instances.there is no relationship with third party scheduler it is independent even not sure what the technology they are completely different teamMr.R

1 Answers

0
votes

Per my understanding, there is nothing to do with logic app. The time consumed by create blob is necessary. I think the only way is to adjust the request time of the third party scheduler. Or you can change the running time of your logic app to staggered time with the third party scheduler.

Update:

Here I post a workaround for your reference. If you set the third party scheduler to 10 mins, for example 5:00, 5:10, 5:20, 5:30, 5:40, 5:50. We can get the minutes of current time in logic app and judge if it equals to "10" or "20" or "30" or "40" or "50" or "00". If the result is true, then we can add a "Delay" action to delay the logic for 1 minute and after 1 minute continue create blob. Please refer to the steps below:

  1. Initialize a variable named "time" and set the value with the expression:
formatDateTime(utcNow(),'mm')

enter image description here

  1. Create a "If" condition in logic app and set six conditions in it, the expression in the input boxes on the right should be:
string('00')
string('10')
string('20')
string('30')
string('40')
string('50')

enter image description here

  1. If the result of the condition is "true", we need to create a "Delay" action.(delay 1 minute and then create blob) enter image description here