0
votes

I'm migrating extensive SharePoint application to Azure and I'm looking for a recommendation in terms of replacing Timer Jobs with some Azure service. Which one would be most suitable? Azure Functions, Azure Logic Apps? The timer job needs to connect to a web service and make some GET / POST calls. Maybe sending e-mails.

What would you recommend? Any pros / cons?

Thanks, George

1
Can you provide more detail about the calls and subsequent logic/processing? Logic Apps will probably suit your use case (they have an HTTP connector and various Email connectors), but it's hard to say definitively without more information.ChiefMcFrank
I don't want to go into deep level of details, but the timer job makes initial call to the web service (which will be Web API hosted in Azure too), getting some configuration data. Then based on this data, subsequent calls will be made to cleanup old logs, fix the data which is invalid etc.We already have some C# code which makes some calls to the web service, that would be great if we can reuse it.George Rosword

1 Answers

0
votes

With that additional context, but without a full understanding of the logic you need to implement around the calls, I'd suggest you look into a combination of a Logic App and a Function. The Logic App will make the time trigger and any email jobs more configurable, but the Function will give you more control of your web requests and logic, especially if those are more complex than simply making a request and ensuring it succeeded.

Set up the Logic App on a time trigger, and use it to orchestrate the Function and any email jobs. You can use the Logic App HTTP connector to trigger an HTTP-based Function, or you can look at the Function App connector.

For the Function, write it in C# and reuse your code there. Add any other calls and handling logic you require, then return a response for the Logic App to consume.

Add Control and Email (there are several of these for different email providers) connectors to the Logic App to send out relevant emails per the Function app result.