Модуль PortalPy
В этом разделе
В этом разделе справки перечислены все классы и методы модуля PortalPy, которые могут использоваться для записи скриптов администрирования на Portal for ArcGIS.
Класс: Portal
Объект, представляющий URL-адрес подключения к порталу. Чтобы обработать объект Portal, выполните такой код:
PortalPy.Portal(portalUrl, user, password)
Доступные методы Portal перечислены в разделах ниже. Перед началом работы с этими методами примите во внимание следующее:
- Group IDs – для многих групповых функций требуется Group ID. ID отличается от имени или заголовка группы. Чтобы определить Group ID, используйте функцию search_groups и введите заголовок группы.
- Time – для многих методов требуется поле time. Все время возвращается в миллисекундах с 1 января 1970. В Python с 1 января 1970 г. время вводится в секундах; поэтому время, полученное от PortalPy, надо разделить на 1000. В следующих примерах показано, как конвертировать время PortalPy во время Python.
group = portalAdmin.get_group('67e1761068b7453693a0c68c92a62e2e') pythontime = time.ctime(group['created']/1000)
Методы PortalPy
Доступные методы Portal описаны ниже.
_init_
Конструктор портала. Требуются URL-адрес портала и, дополнительно, имя пользователя и пароль.
_init_(self, url, username=None, password=None, key_file=None, cert_file=None, expiration=60, referer=None, proxy_host=None, proxy_port=None, connection=None, workdir=r'c:\users\davi3690\appdata\local\temp\2')
add_group_users
Добавляет пользователей в указанную группу. Этот метод можно использовать только если пользователь объекта Portal является либо администратором всего портала, либо исключительным владельцем группы.
add_group_users(self, user_names, group_id)
Аргументы
Параметр | Описание |
---|---|
user_names | Обязательная строка, разделенные запятыми пользователи |
group_id | Обязательная строка, задающая ID группы |
Возвращаемое значение
Словарь с ключом not_added, который содержит имена пользователей, не добавленных в группу.
create_group
Создает группу и возвращает ее ID, если успешно.
create_group(self, title, tags, description=None, snippet=None, access='public', thumbnail=None, is_invitation_only=False, sort_field='avgRating', sort_order='desc', is_view_only=False)
Аргументы
Параметр | Описание |
---|---|
title | Обязательная строка, имя группы |
tags | Обязательная строка, разделенный запятыми список тегов |
description | Необязательная строка, содержит подробное описание группы |
snippet | Необязательная строка, до 250 знаков составляют группу |
access | Необязательная строка, может иметь значения private, public или org |
thumbnail | Необязательная строка, URL-адрес изображения группы |
isInvitationOnly | Дополнительное булево (boolean) значение, определяет, может ли пользователь присоединяться по запросу |
sort_field | Необязательная строка, задает сортировку публикуемых в группе элементов |
sort_order | Необязательная строка, значения asc и desc соответствуют сортировке по возрастанию и по убыванию |
is_view_only | Дополнительное булево (boolean) значение, определяет возможность поиска этой группы |
Возвращаемое значение
Строковое (string), являющееся ID группы.
create_group_from_dict
Создает группу и возвращает ее ID, если успешно. В большинстве случаев рекомендуется использовать create_group, т.к. этот метод может взять групповой словарь, возвращенный другим запросом PortalPy, и скопировать его.
create_group_from_dict(self, group, thumbnail=None)
Аргументы
Параметр | Описание |
---|---|
group | объект dict |
thumbnail | URL-адрес изображения |
Пример:
create_group({'title': 'Test', 'access':'public'})
delete_group
Удаляет группу.
delete_group(self, group_id)
Аргументы
Параметр | Описание |
---|---|
group_id | Строка с id удаленной группы. |
Возвращаемое значение
Булево (boolean) значение, указывающее, выполнена ли операция успешно или не удалась.
delete_user
Удаляет пользователя портала, дополнительно удаляет или переназначает группы и элементы. Вы не можете удалить пользователя портала, если этому пользователю принадлежат группы или элементы. Если вы выбрали каскадный режим, то эти элементы и группы будут переданы пользователю, установленному в опции reassign_to. Если каскадный режим не выбран, результаты удаления будут зависеть от того, передавались ли ранее элементы и группы данного пользователя.
В каскадном режиме этот метод удаляет до 10000 элементов. Этот метод не работает, если у пользователя более 10000 элементов.
delete_user(self, username, cascade=False, reassign_to=None)
Аргументы
Параметр | Описание |
---|---|
username | Обязательная строка, имя пользователя |
cascade | дополнительное булево (boolean) значение, true означает переназначение элементов и групп |
reassign_to | Дополнительная строка, новый владелец элементов и групп |
Возвращаемое значение
Булево (boolean) значение, указывающее, выполнена ли операция успешно или не удалась.
generate_token
Генерирует и возвращает новый токен, но не выполняет повторный вход. Этот метод не требуется при использовании класса Portal для запросов к порталу. Он предназначен для обращений к порталу извне класса Portal.
Портал использует механизм авторизации с помощью токенов, когда пользователь указывает свои учетные данные и для обращений применяется краткосрочный токен. Большинство вызовов к ArcGIS REST API требуют токена, и его можно присоединить к данным запросам.
generate_token(self, username, password, expiration=60)
Аргументы
Параметр | Описание |
---|---|
username | Обязательная строка, имя пользователя |
password | Обязательный пароль, пароль пользователя |
expiration | Дополнительное целочисленное (integer), число минут до окончания действия токена |
Возвращаемое значение
Строка с токеном.
get_group
Возвращает сведения о группе для заданного group_id.
get_group(self, group_id)
Аргументы
Параметр | Описание |
---|---|
group_id | Обязательная строка, обозначение группы |
Возвращаемое значение
Объект dictionary со сведениями о группе. Ключи в объекте dictionary могут содержать:
Параметр | Описание |
---|---|
title | Имя группы |
isInvitationOnly | Если задано true, пользователи не могут подавать заявку на присоединение к группе |
owner | Имя пользователя владельца группы |
description | описание группы |
snippet | Краткая сводка о группе |
tags | Пользовательские теги, дающие описание группы |
phone | Контактная информация группы |
thumbnail | Имя файла относительно http://<community-url>/groups/<groupId>/info |
created | Когда эта группа была создана, в миллисекундах с 1 января 1970 г. |
modified | Время последнего изменения группы, в миллисекундах с 1 января 1970 |
access | Может иметь значения private, public или org |
userMembership | Словарь с ключами username и memberType |
memberType | Обеспечивает доступ вызывающему пользователю (owner, admin, member, none) |
get_group_members
Возвращает участников указанной группы.
get_group_members(self, group_id)
Аргументы
Параметр | Описание |
---|---|
group_id | Обязательная строка, обозначение группы |
Возвращаемое значение
Словарь с ключами owner, admins и users.
Параметр | Описание |
---|---|
owner | Строковое значение, владелец группы |
admins | Список строк, обычно те же, что и owner |
users | Список строк, участники группы |
Пример:
Печать списка пользователей группы:
response = portal.get_group_members("67e1761068b7453693a0c68c92a62e2e")
for user in response['users'] :
print user
get_group_thumbnail
Возвращает байты эскиза для заданного group_id.
get_group_thumbnail(self, group_id)
Аргументы
Параметр | Описание |
---|---|
group_id | Обязательная строка, задает эскиз группы |
Возвращаемое значение
Байты, представляющие собой изображение.
Пример:
response = portal.get_group_thumbnail("67e1761068b7453693a0c68c92a62e2e")
f = open(filename, 'wb')
f.write(response)
get_users
Возвращает всех пользователей портала организации.
get_users(self, max_users=1000)
Аргументы
Параметр | Описание |
---|---|
max_users | Дополнительное целочисленное (integer), максимальное число возвращаемых пользователей |
Возвращаемое значение
Список словарей. Каждый словарь имеет следующие ключи:
Ключ | Значение |
---|---|
username | Строка |
storageUsage | Целочисленный |
storageQuota | Целочисленный |
description | Строка |
tags | Список строк |
region | Строка |
created | Целочисленное (integer), время создания учетной записи, в миллисекундах с 1 января 1970 г. |
modified | Целочисленное (integer), время, прошедшее с момента последнего изменения учетной записи, в миллисекундах с 1 января 1970 г. |
Строка | |
culture | Строка |
orgId | Строка |
preferredView | Строка |
groups | Список строк |
role | Строка (user, publisher, admin, <custom_role_name> [где <custom_role_name> – имя роли пользователя, например, hostedservicepublisher]) Прежние версии:В Portal for ArcGIS 10.3 и более ранних версий поддерживались следующие стандартные роли: org_user, org_publisher и org_admin. В 10.3.1 эти значения устарели и заменены перечисленными выше. Можно продолжить использование старых ролей в версии 10.3.1, но не забывайте, что в следующих версиях программы эти значения могут не поддерживаться. |
fullName | Строка |
thumbnail | Строка |
idpUsername | Строка |
Пример:
Печать имен всех пользователей портала
resp = portalAdmin.get_users()
for user in resp:
print user['username']
get_properties
Возвращает свойства портала, используется кэш, если не задано force=True.
get_properties(self, force=False)
get_user
Возвращает сведения о пользователе для заданного имени пользователя.
get_user(self, username)
Аргументы
Параметр | Описание |
---|---|
username | Обязательная строка, имя пользователя, сведения о котором вам нужны |
Возвращаемое значение
Если пользователь найден, возвращает объект dictionary со следующими ключами. Если пользователь не найден, не возвращается ничего.
Ключ | Значение |
---|---|
access | Строка |
created | Целочисленное (integer), время создания учетной записи, в миллисекундах с 1 января 1970 г. |
culture | Строка, код языка из двух символов (en) |
description | Строка |
Строка | |
fullName | Строка |
idpUsername | Строка, имя пользователя в корпоративной системе |
groups | Список словарей. Список ключей словаря см. в разделе get_group. |
modified | Целочисленное (integer), время, прошедшее с момента последнего изменения учетной записи, в миллисекундах с 1 января 1970 г. |
orgId | Строка, ID организации |
preferredView | Строка, значение Web, GIS или null |
region | Строка, none или код страны двумя символами |
role | Строка (user, publisher, admin, <custom_role_name> [где <custom_role_name> – имя роли пользователя, например, hostedservicepublisher]) Прежние версии:В Portal for ArcGIS 10.3 и более ранних версий поддерживались следующие стандартные роли: org_user, org_publisher и org_admin. В 10.3.1 эти значения устарели и заменены перечисленными выше. Можно продолжить использование старых ролей в версии 10.3.1, но не забывайте, что в следующих версиях программы эти значения могут не поддерживаться. |
storageUsage | Целочисленный |
storageQuota | Целочисленный |
tags | Список строк |
thumbnail | Строка |
username | Строка |
get_version
Возвращает номер версии ПО, используется кэш, если не задано force=True. Информация о версии извлекается при создании объекта portal и кэшируется для будущих запросов. Если вы хотите создать запрос к порталу не обращаясь к кэшу, задайте аргументу force значение True.
get_version(self, force=False)
Аргументы
Параметр | Описание |
---|---|
force | булево (boolean) значение, true=создать запрос, false=использовать кэш |
Возвращаемое значение
Строка с номером версии. Версия – это внутренний номер, который может не совпадать с версией установленного продукта.
invite_group_users
Приглашает пользователей в группу. Пользователь, приглашенный в группу, увидит список приглашений на закладке Группы (Groups) в портале. Пользователь может принять или отклонить приглашение. Пользователь, выполняющий команду, должен быть владельцем группы.
invite_group_users(self, user_names, group_id, role='group_member', expiration=10080)
Аргументы
Параметр | Описание |
---|---|
user_names | Обязательная строка, список приглашаемых пользователей, разделенный запятыми |
group_id | Обязательная строка, указывает ID группы, в которую приглашаются пользователи |
role | Необязательная строка, group_member или group_admin |
expiration | Дополнительное целочисленное (integer), указывает длительность действия приглашения (в минутах) |
Возвращаемое значение
Булево (boolean) значение, указывающее, выполнена ли операция успешно или не удалась.
is_all_ssl
Возвращает true, если порталу требуется SSL.
is_all_ssl(self)
is_logged_in
Возвращает true, если пользователь вошел на портал.
is_logged_in(self)
is_org
Возвращает true, если порталом является организация.
is_org(self)
leave_group
Удаляет вошедшего пользователя из указанной группы. Необходимо, чтобы пользователь уже выполнил вход.
leave_group(self, group_id)
Аргументы
Параметр | Описание |
---|---|
group_id | Обязательная строка, задающая ID группы |
Возвращаемое значение
Булево (boolean) значение, указывающее, выполнена ли операция успешно или не удалась.
logged_in_user
Возвращает сведения о вошедшем пользователе.
logged_in_user(self)
Возвращаемое значение
Словарь со следующими ключами:
Ключ | Значение |
---|---|
username | Строка |
storageUsage | Целочисленный |
description | Строка |
tags | Строка с разделяющими запятыми |
created | Целочисленное (integer), время создания учетной записи, в миллисекундах с 1 января 1970 г. |
modified | Целочисленное (integer), время, прошедшее с момента последнего изменения учетной записи, в миллисекундах с 1 января 1970 г. |
fullName | Строка |
Строка | |
idpUsername | Строка, имя пользователя в корпоративной системе |
login
Регистрирует на портале, используя имя пользователя и пароль. Вы можете войти на портал при создании объекта portal или сделать это позже. Эта функция для входа позже.
login(self, username, password, expiration=60)
Аргументы
Параметр | Описание |
---|---|
username | Обязательная строка |
password | Обязательная строка |
expiration | Дополнительное целочисленное (integer), длительность действия сгенерированного токена |
Возвращаемое значение
Строка с токеном.
logout
Выход из портала. Портал "забывает" любые имеющиеся токены, которые он использовал, и все последующие обращения к порталу будут анонимными до следующего входа.
logout(self)
Возвращаемое значение
Нет возвращаемого значения
reassign_group
Переназначает группу другому владельцу.
reassign_group(self, group_id, target_owner)
Аргументы
Параметр | Описание |
---|---|
group_id | Обязательная строка, уникальный идентификатор группы |
target_owner | Обязательная строка, имя пользователя нового владельца группы |
Возвращаемое значение
Булево (boolean) значение, указывающее, выполнена ли операция успешно или не удалась.
remove_group_users
Удаляет пользователей из группы.
remove_group_users(self, user_names, group_id)
Аргументы
Параметр | Описание |
---|---|
user_names | Обязательная строка, список пользователей, разделенный запятыми |
group_id | Обязательная строка, уникальный идентификатор группы |
Возвращаемое значение
Словарь с ключом notRemoved, список пользователей, которые не были удалены.
reset_user
Сбрасывает пароль пользователя, секретный вопрос и ответ. Эта функция неприменима к порталам с учетными записями из корпоративного хранилища идентификаций, таких как ActiveDirectory или LDAP. Применяется только к встроенным пользователям портала. Если указан новый секретный вопрос, следует указать и новый ответ.
reset_user(self, username, password, new_password=None, new_security_question=None, new_security_answer=None)
Аргументы
Параметр | Описание |
---|---|
username | Обязательная строка, сбрасываемая учетная запись |
password | Обязательная строка, текущий пароль |
new_password | Необязательная строка, новый пароль, если сбрасывается старый |
new_security_question | Дополнительное целочисленное (integer), новый секретный вопрос, если требуется |
new_security_answer | Необязательная строка, ответ на новый секретный вопрос, если требуется |
Возвращаемое значение
Булево (boolean) значение, указывающее, выполнена ли операция успешно или не удалась.
поиск
search(self, q, bbox=None, sort_field='title', sort_order='asc', max_results=1000, add_org=True)
search_groups
Поиск групп портала. При использовании этого способа учитывайте следующее:
- Синтаксис запросов имеет множество особенностей, которые здесь не описываются. Для просмотра всех особенностей обратитесь к разделу Поиск в ArcGIS REST API.
- При поиске групп обычно выполняется поиск в пределах вашей организации. Для удобства этот метод автоматически присоединяет ID вашей организации к запросу. Если вы не хотите присоединять его, присвойте для add_org значение false.
search_groups(self, q, sort_field='title', sort_order='asc', max_groups=1000, add_org=True)
Аргументы
Параметр | Описание |
---|---|
q | Обязательная строка, строка запроса |
sort_field | Необязательная строка, допустимыми значениями могут быть заголовок, владелец или дата создания |
sort_order | Необязательная строка, допустимыми являются значения asc или desc |
max_groups | дополнительное целочисленное (integer), максимальное число возвращенных групп |
add_org | Дополнительное булево (boolean) значение, задает возможность поиска в пределах организации |
Возвращаемое значение
Список словарей. Каждый словарь имеет следующие ключи:
Ключ | Значение |
---|---|
access | Строка, значениями являются private, org или public |
created | Целочисленное (integer), время создания учетной записи, в миллисекундах с 1 января 1970 г. |
description | Строка |
id | Строка, уникальный ID группы |
isInvitationOnly | Логический |
isViewOnly | Логический |
modified | Целочисленное (integer), время, прошедшее с момента последнего изменения учетной записи, в миллисекундах с 1 января 1970 г. |
owner | Строка, имя пользователя владельца |
phone | Строка |
snippet | Строка, краткая сводка о группе |
sortField | Строка, сортировка публикуемых элементов |
sortOrder | Строка, по возрастанию или по убыванию |
tags | Список строк, пользовательские теги для поиска |
thumbnail | Строка, имя файла. Присоединить к http://<community url>/groups/<group id>/info/ |
title | Строка, имя группы, отображаемое для пользователей |
search_users
Поиск пользователей портала. При использовании этого способа учитывайте следующее:
- Синтаксис запросов имеет множество особенностей, которые здесь не описываются. Для просмотра всех особенностей обратитесь к разделу Поиск в ArcGIS REST API.
- При поиске пользователей обычно выполняется поиск в пределах организации. Для удобства этот метод автоматически присоединяет ID вашей организации к запросу. Если вы не хотите присоединять его, присвойте для add_org значение false.
search_users(self, q, sort_field='username', sort_order='asc', max_users=1000, add_org=True)
Аргументы
Параметр | Описание |
---|---|
q | Обязательная строка, строка запроса |
sort_field | Необязательная строка, допустимыми значениями могут быть заголовок, владелец или дата создания |
sort_order | Необязательная строка, допустимыми являются значения asc или desc |
max_users | Дополнительное целочисленное (integer), максимальное число возвращаемых пользователей |
add_org | Дополнительное булево (boolean) значение, задает возможность поиска в пределах организации |
Возвращаемое значение
Список словарей. Каждый словарь имеет следующие ключи:
Ключ | Значение |
---|---|
created | Целочисленное (integer), время создания учетной записи, в миллисекундах с 1 января 1970 г. |
culture | Строка, код языка двумя символами |
description | Строка |
fullName | Строка, имя пользователя |
modified | Целочисленное (integer), время, прошедшее с момента последнего изменения учетной записи, в миллисекундах с 1 января 1970 г. |
region | Строка, может иметь значение none |
tags | Список строк, пользовательские теги для поиска |
thumbnail | Строка, имя файла. Присоединить к http://<community url>/groups/<group id>/info/. |
username | Строка, имя пользователя |
signup
Выполняет подписку пользователей на Portal for ArcGIS. Этот метод применим только к Portal for ArcGIS и может быть вызван анонимно. Однако самоподписку можно отключить на портале. При этом создаются только встроенные учетные записи; метод не работает с корпоративными учетными записями из корпоративного хранилища идентификаций.
Есть другой метод, createUser, который всегда можно использовать с Portal for ArcGIS 10.2.1 или более новыми версиями. Для этого метода требуется административный доступ, он может использоваться для создания встроенных пользователей и добавления корпоративных учетных записей на портал.
signup(self, username, password, fullname, email)
Аргументы
Параметр | Описание |
---|---|
username | Обязательная строка, должна быть уникальной, длиной более 4 знаков |
password | Обязательная строка, должна быть больше или равной 8 знакам в длину |
fullname | Обязательная строка, имя пользователя |
Обязательная строка, действующий email адрес |
Возвращаемое значение
Булево (boolean) значение, указывающее, выполнена ли операция успешно или не удалась.
update_group
Обновляет группу. Необходимо указать значения только для тех аргументов, которые вы хотите обновить.
update_group(self, group_id, title=None, tags=None, description=None, snippet=None, access=None, is_invitation_only=None, sort_field=None, sort_order=None, is_view_only=None, thumbnail=None)
Аргументы
Параметр | Описание |
---|---|
group_id | Обязательная строка, ID группы для изменения |
title | Обязательная строка, имя группы для изменения |
tags | Обязательная строка, разделенный запятыми список тегов |
description | Необязательная строка, содержит подробное описание группы |
snippet | Необязательная строка, до 250 знаков составляют группу |
access | Необязательная строка, может иметь значения private, public или org |
thumbnail | Необязательная строка, URL-адрес изображения группы |
isInvitationOnly | Дополнительное булево (boolean) значение, определяет, может ли пользователь присоединяться по запросу |
sort_field | Необязательная строка, задает сортировку публикуемых в группе элементов |
sort_order | Необязательная строка, значения asc и desc соответствуют сортировке по возрастанию и по убыванию |
is_view_only | Дополнительное булево (boolean) значение, определяет возможность поиска этой группы |
Возвращаемое значение
Булево (boolean) значение, указывающее, выполнена ли операция успешно или не удалась.
update_user
Обновляет свойства пользователя. Укажите значения только для тех аргументов, которые вы хотите обновить.
update_user(self, username, access=None, preferred_view=None, description=None, tags=None, thumbnail=None, fullname=None, email=None, culture=None, region=None)
Аргументы
Ключ | Значение |
---|---|
username | Обязательная строка, обновление имени пользователя |
access | Необязательная строка, значения: private, org, public |
preferred_view | Необязательная строка, значения: Web, GIS, null |
description | Необязательная строка, описание пользователя |
tags | Необязательная строка, разделенные запятыми теги для поиска |
thumbnail | Необязательная строка, путь или URL-адрес файла Может использоваться PNG, GIF или JPEG. Максимальный размер 1 МБ. |
fullName | Необязательная строка, имя пользователя, только для встроенных пользователей |
Необязательная строка, email адрес, только для встроенных пользователей | |
culture | Необязательная строка, код языка двумя символами, например, "fr". |
region | Необязательная строка, код страны двумя символами, например, FR |
Возвращаемое значение
Булево (boolean) значение, указывающее, выполнена ли операция успешно или не удалась.
update_user_role
Обновляет роль пользователя.
update_user_role(self, username, role)
Аргументы
Ключ | Значение |
---|---|
username | Обязательная строка, имя пользователя, роль которого изменяется |
role | Требуется строка – user, publisher, admin, <custom_role_name> (где <custom_role_name> – имя роли пользователя, например, hostedservicepublisher) Прежние версии:В Portal for ArcGIS 10.3 и более ранних версий поддерживались следующие стандартные роли: org_user, org_publisher и org_admin. В 10.3.1 эти значения устарели и заменены перечисленными выше. Можно продолжить использование старых ролей в версии 10.3.1, но не забывайте, что в следующих версиях программы эти значения могут не поддерживаться. |
Возвращаемое значение
Булево (boolean) значение, указывающее, выполнена ли операция успешно или не удалась.