关于自动化
自动化是指协调工具、流程和资源以实现自动高效的运行。自动化可用于简化管理工作流并确保不会出现错误,且可每次通过相同结果或可预测结果重复执行。
根据不同要求,在许多情况下可能都需要自动化,如下所示:
- 建立门户镜像,一个用于开发,一个用于生产。保持内容、群组和用户同步。
- 将成员列表添加到门户并为每个成员分配一个角色。
- 在多个门户中发布相同的内容集、用户、群组等。
- 列出属于特定用户或群组或者满足特定条件(例如名称前缀)的所有项目。
- 列出在特定日期之前发布的内容。例如,列出在去年的第一个季度创建的所有项目并创建包含其所有者名称和电子邮件地址的表格。
- 如果删除了特定服务,确定将中断哪些 web 地图或场景。
- 每次有新成员加入团队时,都会创建一个新用户帐户。同样,删除旧用户并相应地转移其内容的所有权。
- 按照预先确定的时间定期更新内容。
- 检查所有 web 地图和场景,并更新已断开链接的 web 地图和场景。
- 监控和分析服务的使用度量并采取相应的措施。
无论您在何种情况下使用,自动化都能快速提高您的生产效率和工作效率。Esri 提供两个广泛应用的解决方案来自动化您的 ArcGIS Enterprise,如下所述。
Esri 提供的自动化解决方案
Chef Cookbook
Chef 是一个开源信息技术 (IT) 自动化框架,可用于自动创建和维护 IT 基础架构。Chef Cookbook 是 Chef 的脚本编写语言, 提供一种可重复且灵活的机制来部署软件和硬件。
Esri 提供了可用于自动安装和配置 ArcGIS Enterprise 的 Chef Cookbooks。可使用 Chef Cookbook 安装 ArcGIS Enterprise 软件组件(包括其他 ArcGIS Server 站点),并将这些组件配置为彼此配合使用。有关详细信息,请参阅 ArcGIS Chef Cookbook。运行 ArcGIS Cookbook 时,可以提供满足特定要求的配置信息。
ArcGIS Cookbooks 可帮助用户快速恢复 ArcGIS Enterprise 部署或安装其他相同部署。
在部署 ArcGIS Enterprise 之后,可以使用 ArcGIS Python API 继续自动化 GIS 工作流。
ArcGIS Python API
按用户规范设置门户后,用户可以在门户中自动填充用户、群组和项目以及对其进行持续管理。设置后,您可以自动执行许多任务,例如本主题开头提到的任务。可以通过 ArcGIS Python API 实现该操作。API 允许 ArcGIS 管理员、发布者和用户使用 Python 环境通过脚本自动化其工作流和执行重复任务。有关使用此 API 可执行的操作的详细信息,请参阅使用 ArcGIS Python API 编写脚本。
其他自动化解决方案
Esri 可继续支持之前版本中的其他自动化解决方案。
Portal for ArcGIS 命令行实用程序
其中包含的为数不多的几个命令行实用程序可帮助您执行常见管理任务。必须在托管此门户的计算机上运行这些实用程序。这些实用程序可立即使用,无需任何编程知识。有关详细信息,请参阅 Portal for ArcGIS 命令行实用程序。
Python 脚本示例
Portal for ArcGIS 包括一些 Python 脚本示例,可对命令行实用程序提供的功能进行扩展。与命令行实用程序不同,您可以从任何配置了 Python 环境的计算机上运行这些脚本。由于这些脚本已被写入,因此只要您具备最起码的 Python 知识即可运行它们。可按原样执行这些脚本,或者您也可以通过它们来了解如何与 ArcGIS REST API 进行交互、如何对其进行自定义甚至如何创建自己的脚本。有关详细信息,请参阅 Python 脚本示例。
PortalPy
PortalPy 是一个 Esri Python 模块,可帮助您简化创建完整管理任务的过程。PortalPy 提供了一个高级别 Python 类的集合,可隐藏直接针对 ArcGIS REST API 进行工作的复杂性。使用 PortalPy 时需要一些 Python 编程知识,但却为自动化门户管理过程提供了最为高效的环境。与 Python 脚本示例一样,您可以通过访问源代码来扩展 PortalPy(如有必要)。有关详细信息,请参阅使用 PortalPy 为管理任务编写脚本。
ArcGIS REST API 和 Portal for ArcGIS
ArcGIS REST API 包括用于管理 Portal for ArcGIS 的资源和操作。可通过此 API 调用门户所支持的每项管理任务。事实上,ArcGIS 附带的所有管理工具(包括 ArcGIS Desktop 和 Portal for ArcGIS 网站)均可使用此 API。
ArcGIS REST API 可以通过任何可调用 Web 服务的语言(如 Python、Java、JavaScript、PowerShell、C#、Ruby、Scala、Perl 以及其他语言)进行调用。此帮助中所提供的示例使用的是 Python 语言。您无需安装任何 Esri 软件即可运行使用 ArcGIS REST API 的脚本。
有关详细信息,请参阅使用 ArcGIS REST API 编写脚本。