You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求Microsoft.Azure.Management.Logic.Models.Workflow.Definition示例及序列化错误解决

解决Azure Logic Apps SDK中Workflow.CreateOrUpdate的Definition序列化错误问题

我之前也踩过这个坑!问题根源出在两个地方:一是你直接把JSON字符串赋值给了Definition属性,二是你的JSON文件多了不必要的外层节点。

问题分析

Workflow.Definition的类型是object,但它实际需要的是反序列化后的.NET对象(比如JObject或动态类型),而非原始JSON字符串。如果直接传字符串,SDK序列化时会把它当作普通字符串处理,导致Azure收到的请求格式完全不符合预期,自然会抛出序列化错误。

另外你的wfDefinition.json外层多了properties和location节点——Workflow类本身已经有独立的Location属性,Definition只需要包含工作流的核心定义内容(也就是你JSON里properties.definition下的部分)。

修复步骤

  1. 修正JSON文件结构
    精简wfDefinition.json,只保留工作流核心定义部分:

    {
      "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
      "actions": {
        "HTTP": {
          "inputs": {
            "body": "Test Body",
            "method": "POST",
            "uri": "http://ptsv2.com/t/5351a-1565875020/post"
          },
          "runAfter": {},
          "type": "Http"
        }
      },
      "contentVersion": "1.0.0.0",
      "outputs": {},
      "parameters": {},
      "triggers": {
        "Sliding_Window": {
          "recurrence": {
            "frequency": "Second",
            "interval": 3
          },
          "type": "SlidingWindow"
        }
      }
    }
    
  2. 将JSON反序列化为JObject再赋值
    借助Azure SDK依赖的Newtonsoft.Json库,把JSON字符串转换成JObject后再赋值给Definition。修改后的代码如下:

    using Newtonsoft.Json.Linq;
    
    var wfLocation = "East US";
    var wfDefinitionContent = System.IO.File.ReadAllText(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "wfDefinition.json"));
    // 反序列化为JObject,确保SDK能正确序列化
    var wfDefinition = JObject.Parse(wfDefinitionContent);
    var wkflow = new Microsoft.Azure.Management.Logic.Models.Workflow() 
    { 
        Definition = wfDefinition, 
        Location = wfLocation 
    };
    logicManagementClient.Workflows.CreateOrUpdate("xxxxxx", "new-test", wkflow);
    

这样调整后,SDK会正确生成Azure期望的请求格式,序列化错误就能解决了。

内容的提问来源于stack exchange,提问作者Ashwin Purushotaman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:02:19