过渡服务 (服务器工具)
汇总
过渡服务定义。 过渡的服务定义文件 (.sd) 包含用于共享 Web 图层、定位器、Web 工具或服务的所有必要信息。
用法
此工具用于将服务定义草稿文件 (.sddraft) 转换为服务定义,随后可将服务定义输入到 上传服务定义 工具中,以便上传 Web 图层、定位器、Web 工具或服务并将其发布到 ArcGIS Online、ArcGIS Enterprise 或 ArcGIS Server。 草稿服务定义不能直接用于发布 Web 图层、定位器、Web 工具或服务。
该工具将分析 .sddraft 文件,以在将 .sddraft 文件转换为 .sd 文件之前,确定适用性和潜在性能问题的来源。 当该工具正在运行时,可以将光标悬停在进度条上以显示一个弹出窗口,其中包含有关该工具的全面信息,包括分析器消息。 还可以单击查看详细信息以在分离的窗口中查看相同的信息,或者单击打开历史记录以打开工程的 地理处理历史记录。 该工具运行完毕后,进度条将显示一个图标和一条消息,指示工具状态。 有关在地理处理工具中查看消息的详细信息,请参阅 使用地理处理工具。
分析 .sddraft 文件时,可能会看到两种类型的消息:错误和警告。 必须解决分析器错误,然后才能创建 .sd 文件。 分析器警告用于标识与性能、外观和数据访问相关的问题,此类问题不会阻止您将 .sddraft 文件转换为 .sd 文件。 所有分析器消息都具有关联的帮助主题。 有关解决这些问题的详细信息,请参阅 分析 GIS 资源。
可以使用 arcpy.sharing 模块、CreateGeocodeSDDraft 函数或 CreateGPSDDraft ArcPy 函数创建服务定义草稿。
参数
|
标注
|
说明
|
数据类型
|
|
服务定义草稿
|
输入草稿服务定义。 可以使用 arcpy.sharing 模块、CreateGeocodeSDDraft 函数或 CreateGPSDDraft ArcPy 函数创建服务定义草稿。
|
File
|
|
服务定义
|
生成的服务定义。 默认情况下,服务定义将写入与服务定义草稿相同的目录中。
|
File
|
|
过渡版本
(可选)
|
发布的服务定义版本。
在将要素、切片或影像图层共享至 ArcGIS Enterprise 时,使用值 5。 将地图图像图层或 Web 工具共享到 ArcGIS Enterprise, 以及将任何图层类型共享到 ArcGIS Online 时,请使用 102 作为值。 这是默认设置。
使用 GeoprocessingSharingDraft 或 CreateGPSDDraft 函数将 Web 工具或地理处理服务共享到 ArcGIS Enterprise 或 ArcGIS Server 时,请使用与以下列表中的版本号对应的值:
12.1—370
12.0—360
11.5—350
11.4—340
11.3—330
11.2—320
11.1—310
11.0—300
10.9.1—209
10.9—208
10.8.1—206
10.8—205
10.7.1—204
10.7—203
10.6.1—202
10.6—201
|
Long
|
arcpy.server.StageService(in_service_definition_draft, out_service_definition, {staging_version})
|
名称
|
说明
|
数据类型
|
|
in_service_definition_draft
|
输入草稿服务定义。 可以使用 arcpy.sharing 模块、CreateGeocodeSDDraft 函数或 CreateGPSDDraft ArcPy 函数创建服务定义草稿。
|
File
|
|
out_service_definition
|
生成的服务定义。 默认情况下,服务定义将写入与服务定义草稿相同的目录中。
|
File
|
|
staging_version
(可选)
|
发布的服务定义版本。
在将要素、切片或影像图层共享至 ArcGIS Enterprise 时,使用值 5。 将地图图像图层或 Web 工具共享到 ArcGIS Enterprise, 以及将任何图层类型共享到 ArcGIS Online 时,请使用 102 作为值。 这是默认设置。
使用 GeoprocessingSharingDraft 或 CreateGPSDDraft 函数将 Web 工具或地理处理服务共享到 ArcGIS Enterprise 或 ArcGIS Server 时,请使用与以下列表中的版本号对应的值:
12.1—370
12.0—360
11.5—350
11.4—340
11.3—330
11.2—320
11.1—310
11.0—300
10.9.1—209
10.9—208
10.8.1—206
10.8—205
10.7.1—204
10.7—203
10.6.1—202
10.6—201
|
Long
|
代码示例
以下脚本将地图中的图层列表作为 web 切片图层 发布至 ArcGIS Enterprise 或 ArcGIS Online。 门户信息是从 ArcGIS Pro 中的 门户 页面获取的。
import arcpy
import os
# Set output file names
outdir = r"C:\Project\Output"
service = "TileSharingDraftExample"
sddraft_filename = service + ".sddraft"
sddraft_output_filename = os.path.join(outdir, sddraft_filename)
# Reference map to publish
aprx = arcpy.mp.ArcGISProject(r"C:\Project\World.aprx")
m = aprx.listMaps("World")[0]
lyrs = []
lyrs.append(m.listLayers('cities')[0])
lyrs.append(m.listLayers('counties')[0])
# Create TileSharingDraft and set service properties
sharing_draft = m.getWebLayerSharingDraft("HOSTING_SERVER", "TILE", service, lyrs)
sharing_draft.summary = "My Summary"
sharing_draft.tags = "My Tags"
sharing_draft.description = "My Description"
sharing_draft.credits = "My Credits"
sharing_draft.useLimitations = "My Use Limitations"
# Create Service Definition Draft file
sharing_draft.exportToSDDraft(sddraft_output_filename)
# Stage Service
sd_filename = service + ".sd"
sd_output_filename = os.path.join(outdir, sd_filename)
arcpy.server.StageService(sddraft_output_filename, sd_output_filename)
# Share to portal
print("Uploading Service Definition...")
arcpy.server.UploadServiceDefinition(sd_output_filename, "My Hosted Services")
print("Successfully Uploaded service.")
以下脚本用于过渡现有服务定义草稿并显示分析器警告和错误。
import arcpy
try:
arcpy.server.StageService(r"C:\Data\World.sddraft", r"C:\Data\World.sd")
warnings = arcpy.GetMessages(1)
print(warnings)
except Exception as stage_exception:
print("Sddraft not staged. Analyzer errors encountered - {}".format(str(stage_exception)))
环境
当前工作空间
许可信息