摘要
该函数将 Result 对象和结果文件 (.rlt) 转换为服务定义草稿 (.sddraft) 文件。
说明
CreateGPSDDraft 是使用 ArcPy 将地理处理结果自动发布到 GIS Server 的第一步。通过 CreateGPSDDraft 创建的输出是服务定义草稿 (.sddraft) 文件。服务定义草稿由结果文件或 Result 对象、服务器信息和一组服务属性组合而成。可通过设置执行工具的变量,从而在 Python 脚本中创建 Result 对象,例如,以下缓冲结果保存至名为 result 的变量中:
import arcpy
result = arcpy.Buffer_analysis("inPts", "output.shp", "100 Meters")
服务器信息包括服务器连接,已发布的服务器的类型,正在发布的服务的类型,服务的元数据(项目信息)和数据参考(是否向服务器复制数据)。
此函数返回 Python 字典,其中包含应在创建服务定义文件之前解决的错误和其他潜在问题。
语法
CreateGPSDDraft (result, out_sddraft, service_name, {server_type}, {connection_file_path}, {copy_data_to_server}, {folder_name}, {summary}, {tags}, {executionType}, {resultMapServer}, {showMessages}, {maximumRecords}, {minInstances}, {maxInstances}, {maxUsageTime}, {maxWaitTime}, {maxIdleTime})
参数 | 说明 | 数据类型 |
result [result,...] | 引用磁盘上的一个或多个结果对象或结果文件 (.rlt)。多个结果必须以列表格式提供。以下示例演示了多个结果作为 CreateGPSDDraft 函数的输入。
| Result |
out_sddraft | 用于表示输出服务定义草稿 (.sddraft) 文件的路径和文件名的字符串。 | String |
service_name | 用于表示服务名称的字符串。该名称用于向用户显示并识别服务。名称只能包含字母数字字符和下划线。不允许使用空格或特殊字符。名称长度不能超过 120 个字符。 | String |
server_type | 表示服务器类型的字符串。如果未提供 connection_file_path 参数,则必须提供 server_type。如果提供了 connection_file_path 参数,则可从连接文件获取 server_type。在这种情况下,您可以选择 FROM_CONNECTION_FILE 或完全跳过该参数。
(默认值为 ARCGIS_SERVER) | String |
connection_file_path | 用于表示 ArcGIS for Server 连接文件 (.ags) 的路径和文件名的字符串。 | String |
copy_data_to_server | 指示 result 中所引用的数据是否复制到服务器的布尔值。copy_data_to_server 参数仅在 server_type 为 ARCGIS_SERVER 且 connection_file_path 未指定的情况下使用。如果 connection_file_path 已指定,则会使用服务器的已注册数据存储。例如,如果 result 中的数据已注册到服务器,则 copy_data_to_server 将始终为 False。相反,如果 result 中的数据未注册到服务器,则 copy_data_to_server 将始终为 True。 (默认值为 False) | Boolean |
folder_name | 用于表示您要向其中发布服务定义的文件夹名称的字符串。如果该文件夹当前不存在,则将创建该文件夹。默认的文件夹为服务器根级别。 (默认值为 None) | String |
summary | 用于表示项目描述摘要的字符串。 使用此参数可以覆盖用户界面摘要,如果摘要不存在,则将提供摘要。此处提供的摘要不会保留在地图文档中。 (默认值为 None) | String |
tags | 用于表示项目描述标签的字符串。 使用此参数可以覆盖用户界面标签,如果标签不存在,则将提供标签。此处提供的标签不会保留在地图文档中。 (默认值为 None) | String |
executionType | 同步和异步定义了客户端(使用任务的应用程序)如何与服务器进行交互以及如何获取任务结果。服务设置为同步时,客户端将等待任务完成。通常,同步任务的执行速度很快,大概需要 5 秒或更短。异步任务的执行往往花费的时间较长,客户端必须定期向服务器发出询问以确定任务是否已完成,如果完成,则获取结果。使用异步任务的 Web 应用程序必须添加函数逻辑来检查任务状态,并在执行完毕后处理结果。ArcGIS Desktop 客户端可以处理这两种执行类型。 (默认值为 Asynchronous) | String |
resultMapServer | 发布地理处理服务时,可以选择以地图形式查看服务所有任务的结果(以及任务的其他结果)。该地图使用地图服务创建在服务器上,以将其以影像形式(如 .jpeg)传输回客户端。返回地图的符号系统、标注、透明度和所有其他属性与输出图层的设置完全相同。请记住,如果您在 Python 脚本环境(ArcMap 之外)中创建结果图层,则将使用默认符号系统。要保留符号系统的控制权,您需要使用丰富的符号系统预先创建图层文件,然后使用其修改任务的输出符号系统。 选择此选项后,服务器上会自动生成一个地图服务,其名称与您的地理处理服务相同。 (默认值为 False) | Boolean |
showMessages | 用于设置地理处理服务消息级别的字符串。以下是服务返回到客户端的有效消息级别的列表。
(默认值为 None) | String |
maximumRecords | 服务可返回给客户端的最大结果数。将此值设成一个较大数值意味着您的 GIS 服务器可处理发送大量的个人记录或要素给客户端。如果您不希望返回任何要素,请将此值设为 O。通常情况下,只有当您启用通过地图服务查看结果时才将此值设为零。 (默认值为 1000) | Integer |
minInstances | 用于表示服务将要启动并可供使用的最少实例数的整数值。对于频繁使用的服务,您可能希望提高该值。 (默认值为 1) | Integer |
maxInstances | 用于表示服务可以启动并可供使用的最大实例数的整数值。对于频繁使用的服务,您可能需要提高该值。请确保服务器具有的硬件足以支持您要允许的最大实例数。 (默认值为 2) | Integer |
maxUsageTime | 一个服务能被使用的最长时间,以秒为单位。您可能需要延长默认值 600 秒(10分钟),以服务于长时间运行的地理处理任务。或者,您可能需要减少此时间,以确保客户端不会滥用您的服务。 (默认值为 600) | Integer |
maxWaitTime | 超时之前客户端连接一个实例需要等待的最长时间(以秒计)。当所有实例都忙于处理请求时,随后的请求将进入排队状态。如果在实例可被使用之前超时,任务会失败。默认值为 60 秒(1 分钟)。 (默认值为 60) | Integer |
maxIdleTime | 池收缩之前一个实例能继续保持活跃的最长时间(以秒计)。对于所有超出最小实例数且未被使用的实例,一旦达到最长空闲时间,即会被关闭。 (默认值为 1800) | Integer |
返回值
数据类型 | 说明 |
Dictionary | 返回由信息性消息、警告和错误组成的 Python 字典。 |