Azure sql database 当满足特定条件时,如何从azure sql发送电子邮件
我有一个azure sql数据库,其中存储了一些有关计划任务的用户信息。我需要允许用户在事件开始前30分钟收到通知,我无法在应用程序中自行执行此操作,因为该应用程序是windows窗体应用程序。我检查了一些使用逻辑应用程序的解决方案,但它只允许在添加或更新新记录时发送 但是我需要检查一下日程的当前时间和开始时间,如果相差不到30分钟,我会发送电子邮件 我的数据库如下Azure sql database 当满足特定条件时,如何从azure sql发送电子邮件,azure-sql-database,sendgrid,email,Azure Sql Database,Sendgrid,Email,我有一个azure sql数据库,其中存储了一些有关计划任务的用户信息。我需要允许用户在事件开始前30分钟收到通知,我无法在应用程序中自行执行此操作,因为该应用程序是windows窗体应用程序。我检查了一些使用逻辑应用程序的解决方案,但它只允许在添加或更新新记录时发送 但是我需要检查一下日程的当前时间和开始时间,如果相差不到30分钟,我会发送电子邮件 我的数据库如下 Name = John doe Email = johndoe@gmail.com Startdate = 09/12/2019
Name = John doe
Email = johndoe@gmail.com
Startdate = 09/12/2019 12:45 AM
Enddate = 09/12/2019 1:45 AM
如何实现这一点?我的建议首先,您必须创建一个包含所有电子邮件字段的表(使用标识作为主键,并命名为EmailDetails)。然后创建一个逻辑应用程序,在插入到该表时触发。然后,您可以连接SendGrid模块发送电子邮件,如本文所示
使用Azure Automation(如图所示)每1小时运行一次存储过程,当计划任务即将启动时,它会在EmailDetails表中插入一条新记录。Azure Automation是这里的最佳选项,但是您可以简单地在自动化运行手册中包含逻辑,以检查当前时间和计划的开始时间,并从那里触发电子邮件 缺点是单一计划每小时只能运行一次。Azure Automation中的计划可以配置的最频繁间隔为一小时。如果您需要更频繁地执行计划,则有两个选项:
您可以使用具有相同DB连接的小型Winforms应用程序或控制台应用程序单独发送邮件,它将定期检查
StartTime
和CurrentTime
。您可以在任务计划程序中托管此应用程序,因此如果条件满足,应用程序将运行,否则将终止。