注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。

故障排除参考

本页描述了Foundry Rules的一些常见问题以及调试步骤。

错误信息

ReadonlyObjectError

确保您创建的每个Object都关联了一个数据输出数据集。查看创建和运行规则中的搭建数据输出数据集步骤以获取更多信息。

400: Actions

在操作请求中未提供一些必需的参数。请确认操作配置正确。

自定义属性的提案差异未正确显示

要使提案微件正确显示差异,请按照以下步骤操作:

  1. 在Workshop应用中,将new_<PROPERTY>属性添加到提案审阅者微件配置的按部分分组的属性中。此处无需选择“当前”值。

  2. 如有需要,编辑属性名称以去除“new”前缀。

    在提案审阅者配置侧栏中添加了警报接收者属性,突出显示了“New”前缀以指示可以删除
  3. foundry-rules.property-diff-for:ID_OF_NEW_PROPERTY类型类添加到提案Object当前属性中。请注意,类型类由类型名称组成,写作kind.name。在foundry-rules.property-diff-for:new_<PROPERTY>中,类型是foundry-rules,名称是property-diff-for:new_<PROPERTY>

    在ontology应用中添加到属性的示例类型类名称和类型

较旧的错误

在2022年7月之前,Foundry Rules(以前称为Taurus)需要额外配置并使用略有不同的概念。以下错误与该过程相关。如果您在2022年7月后部署了Foundry Rules并遇到以下问题,请尝试导航到工作流配置编辑器以查看工作流中是否有任何错误。

Taurus

此错误表示请求的Ontology信息(在错误信息中标识)不存在或变换没有权限访问它。检查以下步骤以修复错误:

  1. 验证信息中的RID或ID是否存在于Ontology管理器中。
  2. 验证Foundry Rules Workshop应用中使用的所有Object类型关系是否通过设置选项卡中的Ontology导入助手导入到项目中。
  3. 验证Foundry Rules Workshop应用中使用的所有Object类型关系的RID是否列在变换代码顶部的@AdditionalInputs部分中。了解有关使用@AdditionalInputs的更多信息。
  4. 确保支持Foundry Rules Workshop应用中使用的Object类型和多对多关系的所有数据集通过项目视图项目参考部分导入到项目中。这包括任何由受限视图支持的Objects或关系。

TransformsGradlePlugin

此错误表示不再允许声明tau-execution-core的静态版本号依赖项。要修复此错误,请将声明的版本更改为版本范围[0,1[而不是静态版本号:

  1. 首先,导航到包含Foundry Rules变换的代码库
  2. 打开显示隐藏的文件和文件夹
  3. 在项目级别的build.gradle文件中,将行compile "com.palantir.tau-execution:tau-execution-core:0.x.x"更改为compile "com.palantir.tau-execution:tau-execution-core:[0,1["
    • 如果还有另一行compile "com.palantir.tau-grammar:tau-grammar-api-objects:0.x.x",那么删除此行
  4. 提交结果,检查应通过。

规则编辑器预览与Foundry Rules变换的输出不匹配

  1. 验证Foundry Rules变换的输入数据集是否与规则编辑器预览中用于支持您的Objects的数据集对应。
  2. 验证Foundry Rules变换中的标志.shouldMatchContourExecutionBehavior(true)是否设置为true(如下例所示)。此标志确保Foundry Rules变换执行的逻辑与规则编辑器预览中一致。
Copied!
1 2 3 4 5 6 7 8 9 10 11 12 // 配置 Foundry 规则的规则运行器 Args ruleRunnerArgs = new TaurusRuleRunner.Args.Builder() .rules(new Rules.Builder() .logicColumnName("RuleLogic") // 设置逻辑列名称 .ruleIdColumnName("RuleId") // 设置规则 ID 列名称 .dataset(rulesDataset) // 指定规则数据集 .build()) .putSources(SourceReference.objectTypeId("employee"), source) // 将源对象类型 ID 设置为 "employee" // 设置为 true 以确保规则执行输出与规则编辑器小部件的预览匹配 .shouldMatchContourExecutionBehavior(true) .context(transformContext) // 指定上下文 .build();

Taurus

当传感器Object缺失或变换没有正确权限时,可能会出现此出错。检查以下内容以解决出错:

  • 检查根Object与传感器Object之间的链接RID是否已通过代码库的设置选项卡中的Ontology导入助手导入到项目中。
  • 检查根与传感器Object之间的链接RID是否列在变换代码顶部的@AdditionalInputs部分。
  • 检查传感器Object的支持数据集是否列在变换代码顶部的@AdditionalInputs部分。
  • 检查传感器Object的支持数据集是否已通过项目视图的项目引用部分导入到项目中。

验证您是否遵循了部署指南中的所有步骤。