【问题标题】:Schema update validation fails Azure logic apps架构更新验证失败 Azure 逻辑应用
【发布时间】:2020-02-05 18:56:37
【问题描述】:

在我的逻辑应用程序中,我使用的是每 3 小时触发一次的 HTTP 触发器,并在其上使用 get 请求。 API 响应后,解析 JSON 调用会进行架构验证。到目前为止,使用 HTTP 触发器和 Parse JSON,我不知道禁用 JSON 验证的方法。我知道“收到 HTTP 请求时”作为禁用验证选项,但在我的情况下,我不需要“收到 HTTP 请求时”,我需要定期触发 HTTP。

这是我的两个问题 1) 有没有办法在使用重复触发的 HTTP 触发器时禁用模式验证?

2) 我们对一家公司进行的 API 调用,似乎该公司经常更新他们的 JSON 返回模式。周一电话正常,周二却没有。在询问他们时,这是他们的回答。 “但几乎所有更改都是“添加”,而不是“删除”或“重命名”端点和信息。即更改是向后兼容的。”

我的问题是添加到架构.. 验证是否应该在添加时失败,因为逻辑应用程序肯定没有验证他们的添加,而他们的代表听起来像“添加”应该是向后兼容的。架构中的添加是否会导致验证失败?

我正在学习 Azure 逻辑应用,但不熟悉手头的所有组件。 在架构频繁更改的情况下处理 JSON 解析的最佳方法是什么?如果这是解决方案,如何将其关闭。

【问题讨论】:

  • 嗨,Sarah,您能否提供更多有关您的逻辑应用的详细信息(例如 HTTP 触发器和 Parse JSON 操作的屏幕截图,以及错误消息的屏幕截图)。我在我身边测试它,即使我添加或删除了 api 响应 json 的字段,一切正常。
  • 嗨,快点,我正在更新我的问题,如果您注意到错误即将到来,因为 JSON 架构更改并且逻辑应用无法处理更改。

标签: json azure jsonschema azure-logic-apps


【解决方案1】:

在您的第二个屏幕截图中,似乎与“HTTP 触发器”无关。该问题是由“解析 JSON”(解析组织和组信息)操作中的架构引起的。你需要和公司确认,并和他们统一json数据的结构。

在您的第一个屏幕截图中,我认为您需要与公司确认他们是否在响应 json 数据中有数组。除此之外,我们可以判断数组是否存在,然后进行“选择”动作,如下图:

“Condition”中的fx表达式为:

empty(body('Parse_JSON')?['array'])

希望对你有帮助~

【讨论】:

  • 谢谢你,我最初的问题是关于 http 触发器的模式验证。而且我提到该公司没有确认不会定期在模式中添加任何内容。底线是如果 http 触发器会给我一个禁用验证的选项,即使最终公司每隔一天更新他们的架构,这些问题也不会出现。
  • 我确实认为强制模式验证是对部分 HTTP 触发器的限制,而“收到 http 请求时”触发器不需要这样做。两者都能够解析 JSON,一个强制它,另一个可以选择禁用验证。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-23
  • 2018-07-30
  • 2019-12-22
  • 1970-01-01
  • 2022-01-06
  • 1970-01-01
相关资源
最近更新 更多