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

OPA报错“rego_parse_error: var cannot be used for rule name”求助

问题排查与解决

错误原因

Rego语言对标识符(包括规则名、变量名)的命名有严格规范:只能使用小写字母、数字和下划线,且不能以数字开头。你的规则名isApplicable包含大写字母A,违反了这一规范,因此触发解析错误。

修复后的代码

将规则名改为符合规范的小写+下划线形式即可,比如is_applicable:

package example

default is_applicable := false

is_applicable if {
   time_now := time.now_ns()
   time_now >= input.start_datetime
}

另外建议变量名也统一遵循该规范(比如把timeNow改成time_now),保持代码风格一致。

验证说明

修改后规则名符合Rego的命名要求,代码逻辑不受影响,能够正常解析并执行:当当前时间(纳秒级)大于等于输入的startDatetime时,is_applicable会返回true,否则使用默认值false。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 07:42:05