动态作业属性

使用 ArcGIS Arcade 表达式在整个工作流中动态填充输入值。 例如,您可以使用 Arcade 表达式根据步骤的结果将步骤分配给特定用户或群组,或发送包含作业特定信息的通知电子邮件。 还可以将运行 GP 服务步骤配置为使用 JobLocation Arcade 表达式作为输入参数,以在运行步骤时替换为作业位置的范围。 每个支持 Arcade 表达式的输入值都将显示此输入支持 Arcade 表达式 This input supports Arcade expressions 快捷菜单,其中包含可添加至其关联文本框的表达式列表。

使用嵌套 Arcade 表达式可以修改其他表达式的输出。 例如,使用以下文本日期函数将 JobDueDate 表达式的输出从新纪元时间转换为更具可读性的日期格式:


Text(Date(JobDueDate($Job)), 'dddd, MMMM D, Y')

要将纯文本与 Arcade 表达式相结合,请将文本格式设置如下:


'Plain text' + ArcadeExpression() + 'plain text'

下表概述了不同类别的 Workflow Manager 特定 Arcade 表达式:

类别描述

作业属性函数

调用 ArcGIS Workflow Manager 托管的作业信息。

扩展属性函数

从扩展属性表调用自定义作业特定信息。

数据管理函数

调用作业数据源和版本信息。

位置函数

调用作业位置信息。

设置函数

调用用户定义设置。

工作流函数

调用输出值和过去步骤分配信息。

ArcGIS Developer 站点中提供了 Arcade 函数和全局变量的完整列表。 此输入支持 Arcade 表达式 This input supports Arcade expressions 快捷菜单中包含 Arcade 函数索引列表中的以下表达式:

名称Arcade 表达式描述

当前门户

$currentPortal

返回当前活动门户。

当前用户详细信息

var u = GetUser($currentPortal); return u['<key 1>'] + u['<key 2>']

返回当前用户的属性。

当前用户电子邮件

GetUser($currentPortal)['email']

返回当前用户的电子邮件地址。

当前用户 ID

GetUser($currentPortal)['id']

返回当前用户的 ID。

当前用户名

$currentUser

返回当前用户的用户名。

获取用户详细信息

var u = GetUser($currentPortal, '<username>'); return u['<key1>'] + u['<key2>']

返回指定用户的属性。

获取用户电子邮件

GetUser($currentPortal, '<username>')['email']

返回指定用户的电子邮件地址。

获取用户名

GetUser($currentPortal, '<username>')['username']

返回指定用户的用户名。

用户群组

userGroups($currentUser)

返回当前用户的 ArcGIS 组织群组 ID。

相关主题