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

Power Automate云流中ChangeType字段始终为空的问题排查

解决Dynamics 365触发流中ChangeType字段为空的问题

你当前使用的@triggerOutputs()?['body/changeType']路径完全错误——Dynamics 365的"当记录被创建或更新"触发器输出里根本不存在changeType这个字段,这就是它始终为空的原因。不需要拆分流,换个取值逻辑就能解决。

两种可靠的解决方法

方法1:读取触发器请求头的操作标识

Dynamics 365的这个触发器会在请求头中携带操作类型标识,直接用以下表达式就能拿到准确的Create或Update值:

"ChangeType": "@triggerOutputs()?['headers/x-ms-trigger-operation']"

方法2:通过记录时间字段判断

如果因环境限制无法读取头字段,也可以对比记录的创建和修改时间来判断操作类型:

"ChangeType": "@if(equals(triggerBody()?['createdon'], triggerBody()?['modifiedon']), 'Create', 'Update')"

注:默认情况下,Dynamics 365创建记录时createdon和modifiedon完全一致,更新记录时modifiedon会被修改,这个逻辑是可靠的。

修改后的完整IaC代码

{
  "type": "Http",
  "inputs": {
    "uri": "https://something-fancy.azurewebsites.net/api/event/client",
    "method": "POST",
    "headers": {
      "content-type": "application/json"
    },
    "body": {
      "AccountId": "@triggerOutputs()?['body/accountid']",
      "ChangeType": "@triggerOutputs()?['headers/x-ms-trigger-operation']",
      "ModifiedValue": "@triggerOutputs()?['body/_modifiedby_value']"
    }
  },
  "runAfter": {},
  "metadata": {
    "operationMetadataId": "f5fefacf-3-91a7-7ac05305e1b8"
  }
}

内容的提问来源于stack exchange,提问作者Roelant M

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 12:03:18