尝试使用SQL Connector

时间:2015-10-06 07:53:48

标签: azure-sql-database azure-logic-apps

我正在尝试创建一个简单的逻辑应用程序

  • 我想添加一个SQL连接器......所以我将连接信息提供给与我的测试逻辑应用程序位于同一区域的Azure SQL数据库。它消失了至少3分钟后回来说没有连接。所以我可能输错了.....但我找不到办法解决我打字的问题。无法再编辑连接属性。我唯一能做的就是从资源组中删除连接器,然后再试一次。
  • 然而,删除连接器并不是一项简单的任务....当我从资源组中选择连接器....我一直收到错误,如'无法找到扩展名'Microsoft_Azure_Microservices',有时'错误加载磁贴' 。无论如何,我必须尝试至少5-6次,它终于奏效了。我删除了连接器并重新开始。
  • 第二次尝试,我能够创建一个连接器...但我一定不能提供一个轮询查询...所以它说没有触发器动作,我不得不重新执行上述步骤。
  • 第三次尝试......我能够创建一个带有触发器的SQL连接器(通过提供可用数据和轮询查询)并添加了Office 365连接器。我跑了.....我期待只收到3封电子邮件,但我收到了大约150封......然后我不得不禁用它!所以我想检查查询(数据可用和轮询)以确保我正确编码更新语句...但是再次......没有办法做到这一点。如果我去资源管理器,选择连接器并尝试进入设置,我得到上述错误....非常令人沮丧。
你能告诉我一些我做错的事吗?

1 个答案:

答案 0 :(得分:2)

感谢发帖。了解您对陷入困境的挫败感。

要在部署后编辑该设置,请转到Azure浏览 - > API应用程序 - > Microsoft SQL连接器 - >点击" host"下的链接或者" API App Host" - >设置 - >应用程序设置

在该刀片中途,您应该会看到API App的所有配置设置。

至于为什么你的应用程序无限循环,SQL Connector轮询查询要求你回写一些值(或删除行),以便行不会出现两次。换句话说,您需要以API App知道它是否已经读过该行的方式编写查询。示例轮询查询

SELECT *, GetData() as 'PollTime' FROM [Order]
WHERE OrderStatus = 'ProcessedForCollection'
ORDER BY Id DESC;
UPDATE [Order] SET OrderStatus = 'ProcessedForFrontDesk'
    WHERE Id =
    (SELECT Id FROM [Order] WHERE OrderStatus = 'ProcessedForCollection' ORDER BY Id DESC)

返回可用性查询

SELECT COUNT(*) FROM [Order] WHERE OrderStatus = 'ProcessedForCollection'

希望这是有道理的。如果您有任何其他问题,请与我们联系。