过渡服务 (服务器)

摘要

过渡服务定义。 过渡的服务定义文件 (.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。 将地图图像图层或网络工具共享到 ArcGIS Enterprise, 以及将任何图层类型共享到 ArcGIS Online, 时,请使用 102 作为值。 这是默认设置。

在将网络工具或地理处理服务共享到 ArcGIS Enterprise 或 ArcGIS Server 使用 GeoprocessingSharingDraft 或 CreateGPSDDraft 功能时,请使用以下列表中与版本号相对应的值:

  • 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.management.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。 将地图图像图层或网络工具共享到 ArcGIS Enterprise, 以及将任何图层类型共享到 ArcGIS Online, 时,请使用 102 作为值。 这是默认设置。

在将网络工具或地理处理服务共享到 ArcGIS Enterprise 或 ArcGIS Server 使用 GeoprocessingSharingDraft 或 CreateGPSDDraft 功能时,请使用以下列表中与版本号相对应的值:

  • 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

代码示例

StageService 示例 1(独立脚本)

以下脚本将地图中的图层列表作为 web 切片图层发布至 ArcGIS Enterprise 或 ArcGIS Online。 Portal 信息是从 ArcGIS AllSource 中的 Portals 页面获取的。

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.")
StageService 示例 2(独立脚本)

以下脚本用于过渡现有服务定义草稿并显示分析器警告和错误。

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)))