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

使用Logic Apps编排Azure Functions时,如何无需手动Schema解析响应?

解决方法

1. 让Azure Function主动返回带结构化Schema的响应

在Function代码或配置中明确响应的Schema,让Logic Apps自动识别:

  • 代码层面:以C#为例,用强类型模型返回响应,同时通过OpenApiResponseWithBody注解声明响应结构:
public class FunctionResponse
{
    public int Id { get; set; }
    public string TaskResult { get; set; }
}

[OpenApiResponseWithBody(statusCode: HttpStatusCode.OK, contentType: "application/json", bodyType: typeof(FunctionResponse))]
public IActionResult Run([HttpTrigger(AuthorizationLevel.Function, "post")] HttpRequest req)
{
    var result = new FunctionResponse { Id = 123, TaskResult = "Completed" };
    return new OkObjectResult(result);
}
  • 配置层面:在function.json的输出绑定中直接定义Schema:
{
  "bindings": [
    {
      "type": "http",
      "direction": "out",
      "name": "$return",
      "schema": {
        "type": "object",
        "properties": {
          "Id": {"type": "integer"},
          "TaskResult": {"type": "string"}
        }
      }
    }
  ]
}

2. 跳过Parse JSON,直接用动态内容引用

如果Function返回标准JSON响应,无需添加Parse JSON操作,直接在Function2的输入框中选择Logic Apps提供的动态内容:展开Function1的输出节点,直接勾选需要传递的字段(如body.Id),Logic Apps会自动完成JSON解析和字段提取。

3. 启用Azure Functions的OpenAPI扩展自动生成Schema

安装Microsoft.Azure.WebJobs.Extensions.OpenApi扩展包,它会自动为Function生成包含响应Schema的Swagger文档:

  • 部署后访问https://<你的FunctionApp域名>.azurewebsites.net/api/swagger.json可查看完整Schema
  • Logic Apps调用该Function时,会自动读取Swagger中的Schema,无需手动输入Parse JSON的示例结构

4. 正确配置APIM的Schema关联

若使用APIM,需确保导入Function的OpenAPI文档并关联Schema:

  • 将Function生成的Swagger文档导入APIM,APIM会自动识别响应Schema
  • 在Logic Apps中调用APIM托管的API,而非直接调用Function,此时Logic Apps会读取APIM中的Schema,自动提供可选择的动态字段

内容的提问来源于stack exchange,提问作者Davinder Bassan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 06:30:52