首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义逻辑应用程序连接器

自定义逻辑应用程序连接器
EN

Stack Overflow用户
提问于 2016-12-21 09:19:59
回答 1查看 1.1K关注 0票数 2

我们正在创建一个多租户应用程序。为了允许用户创建业务逻辑,我们希望使用逻辑应用程序。

因此,我想创建一个web应用程序,它将公开DocumentDB更改提要。在创建逻辑应用程序时,可以在不同的开箱连接器之间进行选择。我们怎样才能把我们的列入名单呢?有关于这方面的文件吗?

这样做的目的是让逻辑应用程序与每个文档插入一起运行。为了实现这一点,我有两个选项:轮询触发器和Web钩子触发器。我更喜欢轮询触发器,因为这比实现每个租户处理所有订阅URL的逻辑要少。有谁对这一方法有任何关切或建议?

位置标头应该成为DocumentDB变更提要中的延续令牌,对吗?

  1. 逻辑应用程序将首次在没有位置头的情况下调用我的api。
  2. 我的api将调用DocDb,而不带延续令牌,这将逐个返回所有文档,因为最大doc计数设置为1。
  3. 我的api将返回检索到的第一个文档,并将重试后设置为0,将位置设置为我收到的新的继续标记。如果没有找到文档,api将返回步骤5中的结果。
  4. 逻辑应用程序将启动一个新实例来处理文档,并将使用头中的延续令牌再次调用API。

步骤3至4将被重复,直到所有文档被处理。因为我只处理每个逻辑应用实例的一个文档,Azure应该能够自动地为我缩放吗?

  1. 在处理所有文档时,api将返回一个202状态代码,其位置标头设置为最新的延续标记,并在15之后进行重试。
  2. 15秒后,逻辑应用程序将使用最新的延续令牌调用我们的api。这将再次触发该过程。

我的解决方案可行吗?如果我出于某种原因需要停止或克隆逻辑应用程序配置,我如何知道最近的延续是什么,或者是否需要将我的延续令牌保存在某个数据存储中?

EN

回答 1

Stack Overflow用户

发布于 2016-12-21 13:30:26

是的,您在这里所描述的应该得到支持。您可以在逻辑应用程序中使用自己的连接器,方法是单击搜索上方的下拉列表,并选择使用API或app中的API作为详细的这里这里

如果您使用上述202个轮询模式,则可以在location报头的“触发器状态”中保留延续令牌。例如,报头可能是https://mydocdbconnector.azurewebsites.net/api/trigger?triggerstate={thisCouldBeTheContinuationToken} --这样,在随后的轮询中,最后一个连续令牌被发送回触发器,并可以在操作中使用。只要触发器在定义中保持不变(启用/禁用/etc),触发器状态就会保持不变。

我不清楚的唯一部分是你的多租户要求。我想您的意思是,您希望每个用户都能够在他们自己的documentDb实例上触发--目前对此最好支持的模式是每个客户都有一个逻辑应用程序--每个用户都有自己的triggerState和触发器。这也可以利用自定义连接器。这是构建在Logic上的像Microsoft流这样的服务使用的模式。

如果这有帮助的话请告诉我。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41259093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档