DeleteMapService (arcpy.mapping)
摘要
此方法自 ArcGIS 10.1 for Server 和 ArcGIS 10.1 for Desktop 起已弃用并会返回运行时错误。有关新的 ArcGIS for Server Administrator API 的使用方法,请查阅 ArcGIS 文档。
讨论
此方法自 ArcGIS 10.1 for Server 和 ArcGIS 10.1 for Desktop 已弃用并会返回运行时错误。
ArcGIS 10.1 for Server 具有全新架构,这种架构可能要求您调整服务器的使用方式。有关详细信息,请参阅以下帮助主题:迁移至 ArcGIS for Server 时可能出现的情况。
您可以使用 ArcGIS 站点目录中的 ArcGIS for Server Administrator API 删除地图服务。ArcGIS for Server 站点目录的默认 URL 如下所示:
http://<服务器名称>:6080/arcgis/admin
如果您已将 ArcGIS for Server Web Adaptor 配置为与您的站点配合使用,则 Site Directory 的 URL 可能会有所不同。例如,可能不需要端口号 6080。检查 Web Adaptor 配置以获得正确的 URL。
下面演示了使用 Python 和 ArcGIS for 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>')
语法
参数 | 说明 | 数据类型 |
connection_url_or_name |
A string that represents the URL of the ArcGIS for Server for which you want to delete a service. | String |
server |
A string that represents the ArcGIS for Server host name. | String |
service_name |
A string that represents the name of the service. This is the name people will see and use to identify the service. The name can only contain alphanumeric characters and underscores. No spaces or special characters are allowed. The name cannot be more than 120 characters in length. | String |
folder_name |
A string that represents a folder name. | String |
connection_username |
A string that represents a user name used to connect to ArcGIS for Server. This variable is only necessary when connecting to a UNIX/Linux ArcGIS for Server. (默认值为 None) | String |
connection_password |
A string that represents a password used to connect to the ArcGIS for Server. This variable is only necessary when connecting to a UNIX/Linux ArcGIS for Server. (默认值为 None) | String |
connection_domain |
A string that represents a domain name used to connect to the ArcGIS for Server. This variable is only necessary when connecting to a UNIX/Linux ArcGIS for Server. (默认值为 None) | String |