动态作业属性

可通过 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 ManagerArcGIS 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>']

使用密钥返回当前用户的信息字符串。

了解有关 GetUser 函数的详细信息

var u = GetUser($currentPortal); return u['username'] + ': ' + u['email']

jdoe: jdoe@esri.com

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

使用键返回用户的信息字符串。

了解有关 GetUser 函数的详细信息

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