过渡服务 (服务器)

摘要

过渡服务定义。 过渡的服务定义文件 (.sd) 包含用于共享 Web 图层、定位器、Web 工具或服务的所有必要信息。

使用情况

  • 此工具用于将服务定义草稿文件 (.sddraft) 转换为服务定义,随后可将服务定义输入到上传服务定义工具中,以便上传 Web 图层、定位器、Web 工具或服务并将其发布到 ArcGIS OnlineArcGIS EnterpriseArcGIS Server。 草稿服务定义不能直接用于发布 Web 图层、定位器、Web 工具或服务。

  • 该工具将分析 .sddraft 文件,以在将 .sddraft 文件转换为 .sd 文件之前,确定适用性和潜在性能问题的来源。 当该工具正在运行时,可以将光标悬停在进度条上以显示一个弹出窗口,其中包含有关该工具的全面信息,包括分析器消息。 还可以单击查看详细信息以在分离的窗口中查看相同的信息,或者单击打开历史记录以打开工程的地理处理历史记录。 该工具运行完毕后,进度条将显示一个图标和一条消息,指示工具状态。 有关在地理处理工具中查看消息的详细信息,请参阅使用地理处理工具

  • 分析 .sddraft 文件时,可能会看到两种类型的消息:错误和警告。 必须解决分析器错误,然后才能创建 .sd 文件。 分析器警告用于标识与性能、外观和数据访问相关的问题,此类问题不会阻止您将 .sddraft 文件转换为 .sd 文件。 所有分析器消息都具有关联的帮助主题。 有关解决这些问题的详细信息,请参阅分析 GIS 资源

  • 可以使用 arcpy.sharing 模块、CreateGeocodeSDDraftCreateGPSDDraft ArcPy 函数创建服务定义草稿。

参数

标注说明数据类型
服务定义草稿

输入草稿服务定义。 可以使用 arcpy.sharing 模块、CreateGeocodeSDDraftCreateGPSDDraft ArcPy 函数创建服务定义草稿。

File
服务定义

生成的服务定义。 默认情况下,服务定义将写入与服务定义草稿相同的目录中。

File
过渡版本
(可选)

发布的服务定义版本。

在将要素、切片或影像图层共享至 ArcGIS Enterprise 时,使用值 5。 将地图图像图层或网络工具共享到 ArcGIS Enterprise, 以及将任何图层类型共享到 ArcGIS Online, 时,请使用 102 作为值。 这是默认设置。

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

  • 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
  • 10.5.1 - 200
Long

arcpy.management.StageService(in_service_definition_draft, out_service_definition, {staging_version})
名称说明数据类型
in_service_definition_draft

输入草稿服务定义。 可以使用 arcpy.sharing 模块、CreateGeocodeSDDraftCreateGPSDDraft ArcPy 函数创建服务定义草稿。

File
out_service_definition

生成的服务定义。 默认情况下,服务定义将写入与服务定义草稿相同的目录中。

File
staging_version
(可选)

发布的服务定义版本。

在将要素、切片或影像图层共享至 ArcGIS Enterprise 时,使用值 5。 将地图图像图层或网络工具共享到 ArcGIS Enterprise, 以及将任何图层类型共享到 ArcGIS Online, 时,请使用 102 作为值。 这是默认设置。

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

  • 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
  • 10.5.1 - 200
Long

代码示例

StageService 示例 1(独立脚本)

以下脚本将地图中的图层列表作为 web 切片图层发布至 ArcGIS EnterpriseArcGIS 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)))