DeleteMapService (arcpy.mapping)
Краткая информация
Этот метод является устаревшим, начиная с ArcGIS 10.1 for Server и ArcGIS 10.1 for Desktop, и возвращает ошибку исполнения. Обратитесь к документации ArcGIS по использованию нового ArcGIS for Server интерфейса Administrator API.
Обсуждение
Этот метод является устаревшим, начиная с ArcGIS 10.1 for Server и ArcGIS 10.1 for Desktop, и возвращает ошибку исполнения.
ArcGIS 10.1 for Server имеет новую архитектуру, поэтому вам может потребоваться изменить способ вашей работы с сервером. Обратитесь к разделу справки для получения дополнительной информации: Чего ожидать при переходе на ArcGIS for Server.
Можно удалить картографические сервисы с использованием ArcGIS for Server интерфейса Administrator API, доступного через ArcGIS Site Directory. По умолчанию используется следующий URL ArcGIS for Server Site Directory:
http://<имя сервера>:6080/arcgis/admin
URL Site Directory может быть другим, если вы настроили ArcGIS for Server Web Adaptor для работы с вашим сайтом. Например, включать номер порта (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 |
Строка, содержащая URL ArcGIS for Server, для которого вы хотите удалить сервис. | String |
server |
Строка, содержащая имя хоста ArcGIS for Server. | String |
service_name |
Строка, представляющая имя сервиса. Это имя будут видеть пользователи и идентифицировать по нему сервис. Имя может содержать только буквы, цифры и подчеркивания. В имени нельзя использовать пробелы и специальные символы. Длина имени не должна превышать 120 символов. | String |
folder_name |
Строка, представляющая имя папки. | String |
connection_username |
Строка, содержащая имя пользователя, использующееся для подключения к ArcGIS for Server. Переменная необходима только для подключения к UNIX/Linux ArcGIS for Server. (Значение по умолчанию — None) | String |
connection_password |
Строка, содержащая пароль для подключения к ArcGIS for Server. Переменная необходима только для подключения к UNIX/Linux ArcGIS for Server. (Значение по умолчанию — None) | String |
connection_domain |
Строка, содержащая доменное имя для подключения к ArcGIS for Server. Переменная необходима только для подключения к UNIX/Linux ArcGIS for Server. (Значение по умолчанию — None) | String |