属性
属性 | 说明 | 数据类型 |
batch (只读) | 指定是否在批处理模式下运行规则。
计算规则可能会返回 true 或 false,但约束规则将始终返回 false,验证规则将始终返回 true。 | Boolean |
checkParameters (只读) | 系统生成的用于定义基于 Data Reviewer 的规则配置的 JSON 值。 | Object |
creationTime (只读) | 创建属性规则的日期和时间。 | DateTime |
description (只读) | 属性规则的描述。 | String |
errorMessage (只读) | 如果属性规则具有自定义错误消息(即约束规则),则此属性将返回为该规则分配的错误消息。 | String |
errorNumber (只读) | 如果属性规则具有自定义错误编号(即约束规则),则此属性将返回为该规则分配的错误编号。 | Long |
evaluationOrder (只读) | 如果规则类型为计算,则该值可提供规则运行顺序。 赋值顺序基于将规则添加至数据集的顺序。 例如,如果 Rule A 在 Rule B 之前添加,则 Rule A 的赋值编号将较小。 | Long |
excludeFromClientEvaluation (只读) | 指定是否从客户端评估中排除规则。
| Boolean |
fieldName (只读) | 如果将属性规则分配给字段(即计算规则类型),则该属性将返回字段名称。 | String |
id (只读) | 将规则 ID 作为整数值返回。 | Integer |
isEnabled (只读) | 指定是否启用规则。
| Boolean |
name (只读) | 属性规则的名称。 | String |
referencesExternalService (只读) | 指定规则是否引用任何外部服务。 | Boolean |
requiredGeodatabaseClientVersion (只读) | 将根据规则来设置所需的地理数据库客户端版本,具体取决于脚本表达式中使用的 ArcGIS Arcade 函数。 例如,如果脚本包含 Sequence 操作,则需要 10.6.1 地理数据库。 | String |
scriptExpression (只读) | 用于定义规则的 Arcade 表达式。 注:此属性不可用于 Data Reviewer 规则。 | String |
severity (只读) | 定义错误的严重性。 此属性适用于验证规则类型。 | Integer |
subtypeCode (只读) | 如果将属性规则分配给子类型,则该属性将返回所分配的子类型代码。 | Long |
tags (只读) | 一组用于标识规则的标记。 | String |
triggeringEvents (只读) | 属性规则中定义的触发事件。 例如,在编辑过程中,插入、更新或删除事件可能会触发规则。 | String |
triggeringFields (只读) | 更新要素时触发属性规则运行的字段列表。 触发字段仅适用于具有更新触发事件的实时计算和约束规则。 | Field |
type (只读) | 属性规则类型。
| String |
userEditable (只读) | 指定规则是否允许对此规则正在修改的属性字段进行编辑。
| Boolean |
代码示例
以下独立 Python 脚本用于打印要素类属性规则属性的报表:
# Import the required modules
import arcpy
# Path to the input feature class or table
fc = "C:\\MyProject\\MyDatabase.sde\\myGDB.USER1.Building"
# Print a report of the attribute rule properties
attRules = arcpy.Describe(fc).attributeRules
print("- Attribute Rule Properties -")
for ar in attRules:
if "Calculation" in ar.type:
print("- Calculation Rule:")
print(f" Name: {ar.name}")
print(f" Creation time: {ar.creationTime}")
print(f" Field: {ar.fieldName}")
print(f" Subtype code: {ar.subtypeCode}")
print(f" Description: {ar.description}")
print(f" Is editable: {ar.userEditable}")
print(f" Is enabled: {ar.isEnabled}")
print(f" Evaluation order: {ar.evaluationOrder}")
print(f" Exclude from client evaluation: {ar.excludeFromClientEvaluation}")
print(f" Triggering events: {ar.triggeringEvents}")
print(f" Triggering fields: {ar.triggeringfields}\n")
print(f" Script expression: {ar.scriptExpression}\n")
print(f" Is flagged as a batch rule: {ar.batch}\n")
print(f" Severity: {ar.severity}\n")
print(f" Tags: {ar.tags}\n")
elif "Constraint" in ar.type:
print("- Constraint Rule:")
print(f" Name: {ar.name}")
print(f" Creation time: {ar.creationTime}")
print(f" Subtype code: {ar.subtypeCode}")
print(f" Description: {ar.description}")
print(f" Is editable: {ar.userEditable}")
print(f" Is enabled: {ar.isEnabled}")
print(f" Error number: {ar.errorNumber}")
print(f" Error message: {ar.errorMessage}")
print(f" Exclude from client evaluation: {ar.excludeFromClientEvaluation}")
print(f" Triggering events: {ar.triggeringEvents}")
print(f" Triggering fields: {ar.triggeringfields}\n")
print(f" Script expression: {ar.scriptExpression}\n")
print(f" Tags: {ar.tags}\n")
elif "Validation" in ar.type:
print("- Validation Rule:")
print(f" Name: {ar.name}")
print(f" Creation time: {ar.creationTime}")
print(f" Subtype code: {ar.subtypeCode}")
print(f" Description: {ar.description}")
print(f" Is enabled: {ar.isEnabled}")
print(f" Error number: {ar.errorNumber}")
print(f" Error message: {ar.errorMessage}")
print(f" Script expression: {ar.scriptExpression}\n")
print(f" Is flagged as a batch rule: {ar.batch}\n")
print(f" Severity: {ar.severity}\n")
print(f" Tags: {ar.tags}\n")
以下独立 Python 脚本用于打印 Data Reviewer 生成的属性规则的检查参数属性报告:
# Import the required modules
import arcpy
# Path to the input feature class or table
fc = "C:\\MyProject\\MyDatabase.sde\\myGDB.USER1.FacilitySite"
# Print a report of the checkParameter properties
attRules = arcpy.da.Describe(fc)['attributeRules']
for rule in range(len(attRules)):
for key, value in attRules[rule]['checkParameters'].items():
print(f"{key}: {value}")