通过为 Portal for ArcGIS 管理编写脚本,您可在计划的时间执行各种常用的任务,也可根据需要自动执行这些任务。还可降低执行复杂或重复性任务时犯错误的可能性。可从脚本编写中获益的典型管理工作流包括:
- 管理门户成员关系,如将用户添加到门户或将用户从门户中移除,或将用户从门户组中移除。
- 管理门户项目,如与组共享项目、更新项目属性(例如标签)以及在 Web 地图中批量更新地图服务的 URL。
最终通过 ArcGIS REST API 执行门户中的所有管理任务。可通过可进行 HTTP 请求的任何脚本或编程语言调用 API。
Portal for ArcGIS 包含立即可用的命令行实用程序和 Python 脚本,可帮助您掌握为门户管理编写脚本的入门知识。通过了解 ArcGIS REST API 的工作方式,您可对提供的示例进行扩展,也可创建自己的脚本。
如要自动设置整个 web GIS(Portal for ArcGIS、ArcGIS Web Adaptor、ArcGIS for Server、ArcGIS Data Store 及 SSL 证书),可使用 Chef Cookbook。例如,如果您是一名咨询人员并且要为客户设置站点,则编写设置脚本可将简化工作。
Portal for ArcGIS 命令行实用程序
其中包含的为数不多的几个命令行实用程序可帮助您执行常见管理任务。必须在托管此门户的计算机上运行这些实用程序。这些实用程序可立即使用,无需任何编程知识。有关详细信息,请参阅 Portal for ArcGIS 命令行实用程序。
Python 脚本示例
Portal for ArcGIS 包括一些 Python 脚本示例,可对命令行实用程序提供的功能进行扩展。与命令行实用程序不同,您可以从任何配置了 Python 环境的计算机上运行这些脚本。由于这些脚本已被写入,因此只要您具备最起码的 Python 知识即可运行它们。可按原样执行这些脚本,或者您也可以通过它们来了解如何与 REST API 进行交互、如何对其进行自定义、甚至如何创建自己的脚本。有关详细信息,请参阅 Python 脚本示例。
PortalPy
PortalPy 是一个 Esri Python 模块,可帮助您简化创建完整管理任务的过程。PortalPy 提供了一个高级别 Python 类的集合,可隐藏直接针对 REST API 进行工作的复杂性。使用 PortalPy 时需要一定程度的 Python 编程知识,但却为自动化门户管理过程提供了最为高效的环境。与 Python 脚本示例一样,您可以通过访问源代码来扩展 PortalPy(如有需要)。有关详细信息,请参阅使用 PortalPy 为管理任务编写脚本。
ArcGIS REST API 及其与 Portal for ArcGIS 的关系
ArcGIS REST API 包括用于管理 Portal for ArcGIS 的资源和操作。可通过 API 调用门户所支持的每项管理任务。事实上,ArcGIS 附带的所有管理工具(包括 ArcGIS for Desktop 和 Portal for ArcGIS 网站)均可使用此 API。
API 可以通过任何可调用 Web 服务的语言(如 Python、Java、JavaScript、PowerShell、C#、Ruby、Scala、Perl 以及其他语言)进行调用。此帮助中所提供的示例使用的是 Python 语言。您无需安装任何 Esri 软件即可运行一个使用 API 的脚本。
有关详细信息,请参阅使用 ArcGIS REST API 编写脚本。
Chef Cookbook
Esri 提供了可用于自动安装和配置 ArcGIS 软件的 Chef Cookbook。使用 Chef Cookbook 来安装 Portal for ArcGIS、ArcGIS for Server、ArcGIS Web Adaptor 和 ArcGIS Data Store 并进行配置以便将彼此结合使用。要开始此过程,请执行 Getting Started.txt 文件中的步骤。可从 Esri GitHub 或 Chef Supermarket 中下载此工具。运行此工具时,将提供特定于您的站点的信息。更高级的 Chef 用户可在使用前自定义 Cookbook。