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 报告将根据不符合条件的原因对不符合条件的服务进行分类。
- 用代码 10900 标记的地图和影像服务包含不兼容的服务功能。 必须在地图或影像服务上禁用 Schematics 功能或自定义服务器对象扩展模块 (SOE) 或服务器对象拦截器 (SOI) 才能使其符合迁移条件。 (您可以迁移 SOE 和 SOI 并将其添加到所迁移的服务中。 有关详细信息,请参阅博客文章将 ArcObjects SOE 和 SOI 迁移到 ArcGIS Enterprise SDK。)
- 用代码 10901 标记的地图服务包含不兼容的图层类型。 无法迁移栅格目录图层和由 Tracking Analyst 扩展模块创建的启用时间的图层,以及来自不受 ArcGIS Pro 支持的数据库的要素图层。
- 由代码 10903 标记的地理数据服务是从 ArcGIS Pro 不支持的数据库(尤其是 IBM Db2 for z/OS 和 IBM Informix 数据库)发布的。 对于使用不受支持的数据库的地理数据服务,您必须先将源数据移动到 ArcGIS Pro 支持的数据库,然后才能进行重新发布。
应用于服务或服务中的栅格数据源的某些栅格函数将不能用于 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.sh 文件,也可以通过引用目录的完整路径来运行该文件。 您必须使用安装 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 站点中的计算机上运行实用程序所需的登录信息。 管理员将在计算机上打开一个命令 shell,访问工具目录并在 analysis 模式下运行命令。 因为 HTML 报告将与同事共享,所以管理员将指定一个共享目录作为输出位置。
cd <ArcGIS Server installation location>/arcgis/server/tools/UpdateArcMapServices
UpdateArcMapServices.sh -m analysis -o /Home/SharedDocs
该工具将运行,并确定 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.sh -m execution
工具运行时,管理员将监视 HTML 结果页面以查看每个迁移任务的日志。 工具完成后,每个符合条件的服务均已成功迁移到 ArcGIS Pro 服务运行时。
剩余的服务无法迁移。 GIS 工作人员开始创作要在 ArcGIS Pro 中重新发布的内容。
GIS 工作人员还将使用 ArcGIS Enterprise SDK 重新编译 JavaRESTSOE、JavaMapExtension 和 CustomExtension SOE。 更新 SOE 后,他们会将其逐个添加到四个地图服务中。