文章

使用Azure发送定制电子邮件用于SharePoint Online中的定时任务

58biwei
58biwei <在SharePoint Online中使用Azure功能作为计划任务发送自定义邮件

最近,我们的一个客户希望每天发送一封电子邮件给每一个有过期任务或即将过期任务的用户。这封邮件有一个特定的格式。每一项任务都需要直接联系,并且必须按其截止日期分组。因为它是一个本地项目服务器和SharePoint 2013 farm,所以构建并嵌入解决方案到farm中并不太难。为了解决这个问题,我建立了一个SharePoint定时器作业,它利用SharePoint搜索来检索截止日期在下一个工作日之前的所有任务。一旦部署和激活,这个计时器作业将自动安排在每天早上运行,SharePoint管理员可以手动触发它。一切伟大的工作。

我们的另一个客户正在寻找完全这样的解决方案,除了他们严格在线SharePoint在线/项目。他们没有现场农场,没有真正的服务器甚至谈到。一个选项将是创建PowerShell脚本或.NET可执行文件以运行代码,并将该进程作为某些服务器上的计划任务运行。但是,没有服务器。即使他们做过,如果你仍然陷入脚上(或过程),也是在云中陷入困境的地方?

所以,我转向微软Azure,这就是蔚蓝的函数发挥作用。

Azure函数

Azure函数是在云中运行的程序或代码片段。它们可以在时间表上运行,也可以通过不同类型的事件(HTTP请求,添加到Azure Blob Storage,Excel文件保存到OnedRive等)触发。将此视为可通过现代事件和活动触发的Windows计划任务。

可以在Azure Portal中创建和编辑程序或代码片段,使Azure函数轻松启动和运行。Azure函数支持的语言绰绰有余:PowerShell,C#,JavaScript,F#,Python,PHP,Bash和BASH。

请注意,我也可以使用Azure WebJobs来实现这一目标,但我觉得Azure函数有很多积极态度。Azure函数对于客户端很容易维护,它具有自动缩放,它们仅支付代码执行的时间,它支持Webhooks,可以通过HTTP请求轻松触发。

从SharePoint Online发送自定义电子邮件

对于这个解决方案,我在Visual Studio中用SharePoint在线客户端对象模型(CSOM) dll预先编译了Azure函数。解决方案很简单,因为它将使用CSOM查询SharePoint在线搜索服务的所有逾期任务和在下一个工作日内到期的任务。然后,它将根据分配的用户执行一些逻辑来构建电子邮件内容,然后使用SendGrid发送电子邮件。SendGrid内置在微软Azure中,所以配置它是轻而易举的事,而且你每个月可以收到25,000封免费电子邮件!

部署之后,我将Azure功能配置为按计划运行(像之前一样),它甚至可以由HTTP请求触发,所以将HTTP请求放入SharePoint站点工作流或Microsoft流中意味着任何站点用户都可以根据需要触发此功能。

在数据中心中展示的集成服务器的日期,等待获得更多流程的日子,以帮助他们使用更多的过度分配资源。大多数服务器,虚拟机现在,现在都专用于特定应用程序,不应使用一次性进程共享其资源。

Azure Functions是解决这些问题的一个很好的无服务器架构解决方案。无论您需要发送邮件,计算指标,或分析大数据,Azure功能都可以为您提供解决方案。学到更多关于blumshap必威电子iro如何帮助你的组织解决这些问题。

继续与我们的团队进行对话
请与我们联系。

联系我们