PortalPy 是一个使用 Python 2.7 的模块,可用于为您自己的门户的常见管理任务编写脚本。只要将您的计算机配置为运行 Python 2.7(必需),便可以从任意对门户具有访问权限的计算机上执行使用 PortalPy 的 Python 脚本。
本主题对 PortalPy 模块进行了基本介绍,其中包括了一些示例以及入门说明。虽然需要具有编写 Python 脚本的技能才能使用 PortalPy,但却为门户管理提供了最灵活的方式,实现了真正意义上的自动化。通过 PortalPy,可自动处理命令行实用程序、Python 脚本示例及更多程序提供的所有工作流。
PortalPy 模块随软件一同安装,位于工具目录中。例如,<Portal for ArcGIS installation directory>\tools\portalpy。 还可通过公共 GitHub 资源档案库获取此模块。该资源档案库中包含了最新的 PortalPy 模块以及其他来自用户社区的内容。要访问此资源档案库,请创建一个 GitHub 帐户或使用现有的 GitHub 帐户进行登录。
在计算机上配置 PortalPy 模块
要 使用 PortalPy 为管理任务编写脚本,您需要在计算机上设置 PortalPy 模块。可以是对门户具有访问权限的任意计算机。要开始此过程,请参阅以下步骤。
- 在安装 Portal for ArcGIS 的计算机上浏览至 <Portal for ArcGIS installation directory>\tools,并将整个 portalpy 文件夹复制到您的计算机上的本地目录。 例如,C:\portalpy。 如果想要运行 PortalPy 模块的计算机中已安装 Portal for ArcGIS,则可跳过此步骤。
- 在托管 PortalPy 模块的计算机上,请设置名为 PYTHONPATH 的环境变量。指定 portalpy.py 所在目录的路径。例如,C:\portalpy。如需此步骤的帮助,请参阅 Windows 产品文档。
- 创建名为 test.py 的文件,并将其放置在 portalpy.py 所在的目录中。例如,C:\portalpy。
- 将以下代码复制到文件中并更新 URL 以匹配门户 URL。
#!/usr/bin/python import portalpy url = "https://portal.domain.com/arcgis" portal = portalpy.Portal(url) print portal.get_version()
注:
如果您已将门户配置为使用 Web 层身份验证,您可以在使用 PortalPy 时通过端口 7443 访问您的门户,如以下示例所示:
#!/usr/bin/python import portalpy url = "https://portal.domain.com:7443/arcgis" portal = portalpy.Portal(url) print portal.get_version()
- 保存并关闭文件。
- 从命令行或 Python IDLE 环境运行 test.py。 该脚本将打印一个版本号,如 3.2。
现在,已将您的计算机配置为使用 PortalPy 模块。
PortalPy 模块文档
要查看 PortalPy 包含的类和方法,请参阅 PortalPy 模块。本主题包含的用法示例可帮助您了解如何使用 PortalPy 模块在 ArcGIS REST API 的基础上实现编程。
脚本示例
可使用 PortalPy 为其编写脚本的常见管理任务如下:
示例:列出组中的用户
portal = PortalPy.Portal(portalUrl, user, password) resp = portal.get_group_members('67e1761068b7453693a0c68c92a62e2e') for user in resp['users']:
print user
示例:创建群组
portal= PortalPy.Portal(portalUrl, user, password)
group_id = portalAdmin.create_group('my group', 'test tag', 'a group to share travel maps')
示例:删除用户并将用户内容重新分配给另一用户
portal= PortalPy.Portal(portalUrl, user, password)
portal.delete_user('amy.user', True, 'bob.user')