Я работаю над коллекцией сайтов онлайн-команды sharepoint. и я хочу определить работу, которая выполняется ежедневно для выполнения следующих задач: -
- Интеграция с SharePoint REST API, чтобы получить все элементы в определенном списке, срок исполнения которых = Сегодня.
- отправить электронное письмо в группу sharepoint.
Теперь, когда я работал над такой задачей внутри SharePoint, я использовал следующий подход: -
1- Я создаю консольное приложение .net, которое интегрируется с SharePoint REST API, получаю связанные элементы и, наконец, отправляю электронное письмо, используя .NET WebClient
, что-то вроде следующего: -
//do the checks then send an email to the related group
using (MailMessage myMailMessage = new MailMessage())
{
SPOutboundMailServiceInstance smtpServer = currentsite.WebApplication.OutboundMailServiceInstance;
System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient(smtpServer.Server.Address);
myMailMessage.IsBodyHtml = true;
myMailMessage.Subject = subject;
myMailMessage.Body = body;
smtp.Send(myMailMessage);
//code goes here..
}
2 - разместить консольное приложение на сервере sharepoint.
3 - используя инструмент планировщика задач Windows, я создаю задачу, которая ежедневно выполняет консольное приложение (например, в 01:00).
так что теперь в sharepoint online я не уверен, как я могу разместить свое консольное приложение + как я могу его запланировать? . я уже преобразовал весь свой код в консольном приложении, чтобы использовать модуль на стороне клиента вместо модуля на стороне сервера. но мой вопрос о хостинге и планировании консольного приложения. я читал об этих опциях в основном в Azure: -
- WebJobs
- Функции Azure
но я не уверен, за какой оценкой лучше следовать? и какой из 2 инструментов имитирует метод планирования консольного приложения с помощью планировщика задач Windows ?. сейчас я читаю эту статью https://anthonychu.ca/post/azure-functions-scheduled-executables/ о функциях Azure, но я запутался в том, что делает файл function.jso
? и не уверен, смогу ли я запустить стандартное консольное приложение с помощью этих инструментов? также есть ли пользовательский интерфейс для настройки расписания запуска, как в случае планировщика задач Windows?
Спасибо