Skip To Content

Модуль 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

Дополнительное булево значение, определяет, может ли пользователь присоединяться по запросу

sort_field

Необязательная строка, задает сортировку публикуемых в группе элементов

sort_order

Необязательная строка, значения asc и desc соответствуют сортировке по возрастанию и по убыванию

is_view_only

Дополнительное булево значение, определяет возможность поиска этой группы

Возвращаемое значение

Строковое, являющееся 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 удаленной группы.

Возвращаемое значение

Булево значение, указывающее, выполнена ли операция успешно или не удалась.

delete_user

Удаляет пользователя портала, дополнительно удаляет или переназначает группы и элементы. Вы не можете удалить пользователя портала, если этому пользователю принадлежат группы или элементы. Если вы выбрали каскадный режим, то эти элементы и группы будут переданы пользователю, установленному в опции reassign_to. Если каскадный режим не выбран, результаты удаления будут зависеть от того, передавались ли ранее элементы и группы данного пользователя.

В каскадном режиме этот метод удаляет до 10000 элементов. Этот метод не работает, если у пользователя более 10000 элементов.

delete_user(self, username, cascade=False, reassign_to=None)

Аргументы

ПараметрОписание

username

Обязательная строка, имя пользователя

cascade

дополнительное булево значение, true означает переназначение элементов и групп

reassign_to

Дополнительная строка, новый владелец элементов и групп

Возвращаемое значение

Булево значение, указывающее, выполнена ли операция успешно или не удалась.

generate_token

Генерирует и возвращает новый токен, но не выполняет повторный вход. Этот метод не требуется при использовании класса Portal для запросов к порталу. Он предназначен для обращений к порталу извне класса Portal.

Портал использует механизм авторизации с помощью токенов, когда пользователь указывает свои учетные данные и для обращений применяется краткосрочный токен. Большинство вызовов к ArcGIS REST API требуют токена, и его можно присоединить к данным запросам.

generate_token(self, username, password, expiration=60)

Аргументы

ПараметрОписание

username

Обязательная строка, имя пользователя

password

Обязательный пароль, пароль пользователя

expiration

Дополнительное целочисленное, число минут до окончания действия токена

Возвращаемое значение

Строка с токеном.

get_group

Возвращает сведения о группе для заданного group_id.

get_group(self, group_id)

Аргументы

ПараметрОписание

group_id

Обязательная строка, обозначение группы

Возвращаемое значение

Объект dictionary со сведениями о группе. Ключи в объекте dictionary могут содержать:

ПараметрОписание

Заголовок

Имя группы

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

Дополнительное целочисленное, максимальное число возвращаемых пользователей

Возвращаемое значение

Список словарей. Каждый словарь имеет следующие ключи:

КлючЗначение

username

Строковое

storageUsage

Целое

storageQuota

Целое

description

Строковое

tags

Список строк

region

Строковое

created

Целочисленное, время создания учетной записи, в миллисекундах с 1 января 1970 г.

modified

Целочисленное, время, прошедшее с момента последнего изменения учетной записи, в миллисекундах с 1 января 1970 г.

email

Строковое

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

Целочисленное, время создания учетной записи, в миллисекундах с 1 января 1970 г.

culture

Строка, код языка из двух символов (en)

описание

Строковое

email

Строковое

fullName

Строковое

idpUsername

Строка, имя пользователя в корпоративной системе

группы

Список словарей. Список ключей словаря см. в разделе get_group.

modified

Целочисленное, время, прошедшее с момента последнего изменения учетной записи, в миллисекундах с 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

булево значение, true=создать запрос, false=использовать кэш

Возвращаемое значение

Строка с номером версии. Версия – это внутренний номер, который может не совпадать с версией установленного продукта.

invite_group_users

Приглашает пользователей в группу. Пользователь, приглашенный в группу, увидит список приглашений на закладке Группы в портале. Пользователь может принять или отклонить приглашение. Пользователь, выполняющий команду, должен быть владельцем группы.

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), указывает длительность действия приглашения (в минутах)

Возвращаемое значение

Булево значение, указывающее, выполнена ли операция успешно или не удалась.

is_all_ssl

Возвращает true, если порталу требуется HTTPS.

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 группы

Возвращаемое значение

Булево значение, указывающее, выполнена ли операция успешно или не удалась.

logged_in_user

Возвращает сведения о вошедшем пользователе.

logged_in_user(self)

Возвращаемое значение

Словарь со следующими ключами:

КлючЗначение

username

Строковое

storageUsage

Целое

description

Строковое

tags

Строка с разделяющими запятыми

created

Целочисленное, время создания учетной записи, в миллисекундах с 1 января 1970 г.

modified

Целочисленное, время, прошедшее с момента последнего изменения учетной записи, в миллисекундах с 1 января 1970 г.

fullName

Строковое

email

Строковое

idpUsername

Строка, имя пользователя в корпоративной системе

login

Регистрирует на портале, используя имя пользователя и пароль. Вы можете войти на портал при создании объекта portal или сделать это позже. Эта функция для входа позже.

login(self, username, password, expiration=60)

Аргументы

ПараметрОписание

username

Обязательная строка

password

Обязательная строка

expiration

Дополнительное целочисленное, длительность действия сгенерированного токена

Возвращаемое значение

Строка с токеном.

logout

Выход из портала. Портал "забывает" любые имеющиеся токены, которые он использовал, и все последующие обращения к порталу будут анонимными до следующего входа.

logout(self)

Возвращаемое значение

Нет возвращаемого значения

reassign_group

Переназначает группу другому владельцу.

reassign_group(self, group_id, target_owner)

Аргументы

ПараметрОписание

group_id

Обязательная строка, уникальный идентификатор группы

target_owner

Обязательная строка, имя пользователя нового владельца группы

Возвращаемое значение

Булево значение, указывающее, выполнена ли операция успешно или не удалась.

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

Дополнительное целочисленное, новый секретный вопрос, если требуется

new_security_answer

Необязательная строка, ответ на новый секретный вопрос, если требуется

Возвращаемое значение

Булево значение, указывающее, выполнена ли операция успешно или не удалась.

search

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

дополнительное целочисленное, максимальное число возвращенных групп

add_org

Дополнительное булево значение, задает возможность поиска в пределах организации

Возвращаемое значение

Список словарей. Каждый словарь имеет следующие ключи:

КлючЗначение

access

Строка, значениями являются private, org или public

created

Целочисленное, время создания учетной записи, в миллисекундах с 1 января 1970 г.

description

Строковое

id

Строка, уникальный ID группы

isInvitationOnly

Булево

isViewOnly

Булево

modified

Целочисленное, время, прошедшее с момента последнего изменения учетной записи, в миллисекундах с 1 января 1970 г.

owner

Строка, имя пользователя владельца

phone

Строковое

snippet

Строка, краткая сводка о группе

sortField

Строка, сортировка публикуемых элементов

sortOrder

Строка, по возрастанию или по убыванию

tags

Список строк, пользовательские теги для поиска

thumbnail

Строка, имя файла. Присоединить к http://<community url>/groups/<group id>/info/

title

Строка, имя группы, отображаемое для пользователей

search_users

Поиск пользователей портала. При использовании этого способа учитывайте следующее:

  • Синтаксис запросов имеет множество особенностей, которые здесь не описываются. Для просмотра всех особенностей обратитесь к Search reference в 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

Дополнительное целочисленное, максимальное число возвращаемых пользователей

add_org

Дополнительное булево значение, задает возможность поиска в пределах организации

Возвращаемое значение

Список словарей. Каждый словарь имеет следующие ключи:

КлючЗначение

created

Целочисленное, время создания учетной записи, в миллисекундах с 1 января 1970 г.

culture

Строка, код языка двумя символами

description

Строковое

fullName

Строка, имя пользователя

modified

Целочисленное, время, прошедшее с момента последнего изменения учетной записи, в миллисекундах с 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

Обязательная строка, действующий email адрес

Возвращаемое значение

Булево значение, указывающее, выполнена ли операция успешно или не удалась.

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

Дополнительное булево значение, определяет, может ли пользователь присоединяться по запросу

sort_field

Необязательная строка, задает сортировку публикуемых в группе элементов

sort_order

Необязательная строка, значения asc и desc соответствуют сортировке по возрастанию и по убыванию

is_view_only

Дополнительное булево значение, определяет возможность поиска этой группы

Возвращаемое значение

Булево значение, указывающее, выполнена ли операция успешно или не удалась.

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

Необязательная строка, email адрес, только для встроенных пользователей

culture

Необязательная строка, код языка двумя символами, например, "fr".

region

Необязательная строка, код страны двумя символами, например, FR

Возвращаемое значение

Булево значение, указывающее, выполнена ли операция успешно или не удалась.

update_user_role

Обновляет роль пользователя.

update_user_role(self, username, role)

Аргументы

КлючЗначение

username

Обязательная строка, имя пользователя, роль которого изменяется

role

Обязательная строка: один из user, publisher или admin, <custom_role_ID> (где <custom_role_ID> – ID настраиваемой роли, например, 1eo7LSAhbNiG1q9t, который можно найти в ролях в общей папке ArcGIS Portal Directory. URL-адрес имеет вид https://webadaptorhost.domain.com/<webadaptorname>/sharing/portals/0123456789ABCDEF/roles).

Прежние версии:

В Portal for ArcGIS 10.3 и более ранних версиях поддерживались следующие стандартные роли: org_user, org_publisher и org_admin. В 10.3.1 эти значения устарели и заменены перечисленными выше. Можно продолжить использование старых ролей в версии 10.3.1, но не забывайте, что в следующих версиях программы эти значения могут не поддерживаться.

Возвращаемое значение

Булево значение, указывающее, выполнена ли операция успешно или не удалась.


В этом разделе
  1. Класс: Portal
  2. Методы PortalPy