摘要
Configuration 对象提供对 Workflow Manager (Classic) 数据库中配置元素的访问权限。
说明
Configuration 对象提供对 Workflow Manager (Classic) 数据库中配置元素的访问权限。
方法概述
方法 | 说明 |
getActivityTypes () | 将 Workflow Manager (Classic) 数据库中的所有活动类型以 ActivityType 对象列表的形式返回。 |
getHoldTypes () | 将 Workflow Manager (Classic) 数据库中的所有保存类型以 HoldType 对象列表的形式返回。 |
getJobTypeDescription ({job_type_id}, {job_type_name}) | 使用作业类型 id 或作业类型名称,返回可在创建作业之前进行自定义的作业类型属性。 |
getJobTypes () | 返回 Workflow Manager (Classic) 数据库中由应用的作业过滤器过滤的所有作业类型的列表。 |
getMaps () | 返回 Workflow Manager (Classic) 数据库中地图的名称列表。 |
getNotificationTypes () | 返回 Workflow Manager (Classic) 数据库中的所有通知类型列表。 |
getPriorities () | 返回 Workflow Manager (Classic) 数据库中优先级的列表。 |
getPrivileges ({username}) | 返回分配给用户的权限列表。如果未给定任何参数,则将返回当前用户的权限。 |
getStatusTypes () | 将 Workflow Manager (Classic) 数据库中的所有状态类型以 StatusType 对象列表的形式返回。 |
getUserGroups ({username}) | 返回 Workflow Manager (Classic) 数据库中的用户所在组的名称列表。如果未给定任何参数,则将返回当前用户所在的用户组。 |
getUsers () | 返回 Workflow Manager (Classic) 数据库中所有用户的用户名列表。 |
retrieveMap (map_name, destination_location) | 从 Workflow Manager (Classic) 数据库的指定文件夹中检索地图。 |
storeMap (map_name, source_location, {storage_type}, {overwrite}) | 将地图存储在 Workflow Manager (Classic) 数据库中。Workflow Manager (Classic) 数据库中仅可存储 .mxd。 |
方法
getActivityTypes ()
数据类型 | 说明 |
ActivityType | 以 ActivityType 对象列表的形式返回的活动类型列表。 |
活动类型是在作业的生命周期内记录在历史中的活动的模板。
以下示例返回该数据库中的活动类型。
import arcpy
import arcpy.wmx
#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
#Get the activity types in Workflow database
activityTypes = conn.config.getActivityTypes()
getHoldTypes ()
数据类型 | 说明 |
HoldType | 以 HoldType 对象列表的形式返回的保存类型列表。 |
保留类型是一种保存内容(可用于暂停作业,暂停时间无限制)模板。
以下示例会返回 Workflow Manager (Classic) 数据库中保存类型的列表。
import arcpy
#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
#Get list of Hold types in Workflow database
holdTypes = conn.config.getHoldTypes()
getJobTypeDescription ({job_type_id}, {job_type_name})
参数 | 说明 | 数据类型 |
job_type_id | 将返回属性的作业类型的 ID。 | Integer |
job_type_name | 将返回属性的作业类型的名称。 | String |
数据类型 | 说明 |
JobTypeDescription | 可进行自定义并分配给正在创建的新作业的作业类型的属性以 JobTypeDescription 对象的形式返回。 |
可在创建作业之前自定义作业类型描述以设置作业属性。
以下脚本使用作业类型 id 和作业类型名称获取作业类型描述。
import arcpy
#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
#Get the Job Type description of type Data Edits
desc = conn.config.getJobTypeDescription(job_type_name="Data Edits")
#Get the Job Type description of type 5
desc2 = conn.config.getJobTypeDescription(job_type_id=5)
以下脚本可在作业创建之前获取作业类型描述并更新两个扩展属性表值。
import arcpy
#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
#Get the Job Type description
desc = conn.config.getJobTypeDescription(job_type_name="Extended Example")
#Get the Extended Properties dictionary for the Job Type
ext_prop = desc.extendedProperties
#Define new values to use for Extended Property's Name and Address
ext_prop_dict = {'NAME' : 'John Smith', 'ADDRESS' : '106 Everdale Drive' }
#Set the new values in the appropriate Extended Property table
ext_prop['TestDB.ExtendedTable'] = ext_prop_dict
#Apply the ext_prop dictionary back to the Job Type's desc object
desc.extendedProperties = ext_prop
#Create a Job using the new Job Type description
job = conn.createJob(job_type_description = desc)
#Get the Job's properties
job_props = job.getExtendedPropertyTable('TestDB.ExtendedTable')
#Print the new extended property Name value for the Job
print(str(job_props['NAME']))
以下脚本可在作业创建之前获取作业类型描述并更新两个链接表值。
import arcpy
#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
#Get the Job Type description
desc = conn.config.getJobTypeDescription(job_type_name="Linked Example")
#Get the Extended Properties dictionary for the Job Type
ext_prop = desc.extendedProperties
#Define new values to use for Linked Properties
Table_1 = {'PLAN_NUMBER': '2', 'PARCEL_NUMBER': 568}
Table_2 = {'PLAN_NUMBER': '3', 'PARCEL_NUMBER': 569}
#Set the new tables for Linked Propertes as a list
linked_prop_list = [Table_1, Table_2]
#Set the new values in the appropriate Extended Property table
ext_prop['TestDB.LinkedTable'] = linked_prop_list
#Apply the ext_prop dictionary back to the Job Type's desc object
desc.extendedProperties = ext_prop
#Create a Job using the new Job Type description
job = conn.createJob(job_type_description = desc)
#Get the Job's properties
job_props = job.getExtendedPropertyTable('TestDB.LinkedTable')
#Print the first Parcel Number from the Linked table, value of 568
print(str(job_props[0]['PARCEL_NUMBER']))
getJobTypes ()
数据类型 | 说明 |
JobType | 将作业类型以 JobType 对象列表的形式返回。返回的作业类型由应用的作业过滤器在 Workflow Manager (Classic) 数据库中进行过滤。 |
Workflow Manager (Classic) 数据库中的作业类型是待创建作业的模板。
以下脚本获取并列出 Workflow Manager (Classic) 数据库中由应用的作业过滤器过滤的所有作业类型。
import arcpy
#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
#List all job type names in the Workflow database filtered by applied job filters.
conn.config.getJobTypes()
getMaps ()
数据类型 | 说明 |
String | Workflow Manager (Classic) 数据库中地图的名称列表。 |
Workflow Manager (Classic) 数据库中的地图用作作业地图和作业 AOI 地图的模板。
以下脚本列出了 Workflow Manager (Classic) 数据库中地图的名称。
import arcpy
import arcpy.wmx
#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
#List name of all maps in the Workflow database
conn.getMaps()
getNotificationTypes ()
数据类型 | 说明 |
String | Workflow Manager (Classic) 数据库中的所有通知类型名称列表。 |
通知类型是在作业的生命周期内发送的作业通知模板。
以下示例返回 Workflow Manager (Classic) 数据库中的通知类型。
import arcpy
#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
#Get the activity types in Workflow database
activityTypes = conn.config.getNotificationTypes()
getPriorities ()
数据类型 | 说明 |
Priority | Workflow Manager (Classic) 数据库中优先级的列表。元组由 Workflow Manager (Classic) 数据库中每个优先级的 id、名称和描述构成。 |
优先级可为作为作业的一部分来完成的工作分配重要性级别。
以下脚本列出了 Workflow Manager (Classic) 数据库中每个优先级的 id、名称和描述。
import arcpy
#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
#List all priorities in the Workflow database
conn.config.getPriorities()
getPrivileges ({username})
参数 | 说明 | 数据类型 |
username | 将返回权限的用户的用户名。 (默认值为 currentuser) | String |
数据类型 | 说明 |
String | 分配给用户的权限的列表。如果未给定任何参数,则将返回当前用户的权限。 |
这些权限限制或允许用户使用应用程序功能。
以下脚本会返回分配给当前 windows 用户的权限的列表。如果用户拥有 CreateJob 权限,则会创建一个作业。该脚本的第二部分会返回分配给具体给定用户的权限的列表。
import arcpy
#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
#List all privileges for the current Windows user in the Workflow database
user_privileges = conn.config.getPrivileges()
#If the user has the CreateJob privilege, create a job and print the name
createJob_privilege = 'CreateJob'
if createJob_privilege in user_privileges:
job = conn.createJob(job_type_name="Data Edits")
print("Job "+ job.name +" created")
#Print a list of privileges sorted alphabetically
print(sorted(privileges))
#List all privileges for a specific user has in the Workflow database
user_privileges = conn.config.getPrivileges('jdoe')
getStatusTypes ()
数据类型 | 说明 |
StatusType | 以 StatusType 对象列表的形式返回的状态类型列表。 |
状态类型是用于描述作业在执行期间所经历的状态的模板。
以下示例会返回 Workflow Manager (Classic) 数据库中状态类型的列表。
import arcpy
#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
#Get the status types in the Workflow database
statusTypes = conn.config.getStatusTypes()
getUserGroups ({username})
参数 | 说明 | 数据类型 |
username | 将返回用户组的用户的用户名。 (默认值为 currentuser) | String |
数据类型 | 说明 |
String | Workflow Manager (Classic) 数据库中用户组的名称列表。 |
可利用用户组组织用户,并为用户分配权限。
以下脚本会返回 Workflow Manager (Classic) 数据库中针对当前 windows 用户和指定用户所在用户组的名称列表。
import arcpy
#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
#List all user group names to which the current Windows user belongs in the Workflow database
conn.getUserGroups()
#List all user group names to which the the specified user belongs in the Workflow database
conn.getUserGroups(username='jdoe')
getUsers ()
数据类型 | 说明 |
String | Workflow Manager (Classic) 数据库中所有用户的用户名列表。 |
可利用用户来分配工作、记录作业历史信息以及授予应用程序访问权限。
以下脚本列出了数据库中的所有用户。
import arcpy
#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
#List username for all the users in the Workflow database
conn.getUsers()
retrieveMap (map_name, destination_location)
参数 | 说明 | 数据类型 |
map_name | 要从 Workflow Manager (Classic) 数据库中检索的地图的名称。 | String |
destination_location | 将要保存所检索到的地图的文件夹位置和待使用名称。 | String |
该地图可用于提供编辑所需的底图,并将用户定向到将完成作业的大部分工作的地方。
下列脚本将从 Workflow Manager (Classic) 数据库中的指定位置检索现有地图,并使用所提供的名称将其保存。
import arcpy
#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
maplist = conn.config.getMaps()
#Retrieve a map named Parcel Data from the Workflow database
for maps in mapList:
if (maps=='Parcel Data'):
conn.retrieveMap(map_name='Parcel Data',destination_location=r'C:\test\Parcel Data.mxd')
下列脚本将从 Workflow Manager (Classic) 数据库中的指定位置检索现有地图,并使用所提供的名称将其保存。
import arcpy
import arcpywmx
# Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
# Retrieve a map named Parcel Data from the Workflow Manager database
for maps in mapList:
if maps == 'Parcel Data':
conn.config.retrieveMap(map_name='Parcel Data', destination_location=r'C:\test\Parcel Data.mxd')
storeMap (map_name, source_location, {storage_type}, {overwrite})
参数 | 说明 | 数据类型 |
map_name | 用于将地图存储于 Workflow Manager (Classic) 数据库的名称。 | String |
source_location | 地图所在的文件夹位置,其中带有地图名称。 | String |
storage_type | 地图的存储类型。如没有给定值,则地图默认存储于 Workflow Manager (Classic) 数据库中。
(默认值为 embedded) | String |
overwrite | 如果此地图存在于 Workflow Manager (Classic) 数据库中,则覆盖该地图。如果未提供给定值,则不覆盖现有地图。
(默认值为 false) | String |
该地图可用于提供编辑所需的底图,并将用户定向到将完成作业的大部分工作的地方。
以下脚本可将地图保存在 Workflow Manager (Classic) 数据库中,并将另一地图的位置保存为链接地图。
import arcpy
#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
#Store an embedded map with name South California Roads and overwrite existing map
conn.config.storeMap(map_name="South California Roads",source_location="C:\Test\South California Roads.mxd",storage_type="embedded", overwrite="true")
#Store a linked map
conn.config.storeMap(map_name="Parcels",source_location="C:\Test\Parcel_data.mxd",storage_type="linked")