操作方法
可以从 ArcGIS Server Manager、ArcCatalog 或者 ArcMap 中的目录窗口来停止 ArcGIS Server 服务。 在某些情况下,可能必须停止多个服务,而手动停止这些服务非常繁琐。 对于联合 ArcGIS Server,可以使用 ArcGIS API for Python 的 stop() 函数来自动执行此过程。
以下步骤将介绍如何使用 stop() 函数来停止 GIS 文件夹中的服务:
from arcgis.gis import GIS import arcgis.gis.admin
gis = GIS("<portal url>", "<portal admin username>", "<portal admin password>")
注: 要绕过证书验证,添加以下参数“verify_cert=False”。
gis_servers = gis.admin.servers.list()
注: 如果列表中的所需服务器文件夹数组位置已知,则可以将脚本修改为: servers = gis.admin.servers.list()[0] 可以对“[0]”进行修改以指定服务在数组中的确切位置。 在该示例中,脚本将获取列表中的第一个服务。
for server in gis_servers: for service in server.services.list(): service.stop()
注: 要停止特定服务,可以对代码进行以下修改: for server in gis_servers: for service in server.services.list(): if service.properties.serviceName == "SampleWorldCities": service.stop() 该代码示例将搜索服务名称为 SampleWorldCities 的服务并将其停止。
以下为完整代码:
from arcgis.gis import GIS import arcgis.gis.admin gis = GIS("https://machine.domain.com/portal", "admin", "password", verify_cert=False) gis_servers = gis.admin.servers.list() #To stop all services for server in gis_servers: for service in server.services.list(): service.stop() #To stop specific service(s) for server in gis_servers: for service in server.services.list(): if service.properties.serviceName == "SampleWorldCities": service.stop()
从 ArcGIS 专家处获得帮助
下载 Esri 支持应用程序