Skip To Content

使用 UpdateArcMapServices 实用程序迁移服务

ArcGIS Enterprise 10.9.1 版本之后,ArcGIS Server 将不再支持 ArcMap 服务运行时。 新发布的服务和升级服务器站点上的现有服务将仅支持使用 ArcGIS Pro 服务运行时的服务。

建议您在服务运行时不再受支持之前,迁移、重新发布或移除所有使用 ArcMap 服务运行时的服务。

了解有关迁移服务的详细信息

UpdateArcMapServices 命令行实用程序允许您自动进行受支持的 GIS 服务的批量迁移。 实用程序提供以下两种模式:

  • analysis - 在 analysis 模式下运行工具以评估站点中的哪些服务已准备就绪,可以迁移到 ArcGIS Pro 服务运行时。
  • execution - 当您了解了可以迁移的服务并对阻止符合条件的服务进行迁移的因素进行修正后,在 execution 模式下运行此工具以将所有符合条件的服务迁移到 ArcGIS Pro 服务运行时。 服务运行时迁移不会影响服务的内容或设置。

迁移服务运行时的先决条件

UpdateArcMapServices 实用程序可以迁移以下类型的服务:

  • 地图服务(启用或未启用 KML)
  • 要素服务(启用了要素访问的地图服务)
  • 影像服务
  • WMS 服务(启用了 WMS 的地图服务)
  • WCS 服务(启用了 WCS 的地图服务)
  • WFS 服务(启用了 WFS 的地图服务)
  • 网络分析服务(启用了网络分析的地图服务)
  • 地理数据服务

ArcGIS Server Manager 中的编辑运行时操作不同,除了迁移地图服务之外,您还可以使用命令实用程序迁移影像和地理数据服务。 但是,对于哪些服务可以迁移到 ArcGIS Pro 服务运行时,仍然存在限制。 要识别这些服务,请在 analysis 模式下运行实用程序。 结果窗口和 HTML 报告将根据不符合条件的原因对不符合条件的服务进行分类。

应用于服务或服务中的栅格数据源的某些栅格函数将不能用于 ArcGIS Pro 服务运行时,例如在 Python 2 中编写的 Python 栅格函数和具有某些色带的栅格函数。 HTML 报告不会识别出包含这些不支持的栅格函数的单个服务,但是报告将通知您 ArcGIS Server 站点上运行某些服务包含这些函数。 在迁移之前,将 Python 2 函数替换为 Python 3 函数。 您可以在不移除不支持的栅格函数的情况下迁移这些服务,但是迁移的服务在访问这些函数时将无法正常运行。 如果迁移的服务因不支持的色带而无法正确渲染,请联系 Esri 技术支持(美国境内)或您的 Esri 分销商(美国境外)。

仅分析从 ArcMap 发布的服务。 最初从 ArcGIS Pro 中发布的服务无法迁移到 ArcMap 服务运行时,且不会显示在已分析服务的列表中。

服务实例

ArcGIS Pro 服务运行时支持地图服务的专用和共享实例类型。 因此,在迁移过程中,该实用程序会为每个迁移的地图服务分配一个实例类型。 这基于您 ArcGIS Server 站点上的默认实例类型设置。

在迁移服务之前,请考虑此问题的影响。 例如,如果您 ArcGIS Server 站点的默认实例类型是共享实例,并且您正准备迁移收到高流量的服务,请考虑在迁移后编辑该服务以使用专用实例,从而确保其具有足够的资源。 如果服务具有自定义 SOE 或 SOI,并且您打算在迁移后将它们重新编译并添加到服务,则服务无法使用共享实例池化。

了解有关配置服务实例设置的详细信息

访问命令行实用程序

迁移实用程序托管在 ArcGIS Server 计算机上的 <ArcGIS Server installation location>\tools\UpdateArcMapServices 文件夹中。 您可以直接从此位置运行 UpdateArcMapServices.bat 文件,也可以通过引用目录的完整路径来运行该文件。 您必须使用 ArcGIS Server 帐户登录到 ArcGIS Server 计算机。

在任何一种模式下运行 UpdateArcMapServices 实用程序时,都会打开一个 HTML 页面以显示工具结果。 两种模式都显示符合或当前不符合迁移条件的服务的计数。 在 execution 模式下,将显示与迁移操作相关的日志,以及已成功迁移到 ArcGIS Pro 服务运行时的服务计数。

参数

该实用程序支持以下输入参数:

参数描述

-m--mode

指定您希望工具运行的方式:analysis 模式(默认)评估并显示当前符合及不符合迁移条件的服务,而 execution 模式会将所有符合条件的服务迁移到 ArcGIS Pro 服务运行时。

-o--output

定义将工具报告文件生成到的目录。 如果未定义,则该工具会将报告生成到运行实用程序的计算机上的一个临时目录。

-u--username

指定 ArcGIS Server 站点的主站点管理员的用户名。 如果站点的主站点管理员帐户不可用,请为服务器管理员或(如果服务器是联合服务器)门户管理员指定帐户用户名。

-h--help

打印该实用程序的帮助。

使用示例

GIS 管理员希望组织的所有服务均使用 ArcGIS Pro 服务运行时。 首先,管理员将登录到 ArcGIS Server Manager 以创建在 ArcGIS Server 站点上运行的地理处理和地理编码服务的列表。 它们无法被迁移,必须重新发布。

接下来,管理员将在 analysis 模式下运行 UpdateArcMapServices 实用程序,以确定哪些地图、影像和地理数据服务包含不支持的功能或图层。

GIS 管理员将使用运行该 ArcGIS Server 服务的登录帐户登录到 ArcGIS Server 站点中的一台计算机。 管理员将打开一个命令窗口,访问工具目录并在 analysis 模式下运行命令。 因为 HTML 报告将与同事共享,所以管理员将指定一个共享目录作为输出位置。

cd <ArcGIS Server installation location>\arcgis\server\tools\UpdateArcMapServices

UpdateArcMapServices.bat -m analysis -o C:\\Desktop

该工具将运行,并确定 ArcGIS Server 站点中当前有五个服务不符合迁移条件。 结果将在命令行处显示,并在 HTML 报告中列出。 报告显示,有四个服务启用了不支持的功能(警告代码 10900),有一个服务包含不支持的图层类型(警告代码 10901)。

WARNING: Service [Mapservice1] with extensions [JavaRESTSOE] enabled needs to be addressed. Code 10900.
WARNING: Service [Mapservice2] with extensions [JavaMapExtension] enabled needs to be addressed. Code 10900.
WARNING: Service [Mapservice3] with extensions [CustomExtension] enabled needs to be addressed. Code 10900.
WARNING: Service [Mapservice4] with extensions [JavaMapExtension,JavaRESTSOE] enabled needs to be addressed. Code 10900.
WARNING: Service [Imageservice] with data in layers [coral_reefs] needs to be addressed. Code 10901.

GIS 工作人员将查看报告并对五个服务进行逐个检查。 他们确定包含不支持的扩展模块的四个服务启用了自定义 SOE,另一个服务包含栅格数据集。 为了使前四个服务能够被迁移,他们在 ArcGIS Server Manager 中禁用了每个服务的 SOE。 他们将重新编译 SOE,并在将地图服务迁移到 ArcGIS Pro 服务运行时后将 SOE 添加回地图服务。

由于无法从服务中移除图层,所以他们不会迁移影像服务。 该服务将被添加到 GIS 管理员的服务列表中,以在 ArcGIS Pro 中重新创建和发布。

从前四个服务中移除 SOE 后,管理员将在 execution 模式下运行此工具以将所有符合条件的服务从 ArcMap 服务运行时迁移到 ArcGIS Pro 服务运行时。

UpdateArcMapServices.bat -m execution

工具运行时,管理员将监视 HTML 结果页面以查看每个迁移任务的日志。 工具完成后,每个符合条件的服务均已成功迁移到 ArcGIS Pro 服务运行时。

剩余的服务无法迁移。 GIS 工作人员开始创作要在 ArcGIS Pro 中重新发布的内容。

GIS 工作人员还将使用 ArcGIS Enterprise SDK 重新编译 JavaRESTSOE、JavaMapExtension 和 CustomExtension SOE。 更新 SOE 后,他们会将其逐个添加到四个地图服务中。