首页 > 解决方案 > 是否有 Workflow.Definition (Microsoft.Azure.Management.Logic.Models) 应该是什么样子的示例?

问题描述

我正在尝试使用 Microsoft.Azure.Management.Logic 命名空间中附带的 Azure REST API for Logic Apps Management 的包装器。特别是,我正在尝试使用 IWorkflowOperations.CreateOrUpdate 方法。

CreateOrUpdate() 方法接受一个 IWorkflow 对象。工作流类本身有一个定义属性,它是对象类型,如此处所述https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.management.logic.models.workflow.definition?view= azure-dotnet#Microsoft_Azure_Management_Logic_Models_Workflow_Definition 我很难理解定义对象应该是什么。

当我尝试执行 CreateOrUpdate 部分时出现序列化错误。

非常感谢您!

var wfLocation = "East US";
var wfDefinition = System.IO.File.ReadAllText(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "wfDefinition.json"));
var wkflow = new Microsoft.Azure.Management.Logic.Models.Workflow() { Definition = wfDefinition, Location = wfLocation };
logicManagementClient.Workflows.CreateOrUpdate("xxxxxx", "new-test", wkflow);

// And wdDefinition.json looks like

{
  "properties": {
    "definition": {
      "$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"
        }
      }
    }
  },
  "location": "East US"
}

标签: azureworkflowazure-logic-apps

解决方案


好的,我弄清楚了定义的样子。我提取了一个现有的工作流程并将其序列化为 JSON。这就是它的样子

{
    "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {},
    "triggers": {
        "Recurrence": {
            "recurrence": {
                "frequency": "Minute",
                "interval": 1
            },
            "type": "Recurrence"
        }
    },
    "actions": {
        "HTTP": {
            "runAfter": {},
            "type": "Http",
            "inputs": {
                "body": "Test Body",
                "method": "POST",
                "uri": "http://ptsv2.com/t/5351a-1565875020/post"
            }
        }
    },
    "outputs": {}
}

推荐阅读