gpt4 book ai didi

azure - 在 SQL 连接器中使用存储过程?

转载 作者:行者123 更新时间:2023-12-03 03:12:02 24 4
gpt4 key购买 nike

业务问题:每天一次,我们希望从数据库中读取多行(具有特定条件),迭代这些行并向该行中的电子邮件发送一封电子邮件,然后更新该行,说明该电子邮件已发送(以防止每天或一天多次向该人发送电子邮件)。

我们所有的数据库、服务器、wep应用程序等都使用windows azure。鉴于我们有应用服务,我们开始以创建逻辑应用的想法来研究这个问题。

Simple Logic App Flow: Recurrence(once a day) => SqlConnector(StoredProcedure or select statement) => Foreach row (emailapi(row.email) => SqlConnector(Update row))

并发症:

逻辑应用需要从我们的 SQL 数据库之一读取。因此,我们通过创建一个 sql 连接器来解决这个问题,从该连接器我们可以公开存储过程、表等。sql 连接器的主要问题是我们要调用的存储过程只是根据其中涉及 sql 函数,并且 sql 连接器无法生成逻辑应用读取 select 语句返回的行所需的元数据。 sql 连接器只能为输出参数或返回值生成元数据,我们无法通过两者返回多行。

下一个想法和第二个复杂之处是,由于我们意识到我们无法调用此存储过程并取回行,因此我们尝试通过 sql 连接器使用 select 语句获取行。这种方法的问题是我们的 where 子句中必须有一个 sql 函数,而这是不支持的。

忽略并发症:

假设我们可以从数据库中读取这些特定行,然后我们想要迭代这些行(这些行应该可以通过逻辑应用中的“重复”操作使用),并发送电子邮件。我们选择使用我们自己的自定义 api 来发送电子邮件(azure 不为我们的电子邮件服务 SendWithUs 提供托管 api)。电子邮件部分工作完全正常,我们可以从我们的 azure 逻辑应用程序查看并调用我们的 api 端点。我们对这个发送电子邮件的 API 端点的担忧是它不是最安全的。

我的问题:我们能否完成我们尝试使用 sql 连接器完成的任务,还是应该寻找替代方案?

替代方法:将我们想要执行的所有操作都放在提供电子邮件端点的自定义 API 应用程序中。这需要连接到数据库,调用存储过程,循环存储过程的结果以发送电子邮件,然后更新已发送电子邮件的数据库记录。此时我们的逻辑应用程序将只有一个重复触发器和一个完成所有工作的 api 调用。不过,此 API 端点需要尽可能安全,同时仍可从逻辑应用访问。

最佳答案

执行存储过程现在可在逻辑应用预览中使用,此处是快照 enter image description here

关于azure - 在 SQL 连接器中使用存储过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36048808/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com