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

如何在Azure Logic Apps设计器中校验HTTP触发Azure Function返回值

解决方案

1. 先修正Azure Function代码

你之前返回JSON格式失败是因为缺少正确的响应头配置,且手动拼接JSON容易出现转义错误,改用以下写法即可:

import logging
import azure.functions as func
import json
import re

def remove_html_tags(raw_html):
    cleanr = re.compile('<.*?>')
    cleantext = re.sub(cleanr, '', raw_html)
    return cleantext

def main(req: func.HttpRequest) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')
    mess = req.get_body().decode()
    message = str(mess).replace("\\r\\n", " ")
    out = remove_html_tags(message)
    logging.info(out)
    # 构造标准JSON响应,指定正确的内容类型头
    response_body = {
        "contentLength": len(out),
        "cleanContent": out
    }
    return func.HttpResponse(
        json.dumps(response_body),
        mimetype="application/json",
        status_code=200
    )

修改后Function会返回标准JSON格式,包含纯文本正文长度和清理后的正文内容,方便Logic Apps直接读取对应字段。

2. Logic Apps中校验返回值的配置步骤

  • 完成Azure Function调用动作的配置后,在设计器中新增条件控制节点
  • 条件左侧取值:选择Azure Function动作输出中的contentLength字段,也可以直接写表达式 int(body('调用_Function的动作名称')?['contentLength']),注意替换为你实际的Function动作名称
  • 条件运算符选择「小于」
  • 条件右侧取值填写10
  • 在「如果为是」的分支中,添加发送电子邮件的动作,配置警告邮件的收件人、主题、正文内容即可
  • 如果你不想修改Function代码,仍然使用原来返回纯数字字符串的版本,只需要把条件左侧的取值改为int(body('调用_Function的动作名称')) 即可,Logic Apps会自动把返回的字符串转为整数进行比较。

内容的提问来源于stack exchange,提问作者SiG Kim

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 14:54:01