Reputation: 734
I have a Storage Account which is observed by an Event Grid. Every time there's a new blob, Event Grid sends a message to the Service Bus Topic. Its Subscription is triggering a Logic App.
In the Logic App, I am loading the file from the Storage Account using the Azure Blob Storage connector. Most of the time, this works well. I got a 200 status back together with the file content.
However, sometimes (3 runs from around 600), the connector returns 200 but has no content. The Action is marked as successful, and no error is shown. Just the content is not provided.
I was checking the Storage Account, and the file is there. Also, when I resubmit this run, the connector returns the file without problems, and the run completes successfully. By the way, if the issue would be that the file is missing in the Storage Account because someone has deleted it, for example, the connector would return 404, which is something I would expect. (But this is not the case anyway, as the file exists)
Do you have any idea where might be the issue?
Upvotes: 0
Views: 352
Reputation: 11243
Service Bus Topic. Its Subscription is triggering a Logic App.
Firstly, you dont need an servicebus to trigger logic app when new blob comes into storage account you can directly use this trigger When a resource event occurs
.
replace(triggerBody().data.url,'https://storageAccuntName.blob.core.windows.net','')
AFAIK, for me this is a good technique in my experience dealing with this trigger as I get the content every single time.
Output:
Even after using this trigger, if you still face any issue, I would suggest you to make use of the idea of @skin that retry it like below:
Here I used Delay, you can delay upto 10 seconds, 1 minute 40 seconds your wish as below:
In code you need to add runAfter Failed after Compose action(i.e in Delay Action) :
So, delay only works if compose is failed.
In this way, you can solve your issue, If the issue still persists, I would suggest you to raise a support request in Azure Portal.
Upvotes: 0