当“重试”设置为“无”时,Azure 逻辑应用 APIM 连接器会重试

问题描述 投票:0回答:1

我们有一个逻辑应用程序,它使用 APIM 调用后端 API 以使用 POST 请求创建记录。我们发现后端创建的一些记录是重复的。当我们深入研究该问题时,我们可以看到逻辑应用仅向 APIM 发送了一个请求。要调用 APIM,我们使用 APIM 连接器,并在操作中将重试策略设置为“无”。

但是,当我们检查 Azure APIM 日志时,我们可以看到大约在同一时间有两个请求,其中一个请求失败,响应代码为 0“客户端连接意外关闭”。我们无法弄清楚是什么触发了 APIM 中的第二个请求,因为逻辑应用中的重试设置为“无”。在后端日志中,我们收到了两个请求。

我们预计逻辑应用程序无法与后端通信时会出现错误。

这是 JSON 有效负载

{
  "orders": [
    {
      "caller": {
        "clientId": "SIMREFNSW2"
      },
      "shipper": {
        "clientId": "SPECSOL"
      },
      "consignee": {
        "clientId": "1996DAN"
      },
      "details": [
        {
          "commodity": "FRPPLT",
          "description": "Frozen",
          "volume": 18,
          "pieces": 16,
          "weight": 9907,
          "pallets": 9,
          "piecesUnits": "QTY",
          "volumeUnits": "PLT",
          "weightUnits": "KG",
          "palletUnits": "PLS",
          "temperatureControlled": "True",
          "temperatureUnits": "C"
        }
      ],
      "traceNumbers": [
        {
          "traceType": "C",
          "traceNumber": "PICK0002",
          "user2": "1",
          "user3": "2"
        },
        {
          "traceType": "P",
          "traceNumber": "889926"
        }
      ],
      "pickUpBy": "2024-07-29T13:15:00",
      "pickUpByEnd": "2024-07-29T13:15:00",
      "deliverBy": "2024-08-02T00:00:00",
      "deliverByEnd": "2024-08-02T00:00:00",
      "serviceLevel": "RL",
      "siteId": "SITE6",
      "xrefcode": {
        "consigneeid": "1996d",
        "shipperid": "spec001",
        "otherContactId": "simua"
      },
      "userFields": {
        "user2": "PICK0002",
        "user10": "0"
      }
    }
  ]
}
azure azure-logic-apps azure-api-management
1个回答
0
投票

以下几点可能会导致问题 -

  • 当您从逻辑应用程序调用 APIM 时,您需要检查逻辑应用程序在 触发历史记录中被触发了多少次。

enter image description here

  • 当客户端站点(此处为逻辑应用程序)存在任何网络问题时,我们会收到此客户端连接意外关闭错误。如果您当前使用重复触发器,我建议您使用手动 Http 触发器检查记录创建情况。
© www.soinside.com 2019 - 2024. All rights reserved.