可通过 ArcGIS Arcade 表达式为作业模板中的动态属性以及工作流逻辑示意图中的步骤和路径创建占位符。 例如,运行 GP 服务步骤可配置为使用 jobLocation($job) Arcade 表达式作为输入参数,在运行步骤时将使用作业位置替换该参数。
提示:
还可以使用 Arcade 日期和文本函数将 Arcade 表达式的输出转换为字符串并(可选)更改其格式。 例如,Text(Date(jobEndDate($job)), 'dddd, MMMM D, Y') Arcade 表达式用于将作业结束日期从 1589414631(新纪元)转换为 Thursday, May 14, 2020。
下面列出了支持 ArcGIS Arcade 表达式的 ArcGIS Workflow Manager 组件:
- 作业模板
- 路径
- 步骤模板
下表包含可用于 Workflow Manager 的 ArcGIS Arcade 表达式的示例:
Arcade 表达式 | 描述 | 示例输入 | 示例输出 |
---|---|---|---|
$currentPortal | 设为当前活动门户的变量(当与需要定义门户实例的 Arcade 表达式一起使用时)。 | GetUser($currentPortal)['email'] | jdoe@esri.com |
$currentUser | 返回当前用户的全称。 | $currentUser | John Doe |
$job | 返回当前作业的作业 ID。 | $job | RRpFaSk1QK2IIHZTJX4flQ |
$parentJob | 返回当前作业的父作业 ID。 注:$parentJob 可用于替换表达式中的 $job 以获取父作业属性。 | $parentJob | ZZfPSka12KQHHITZXJf4qL |
geoJsonToEsriJson('<feature_collection>', '<geometry_type>') | 返回要素集合中与指定几何类型对象对应的第一个要素。 | geoJsonToEsriJson(jobExtendedProperty($job, 'assets', 'geojson'), 'Point') | {\"x\":1.1354588060913904e7,\"y\":55660.45186542052} |
GetUser($currentPortal)['username'] | 返回当前用户的用户名。 | GetUser($currentPortal)['username'] | jdoe |
GetUser($currentPortal)['email'] | 返回当前用户的电子邮件地址。 | GetUser($currentPortal)['email'] | jdoe@esri.com |
GetUser($currentPortal, '<user_name>')['username'] | 返回用户的用户名。 | GetUser($currentPortal, 'jdoe')['username'] | jdoe |
GetUser($currentPortal, '<user_name>')['email'] | 返回用户的电子邮件地址。 | GetUser($currentPortal, 'jdoe')['email'] | jdoe@esri.com |
var u = GetUser($currentPortal); return u['<key1>'] + ['<key2>'] | 使用密钥返回当前用户的信息字符串。 | var u = GetUser($currentPortal); return u['username'] + ': ' + u['email'] | jdoe: jdoe@esri.com |
var u = GetUser($currentPortal, '<user_name>'); return u['<key1>'] + u['<key2>'] | 使用键返回用户的信息字符串。 | var u = GetUser($currentPortal, 'jdoe'); return u['username'] + ': ' + u['email'] | jdoe: jdoe@esri.com |
jobComment($job, '<step_id>') | 返回与作业或步骤关联的最后一个注释。 注:step_id 参数是可选参数。 默认返回最后一个注释。 | jobComment($job, 'f50d740d-cc04-9296-4ce3-181e82604465') | 可随时检查提交的要素编辑。 |
jobCreator($job) | 返回作业创建者的用户名。 | jobCreator($job) | jdoe |
jobDescription($job) | 返回作业描述。 | jobDescription($job) | 这是 Landbase 编辑作业 |
jobEndDate($job) | 以新纪元格式返回作业结束日期。 | jobEndDate($job) | 1589414631 |
jobExtendedProperty($job, '<table_name>', '<field_name>') | 返回作业的扩展属性值。 | jobExtendedProperty($job, 'purchase_order', 'date') | 1589414631 |
jobLocation($job) | 以 MinX, MinY, MaxX, MaxY, WKID 格式返回为作业定义的位置 | 'https://<WebAdaptorHost.Domain.com>/<PortalWebAdaptorName>/apps/webappviewer/index.html?extent=' + jobLocation($job) | 9862243.197380835,5108823.353604797,-9801843.791879544,5133768.0805264525,3857 |
jobName($job) | 返回作业名称。 | jobName($job) | JOB_1 |
jobOutputValue($job, '<step_id>', '<value_name>') | 返回已完成步骤的步骤输出值。 value_name 是包含多个输出值的步骤模板的可选参数。 | jobOutputValue($job, 'd27395ec-ddfe-2b11-777a-6df02e86d835', 'num_acres') | 123 |
jobOwner($job) | 返回作业所有者的用户名。 | jobOwner($job) | jdoe |
jobPriority($job) | 返回作业优先级(高、中或低) | jobPriority($job) | 低 |
jobRelatedProperty($job, '<table_name>', '<field_name>', '<row_id>') | 返回作业的相关属性的值。 注:row_id 是一个可选参数。 默认返回最近的记录。 要检索扩展属性,请使用与相关属性表关联的 workflow_guid 属性。 要检索要素服务扩展属性或 ArcGIS Survey123 属性,可将链接 ID 用于 row_id 参数。 | jobRelatedProperty($job, 'Redlands', 'Population', '8fGjVNvzSjGYRpDoSDfSdA') | 71198 |
jobReturnValue($job, '<step_id>') | 返回已完成步骤的返回值。 | jobReturnValue($job, 'f50d740d-cc04-9296-4ce3-181e82604465') | S000001 |
jobStartDate($job) | 以新纪元格式返回作业开始日期。 | jobStartDate($job) | 1589414631 |
jobStatus($job) | 返回作业状态。 | jobStatus($job) | 可随时工作 |
jobType($job) | 返回作业模板名称。 | jobType($job) | Data_edits |
jobVersion($job, '<datasource_name>') | 返回活动作业版本。 | jobVersion($job, 'Gas_Utility_Network') | jdoe.JOB_1 |
lastRunner($job, '<step_id>') | 返回上次运行步骤的用户的用户名。 | lastRunner($job, 'f50d740d-cc04-9296-4ce3-181e82604465') | jdoe |
setting('<setting_name>') | 返回指定用户定义设置的值。 | setting('data_path') | c:\data |
userGroups($currentUser) | 返回当前用户的 ArcGIS Enterprise 门户群组 ID。 | userGroups($currentUser) |
abcde12345 |