电子邮件警报Azure表存储

时间:2017-10-02 13:54:06

标签: azure sendgrid azure-table-storage azure-logic-apps

我将传感器数据发送到azure表存储。如果列中的值小于特定值,我想发送电子邮件。

请查看附件图片GPIOPin column

          -If a value in GPIOPin column is less than 7 then an email alert has to be sent.

有人可以指导如何继续吗?我尝试过使用Logic应用程序,但我不了解如何在那里提供条件。

4 个答案:

答案 0 :(得分:0)

逻辑应用程序的主要目的是将各种输入/服务与各种输出连接起来:您可以像发布推文消息一样轻松发送电子邮件。如果这确实是您所需要的,请务必使用逻辑应用程序。

我认为你最好使用azure功能。可以在行更改时自动调用(触发)函数,因此您可以在插入小于7的值时发送邮件。有关详细信息,请参阅https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-table

答案 1 :(得分:0)

AFAIK,Logic Apps暂时不支持Azure表存储触发器。您可以添加反馈here。根据您的方案,您需要选择计划 - 重复连接器,以便从表存储中检索记录并定期处理您的逻辑。由于没有创建/更新操作的触发器,因此您需要添加一个新列(例如状态),指示逻辑应用程序流是否已检查它。这是我的设计师,你可以参考如下:

enter image description here

注意:

  • 对于(Azure表格存储)获取实体操作,您可以根据高级选项将过滤器查询指定为status eq false,以检索之前未检查过的记录

  • 对于条件块,如果单个条件块中有多个规则,则需要在代码视图中使用@and()@or()。以下是反馈,您可以参考here

  • 如果条件块为true,则可以发送电子邮件,在成功发送电子邮件后,您需要使用Azure表存储的合并实体操作来更新当前记录的状态列,如下所示:

    enter image description here

  • 如果条件块为false,则还需要更新表存储的当前记录的状态列。

此外,逻辑应用程序支持在SQL Server中创建项目时的触发器。如果可能,您可以更简单的方式更改数据存储。此外,Azure函数中的表存储没有触发器绑定。您可以利用Azure功能中的timer triggerStorage table bindingsSendGrid bindings来实现您的目的。

答案 2 :(得分:0)

有一个' AzureTableStorage '预览中的连接器,您可以使用它来创建具有条件的自己的工作流程。

enter image description here

答案 3 :(得分:0)

如果您要通过物联网中心将传感器数据发送到表存储,请考虑使用定义了两个输出的Streaming Analytics。一个输出可以是表存储,另一个输出Azure函数,Streaming Analytics用于输入绑定,SendGrid用于输出绑定。 Streaming Analytics作业将选择表存储输出的所有记录,但只有那些符合GPIOIn< 7条件为Azure函数输出。