满足特定条件时如何从Azure SQL发送电子邮件

问题描述 投票:0回答:2

我有一个蔚蓝的sql数据库,我在其中存储一些有关计划任务的用户信息。我需要允许用户在事件开始前30分钟收到通知,我无法在应用程序本身中执行此操作,因为该应用程序是Windows窗体应用程序。我检查了一些使用逻辑应用程序的解决方案,但仅在添加或更新新记录时才发送。

但是我需要检查时间表的当前时间和开始时间,如果相差少于30分钟,请发送电子邮件

我的数据库如下

Name = John doe
Email = [email protected] 
Startdate = 09/12/2019 12:45 AM
Enddate = 09/12/2019 1:45 AM

我该如何实现?

azure-sql-database sendgrid email-integration
2个回答
0
投票

首先,我的建议您必须创建一个包含所有电子邮件字段的表(以身份作为主键,并将其命名为EmailDetails)。然后创建一个逻辑应用程序,该应用程序在对该表的插入上触发。然后,您可以连接SendGrid模块以发送电子邮件,如this文章中所示。

[使用Azure自动化每30分钟运行一个存储过程(如图here所示,当计划的任务开始时,该操作会在EmailDetails表上插入一条新记录。


0
投票

Azure Automation在这里是最好的选择,但是您可以在Automation Runbook中简单地包含逻辑以检查当前时间和计划的开始时间并从那里触发电子邮件。

缺点是,单个时间表只能每小时运行一次。可以在Azure自动化中配置计划的最频繁间隔是一小时。如果您需要时间表执行得更频繁,则有两个选项:

  1. 为运行手册创建webhook,然后使用Azure Scheduler调用webhook。 Azure Scheduler在以下情况下提供更细粒度定义时间表。
  2. 创建四个时间表,彼此之间的间隔均为15分钟每小时运行一次。这种情况允许运行手册运行每15分钟使用不同的时间表。
© www.soinside.com 2019 - 2024. All rights reserved.