摘要
从指定的 ArcGIS Server 中删除地图服务。
说明
此方法自 ArcGIS 10.1 for Server 和 ArcGIS 10.1 for Desktop 已弃用并会返回运行时错误。
ArcGIS 10.1 for Server 具有全新架构,这种架构可能要求您调整服务器的使用方式。有关详细信息,请参阅以下帮助主题:迁移至 ArcGIS Server 时可能出现的情况。
您可以使用 ArcGIS 站点目录中的 ArcGIS Server Administrator API 删除地图服务。ArcGIS Server 站点目录的默认 URL 如下所示:
http://<服务器名称>:6080/arcgis/admin
下面演示了使用 Python 和 ArcGIS Server Administrator API 删除地图服务:
import json
import urllib
import urllib2
def gentoken(url, username, password, expiration=60):
query_dict = {'username': username,
'password': password,
'expiration': str(expiration),
'client': 'requestip'}
query_string = urllib.urlencode(query_dict)
return json.loads(urllib.urlopen(url + "?f=json", query_string).read())['token']
def deleteservice(server, servicename, username, password, token=None, port=6080):
if token is None:
token_url = "http://{}:{}/arcgis/admin/generateToken".format(server, port)
token = gentoken(token_url, username, password)
delete_service_url = "http://{}:{}/arcgis/admin/services/{}/delete?token={}".format(server, port, servicename, token)
urllib2.urlopen(delete_service_url, ' ').read() # The ' ' forces POST
# if you need a token, execute this line:
deleteservice("<server>", "<service>.MapServer", "<admin username>", "<admin password>")
# if you already have a token, execute this line:
deleteservice("<server>", "<service>.MapServer", None, None, token='<token string>')
语法
DeleteMapService (connection_url_or_name, server, service_name, {folder_name}, {connection_username}, {connection_password}, {connection_domain})
参数 | 说明 | 数据类型 |
connection_url_or_name | 用于表示您想要从中删除服务的 ArcGIS Server URL 的字符串。 | String |
server | 用于表示 ArcGIS Server 主机名称的字符串。 | String |
service_name | 用于表示服务名称的字符串。该名称用于向用户显示并识别服务。名称只能包含字母数字字符和下划线。不允许使用空格或特殊字符。名称长度不能超过 120 个字符。 | String |
folder_name | 用于表示文件夹名称的字符串。 | String |
connection_username | 表示用于连接到 ArcGIS Server 的用户名的字符串。只有在连接到 UNIX/Linux ArcGIS Server 时才需要此变量。 (默认值为 None) | String |
connection_password | 表示用于连接到 ArcGIS Server 的密码的字符串。只有在连接到 UNIX/Linux ArcGIS Server 时才需要此变量。 (默认值为 None) | String |
connection_domain | 表示用于连接到 ArcGIS Server 的域名的字符串。只有在连接到 UNIX/Linux ArcGIS Server 时才需要此变量。 (默认值为 None) | String |