使用Azure和.Net在事件发生后、5天后和15天后发送邮件通知

ljsrvy3e  于 2023-03-09  发布在  .NET
关注(0)|答案(1)|浏览(103)

本人有以下要求:
1.事件发生后(在.Net端),我们需要立即触发邮件通知,5天后和15天后。
1.这些天数将仅根据工作日(周一至周五)计算。
1.我认为这是不可能的使用时间触发Azure功能的触发时间将是不同的每个事件。我认为这可以实现使用Azure逻辑应用程序。
对于发送邮件,我们可以在.net端有逻辑。但是我是逻辑应用的新手。请建议我应该在逻辑应用中使用什么样的触发器,或者有没有其他更好的方法来实现这一点。

u7up0aaq

u7up0aaq1#

我同意@juunas的观点,有几种方法可以实现这一点,如Azure Logic应用程序、函数、监视器警报。Azure Logic应用程序:

1.  After an event is occurred(In .Net side), we need to trigger mail notification immediately, after 5 days and after 15 days.

在逻辑应用程序中,如果你想在上面的场景中发生邮件通知,你可以尝试下面的逻辑应用程序工作流。x1c 0d1x

  • 最初我采用了http请求触发器,您也可以根据自己的要求采用任何基于事件的触发器。

  • 然后采取发送电子邮件操作,以便在触发器激发后立即发送通知。

  • 然后,在立即触发后,如果您希望下一次触发延迟5天发送通知,则可以通过将计数5和单位设为天来执行延迟操作,如下所示。
    延迟:等待指定的时间单位数(如秒、分钟、小时、天、周或月)后,再运行下一个操作。

  • 然后在5天延迟后再次采取发送电子邮件操作发送通知,然后再采取一个延迟操作再延迟15天,然后在15天后,最终电子邮件通知将通过采取另一个发送电子邮件操作发送,如下图所示。

  • 逻辑应用程序运行成功,立即收到一封邮件通知,下一封邮件通知将在完成5天延迟操作后收到,如下图中的延迟操作所示。

These days will be calculated based on workdays only(Mon-Fri).

但是,如果您希望基于workdays条件运行它,则可以**Calculate working days in Power Automate or Logic Apps**,也可以使用具有所需间隔和频率的重复触发器。

Azure功能:

在Azure Functions中,您可以通过使用@Juunas在注解中提到的Timer Trigger来实现这一点
1.在Azure门户中,创建新的Azure函数应用。
1.从左侧菜单中选择“功能”后,单击“+新功能”,向应用程序添加新功能。
1.选择“定时器触发”作为功能类型,然后输入您希望功能运行的时间(例如,每天午夜)。
1.在代码编辑器中包含代码以检索有关已发生事件的信息。
1.事件发生后,立即使用SendGrid API发送电子邮件通知。
1.若要在等待五天后发送第二封电子邮件通知,请使用Thread.Sleep()方法。
1.使用Thread.Sleep()重复步骤7,再等待10天(总共15天),然后发送最终邮件upadte。


引用SO链接以计算c#中两个日期之间的工作日数

Azure监视器警报:

通过Azure和.NET,你可以利用Azure Monitor alerts在事件发生5天和15天后发送邮件通知。在Azure门户中,首先创建一个新的警报规则。然后,将通知频率设置为每5天和每15天一次,并使用.Net代码将警报设置为在事件发生时启动。

相关问题