云流错误代码参考

使用本文排查Power Automate云流中最常见的错误。 每个条目都说明了错误的含义、发生原因以及如何修复错误。

注释

此参考适用于所有Power Automate云流许可证层。 在 排查桌面流错误时了解特定于桌面流的错误

设计时错误

保存、验证或发布流时,会发生这些错误。

无效模板

含义:流定义在表达式或操作配置中包含语法错误。

常见原因

  • 表达式中不匹配的括号或引号
  • 引用不存在的操作输出(操作名称中的拼写错误)
  • 使用参数数量错误的函数(例如, createArray() 没有参数)
  • 常量表达式(例如, int('abc')div(100, 0))中的类型不匹配 - 引擎在节省时间时验证这些类型不匹配
  • 从包含不可见 Unicode 字符的文档复制粘贴表达式

如何修复

  1. 在设计器中以红色突出显示的操作。
  2. 检查编辑栏中的表达式。 查找不匹配 ()' 字符。
  3. 验证表达式中的操作名称是否完全匹配(区分大小写): outputs('Get_item')outputs('Get Item')
  4. 如果表达式看起来正确,请将其删除并手动重新键入以删除隐藏字符。

小窍门

表达式中的操作名称使用下划线而不是空格。 如果操作名为“Get item”,则表达式引用为 outputs('Get_item').

相关信息: ExpressionEvaluationFailedFlowCheckerError

FlowCheckerError

含义:流检查器发现了一个或多个阻止保存的验证问题。

常见原因

  • 一个或多个操作中必填字段为空
  • 未为连接器操作选择连接
  • 表达式引用并行分支中的动态内容值(不能保证存在)
  • 触发器输入不完整

如何修复

  1. 选择设计器顶部的错误横幅以显示问题的完整列表。
  2. 选择每个错误以导航到受影响的操作。
  3. 填写必填字段,修复损坏的表达式,然后选择连接。
  4. 再次保存。 检查器在保存时自动运行。

相关信息: InvalidTemplateMissingRequiredProperty

DuplicateActionName

含义:流中的两个或多个操作具有相同的内部名称。

常见原因

  • 复制粘贴操作而不重命名操作
  • 导入使用重复键手动编辑的流定义
  • 将操作重命名为同一范围内另一个操作已使用的名称

如何修复

  1. 在流中搜索具有相同名称的操作(也检查内部 Apply to EachScope 容器)。
  2. 重命名其中一个重复项。 选择操作上的 ... 菜单,然后选择“ 重命名”。
  3. 将引用重命名操作 outputs('Old_Name') 的任何表达式更新为 outputs('New_Name')

相关信息: InvalidTemplate

MissingRequiredProperty

含义:操作或触发器的必需输入字段为空。

常见原因

  • 添加连接器操作但未完成配置
  • 解析为空的动态内容令牌在必填字段中使用
  • 从未设置环境变量的解决方案导入的流

如何修复

  1. 打开标记为错误的操作。
  2. 查找用红色星号标记为空的字段。
  3. 使用静态文本或动态内容令牌填写所需的值。
  4. 对于解决方案流,请检查所有环境变量是否在目标环境中都有值。

相关信息: FlowCheckerError

运行时表达式错误

当无法计算流运行和表达式时,会发生这些错误。

ExpressionEvaluationFailed

含义

表达式在运行时无法求值,因为实际数据与表达式预期的数据不匹配。 仅当表达式使用无法节省时间检查的 动态值 (变量、触发器正文、操作输出)时,才会发生此错误。

注释

如果表达式仅使用常量值(如 int('abc')div(100, 0)),则流引擎在保存时捕获错误,而不是 InvalidTemplate

常见原因

  • 在运行时调用 int() 包含非数值字符串的变量
  • 访问 null 对象上的属性(outputs('Get_item')?['body/title'] 当Get_item未返回任何内容时)
  • 格式不匹配 formatDateTime()parseDateTime() 格式来自变量时的日期格式不匹配
  • 当除数是碰巧为 0 的动态值时除以零

如何修复

  1. 打开失败的运行并选择失败的操作以显示表达式和输入值。
  2. 用 null 检查包装有风险的表达式: if(empty(triggerBody()?['value']), 'default', triggerBody()?['value'])
  3. 用于coalesce()提供回退值: coalesce(outputs('Get_item')?['body/title'], 'Untitled')
  4. 在转换前验证数据类型: if(isInt(variables('input')), int(variables('input')), 0)

小窍门

了解适用于 云流的 Expression 指南中具有 null 安全处理的现成表达式模式库。

相关信息: InvalidTemplateContentConversionFailed

ContentConversionFailed

含义:流无法在操作之间将数据从一种类型转换为另一种类型。

常见原因

  • 传递需要整数或布尔值的字符串
  • 将数组发送到需要单个对象的操作
  • 采用意外格式的日期字符串(例如, DD/MM/YYYY 预期时间 MM/DD/YYYY
  • 传递给文本输入的二进制内容(文件)

如何修复

  1. 检查运行历史记录中失败操作的输入。 将实际值类型与操作所需的类型进行比较。
  2. 使用显式转换函数:int()、、float()string()bool()json()
  3. 对于日期,请使用 parseDateTime() 显式区域设置或在 formatDateTime() 传递之前规范化。
  4. 对于数组,如果下游操作需要一个值,则用于 first() 提取单个项。

相关信息: ExpressionEvaluationFailed

连接和身份验证错误

当流无法向连接的服务进行身份验证时,会发生这些错误。

InvalidConnection

含义:流中的连接引用指向断开、删除或过期的连接。

常见原因

  • 创建连接的用户更改了其密码或重置了 MFA
  • 连接已从“连接”页中删除
  • 管理员通过 Power Platform 管理中心删除了连接
  • 流已导入到连接不存在的环境中

如何修复

  1. 在编辑模式下打开流。 连接中断的操作会显示警告图标。
  2. 选择该操作,然后选择 “更改连接 ”或 “添加新连接”。
  3. 使用相应的凭据登录,以创建新的连接。
  4. 保存和测试流。

重要

对于生产流,请考虑使用服务主体连接而不是个人用户连接。 当用户更改其密码或离开组织时,服务主体连接不会过期。

相关信息: ConnectionNotConfiguredConnectionAuthorizationFailed

ConnectionNotConfigured

含义:操作需要连接,但未选择任何连接。

常见原因

  • 流是从解决方案导入的,连接引用未映射
  • 添加了新操作,但已跳过连接步骤
  • 连接引用指向没有值的环境变量

如何修复

  1. 在编辑模式下打开流,并使用连接警告查找操作。
  2. 从下拉列表中选择现有连接,或创建新的连接。
  3. 对于解决方案流,请转到 解决方案>默认解决方案>连接引用
  4. 为每个引用设置连接。

相关信息: InvalidConnection

未授权 (401)

含义:API 拒绝了请求,因为身份验证令牌无效或已过期。

常见原因

  • OAuth 令牌已过期,连接无法自动刷新
  • 用户帐户已禁用或更改密码
  • 服务主体机密或证书已过期
  • 条件访问策略阻止了登录(异地、设备符合性)

如何修复

  1. 转到 Power Automate>Connections并查找失败操作使用的连接。
  2. 如果连接显示警告,请选择“ 修复连接 ”并重新进行身份验证。
  3. 对于服务主体连接,请轮换Microsoft Entra ID中的机密并更新连接。
  4. 检查条件访问块Microsoft Entra ID登录日志:Azure 门户Microsoft Entra IDMicrosoft Entra IDSign-in logs,按应用名称进行筛选。

相关信息: 禁止(403)ConnectionAuthorizationFailed

禁止 (403)

含义:经过身份验证的用户或应用无权执行请求的操作。

常见原因

  • DLP (数据丢失防护) 策略阻止此环境中的连接器或连接器操作
  • 用户缺少对目标资源的权限(例如,对SharePoint list没有写入访问权限)
  • 管理员通过租户级设置限制连接器
  • 连接器需要高级许可证,并且用户正在设定种子计划

如何修复

  1. 检查 DLP 策略: Power Platform 管理中心>数据策略。 查找阻止环境组中连接器的策略。
  2. 验证连接用户是否对目标服务拥有正确的权限(SharePoint站点权限、Dataverse 安全角色和类似角色)。
  3. 如果这是高级连接器问题,请验证流所有者或调用方是否有Power Automate Premium 许可证。
  4. 如果需要修改 DLP 策略,请联系管理员。

相关信息: 未授权(401)DirectApiAuthorizationRequired

ConnectionAuthorizationFailed

含义:连接存在,但其存储的凭据不再有效。

常见原因

  • 用户的密码已更改或 MFA 方法已重置
  • OAuth 刷新令牌已过期(常见连接未使用 90 天)
  • 管理员在 Microsoft Entra ID 中撤销了应用的许可
  • 所有者未共享共享共享连接

如何修复

  1. 打开 Power Automate>Connections
  2. 查找受影响的连接。
  3. 选择连接,然后选择“ 修复连接 ”以重新进行身份验证。
  4. 如果使用共享连接,请让连接所有者重新共享它。
  5. 对于服务帐户,请设置日历提醒以在凭据过期之前轮换凭据。

小窍门

在云流 <中查找连接器(SharePoint、Outlook、SQL Server、Dataverse、HTTP)的连接问题的详细教程>云流中的Fix 连接故障。

相关信息: InvalidConnectionUnauthorized (401)

连接器和 API 错误

这些错误来自流正在调用的下游服务。

ActionFailed

含义:操作返回了失败状态。 这是一个通用包装器。 实际错误详细信息位于操作的输出正文中。

常见原因

  • 下游 API 返回了 4xx 或 5xx 错误
  • 子流(通过“运行子流”调用)失败
  • 自定义连接器返回了意外的响应格式
  • 操作的“配置运行后”设置导致它在之前失败后执行

如何修复

  1. 打开失败的运行并选择失败的操作。
  2. 展开 “输出 ”以显示 API 中的实际错误消息和状态代码。
  3. 根据特定 API 错误修复基础问题(查看本参考中的 400、401、403 和 404 个条目)。
  4. 如果操作应在操作失败时运行,请检查其 “配置”在设置后运行

相关信息: BadRequest (400)NotFound (404)

BadRequest (400)

含义:连接器 API 拒绝了请求,因为输入数据格式不正确或无效。

常见原因

  • 发送数据类型错误的字段(字符串而不是数字,反之亦然)
  • 请求正文中缺少的必填字段
  • 文件名或列表项标题中的字符无效
  • 超出字段长度限制(例如,SharePoint单行文本 = 255 个字符)

如何修复

  1. 在运行历史记录中打开失败的操作,并查看 “输入 ”部分,以显示发送的内容。
  2. 将输入与 API 的预期架构进行比较(请查看连接器文档)。
  3. 在传递给操作之前,使用删除无效字符来清理用户输入 replace()
  4. 使用 substring()take() 截断字段的最大长度的长值。

相关信息: ActionFailedContentConversionFailed

NotFound (404)

含义:操作尝试访问的资源不存在。

常见原因

  • 已重命名或删除SharePoint list、库或网站
  • 已删除Outlook文件夹或 Teams 频道
  • 流引用不再存在的资源的硬编码 ID
  • Dataverse 表或行已被另一个进程删除

如何修复

  1. 检查目标服务中是否存在资源。
  2. 如果已重命名,请更新操作以使用新名称或 ID。
  3. 尽可能将硬编码 ID 替换为动态查找(例如,将“获取项”替换为筛选器,而不是使用静态 ID 的“获取项”)。
  4. 添加错误处理:将下一个操作配置为 运行后>失败 并正常处理 404。

相关信息: ActionFailed

触发器错误

这些错误与流触发器不触发或失败有关。

TriggerConditionNotMet

含义:触发器评估了其条件并确定事件不应启动流运行。

常见原因

  • 触发器条件表达式的计算结果始终为 false(逻辑错误)
  • 触发器条件引用触发器有效负载中不存在的字段
  • 事件发生,但数据与筛选器不匹配(例如,“创建项目时”,状态为空)

如何修复

  1. 转到 触发器的设置并 查看触发器条件表达式。
  2. 针对已知事件有效负载测试条件。 使用触发器上的 “速览”代码 显示原始架构。
  3. 暂时删除条件,手动触发流,并检查触发器输出以验证字段名称和值。
  4. 修复表达式并重新启用条件。

相关信息: ExpressionEvaluationFailed

超时和限制错误

当流或操作超过时间或速率限制时,会发生这些错误。

ActionTimedOut

含义:单个操作超过了其配置的超时,并且已取消。

常见原因

  • 调用默认 100 秒超时速度缓慢的外部 API 的 HTTP 操作
  • “等待审批”,过期
  • 通过慢速连接上传或下载大型文件
  • 不分页返回过多行的 Dataverse 查询

如何修复

  1. 打开 操作的设置并 增加 超时 值(例如, PT5M 5 分钟 ISO 8601 持续时间)。
  2. 对于 HTTP 操作,请检查外部 API 是否具有长时间运行的操作模式(在重试后轮询)。
  3. 对于 Dataverse,请添加 $filter$top 减少结果集。
  4. 对于审批,请设置合理的过期时间,并添加超时分支来处理非响应。

相关信息: OperationTimedOut

OperationTimedOut

含义:长时间运行的操作(webhook 等待、审批、HTTP 轮询)超过了最长等待时间。

常见原因

  • HTTP Webhook 操作正在等待永不来的回调
  • 未过期的审批操作,达到 30 天的流运行限制
  • “延迟到”操作设置为超出 30 天运行持续时间限制的日期
  • 外部服务关闭,从未发送预期响应

如何修复

  1. 始终在 Webhook 和审批操作上设置显式超时。
  2. 对于 HTTP Webhook 操作,请在超时后>实现配置运行的超时分支。
  3. 使用带每日检查的循环将长时间等待中断为较短的段。
  4. 对于 30 天的运行限制,请重新设计长时间运行的进程以使用“中继”模式:结束当前运行并启动状态通过 Dataverse 或文件传递的新进程。

重要

云流的最大运行持续时间为 30 天。 对于花费较长时间的进程,请将它们拆分为具有共享状态的多个流运行。

相关信息: ActionTimedOut

WorkflowRunActionRepetitionQuotaExceeded

含义:“应用于每个循环”超过了最大迭代次数(默认值:100,000(高级),性能配置文件为 5,000 次)。

常见原因

  • 在不首先筛选的情况下处理大型SharePoint list或 Dataverse 表
  • 嵌套 Apply to Each 循环乘以迭代计数 (100 x 100 = 10,000)
  • Get items返回所有行而不是筛选子集的操作

如何修复

  1. 将筛选器添加到数据源操作,以减少循环前的项数。
  2. 使用 OData $filter$top获取项操作,而不是在循环内进行筛选。
  3. 对于大型数据集,请使用分页令牌或日期范围跨多个流运行批处理工作。
  4. 请考虑使用 SelectFilter array 操作,而不是 Apply to Each 仅当需要转换或筛选数据时。

相关信息: FlowRunQuotaExceeded

FlowRunQuotaExceeded

含义:流或租户超出了其每日操作执行限制。

常见原因

  • 种子/免费许可证:每个用户每天 6,000 个操作
  • 高级许可证:每个用户每天 40,000 个操作
  • 流程许可证:每个流每天 250,000 个操作
  • 循环密集型流,每运行消耗数千个操作

如何修复

  1. 检查 Power Platform 管理中心>Analytics>Power Automate中的当前使用情况。
  2. 优化流以使用更少的操作:将“应用于每个”替换为 Select/Filter、批处理操作、减少轮询频率。
  3. 如果工作负荷合法地需要更多容量,请升级许可证层。
  4. 将工作负荷分散到多个流中,或在非高峰时段计划大容量运行。

相关信息: WorkflowRunActionRepetitionQuotaExceededDirectApiAuthorizationRequired

许可错误

DirectApiAuthorizationRequired

含义:流使用高级连接器,但调用方没有高级许可证。

常见原因

  • 具有高级连接器(HTTP、SQL Server、Dataverse、自定义连接器)的流由基于种子Microsoft 365许可证的用户运行
  • 流所有者具有高级版,但触发用户不(调用方许可证很重要,而不是所有者)
  • 计划流的所有者失去了其高级许可证
  • 上下文中的流与其 Power App 取消关联,使其脱离上下文

如何修复

  1. 确定哪个连接器需要高级连接器。 错误消息通常将其命名。
  2. 将 Power Automate Premium 许可证分配给触发或运行流的用户。
  3. 对于计划或自动化流,请确保流所有者具有高级许可证。
  4. 考虑进程许可证(每流)对于大容量共享流是否更具成本效益。 还可以 使用流组在最多 25 个流之间共享单个进程许可证

相关信息: 禁止(403)FlowRunQuotaExceeded

快速参考表

错误 类别 可能的修复措施
无效模板 设计时 修复表达式语法
ExpressionEvaluationFailed 运行时 添加 null 检查,验证类型
ActionFailed 运行时 检查 API 错误的操作输出
FlowCheckerError 设计时 填写必填字段,修复连接
InvalidConnection 连接 重新对连接进行身份验证
ConnectionNotConfigured 连接 选择或创建连接
未授权 (401) Auth 修复连接,轮换凭据
禁止 (403) Auth 检查 DLP 策略、权限
BadRequest (400) API 验证输入数据格式
NotFound (404) API 验证资源是否存在,更新引用
TriggerConditionNotMet Trigger 查看触发器条件表达式
ActionTimedOut 超时 增加操作设置中的超时
DuplicateActionName 设计时 重命名重复操作之一
MissingRequiredProperty 设计时 填写必填字段
ContentConversionFailed 运行时 使用显式类型转换
WorkflowRunActionRepetitionQuotaExceeded Throttling 在循环之前筛选数据
DirectApiAuthorizationRequired 许可授权 将高级许可证分配给调用方
FlowRunQuotaExceeded Throttling 优化操作计数,升级许可证
ConnectionAuthorizationFailed 连接 修复连接,重新进行身份验证
OperationTimedOut 超时 设置显式超时,使用中继模式

注意:作者在 AI 的帮助下创建了本文。 了解更多信息