数据存储和管理是 ArcGIS Enterprise 部署的一个重要方面。 它决定组织访问、管理、贡献和编辑数据的方式,并为如何使用数据奠定了基础。 ArcGIS Enterprise 允许您在用户管理的数据存储位置或 ArcGIS 管理的数据存储中存储 Web 服务和图层的源数据。
用户管理的存储位置(例如数据库、文件夹或云存储位置)是您或您组织中的其他人管理的数据源。 相反,当您使用 ArcGIS 管理的数据存储位置时,则无法管理或访问基础数据库。 在单个 ArcGIS Enterprise 部署中,很可能同时使用两种类型的数据存储;不必只选择其中的一个。
提示:
有关这些术语和概念的详细信息,请参阅 ArcGIS 中的数据:用户管理和 ArcGIS 管理技术文章。
将 web 地图、图层或服务发布到 ArcGIS Enterprise 时,您将决定如何管理数据。 此过程的第一步是决定是复制数据还是向组成 ArcGIS Enterprise 门户的一个(或多个)联合服务器注册数据。
注册或复制数据
从 ArcGIS Pro 发布数据时,您需要确定 web 图层所使用数据的位置。 对于大多数数据源,您可以注册您的数据源(在这种情况下,web 图层访问数据源中的数据),或使 ArcGIS 将数据复制到由 ArcGIS 管理的位置,这一位置可以是系统管理的数据存储或联合服务器。 如果数据源是云数据仓库,则始终需要注册数据源,但是您可以在发布时创建数据的快照。 这使得访问云数据仓库的查询图层中包含数据子集的副本,并将此副本置于系统管理数据存储中,以供 Web 服务访问。 您可以在门户中 Web 图层的项目页面刷新此快照的内容。 执行此操作会使用已注册数据源的数据覆盖系统管理数据存储中的数据。
您也可以向组织添加文件并从 ArcGIS Enterprise。 在这种情况下,数据始终会复制到系统管理的数据存储之一。
注册数据存储
添加用户管理的数据存储并发布 Web 图层时,Web 图层将引用数据源中的数据。 如果已注册数据源中的数据发生变化,web 图层中将反映出这些变化。 唯一的例外是为从云数据仓库发布的数据创建快照的情况。
以下情况建议或需要使用注册数据:
- 有多个客户端访问和更新源数据。
如果有应用程序直接编辑源数据、有应用程序通过服务编辑源数据,或存在转换或 ETL 进程从承包商向源加载数据,则发布引用数据源的地图或要素图层。 通过这种方式,使用图层的用户可以看到在源中对数据进行的更改。
- 使用来自企业级地理数据库的版本化数据。
如果从中进行发布的地图包含版本化企业级地理数据库数据并且您复制了数据,那么复制的数据不会参与到版本中。 通过已发布要素图层所做的编辑无法利用多用户编辑功能。
- 使用来自企业级地理数据库中启用了存档功能的数据。
由于数据所有者启用了存档功能,因此他们能够看见数据随时间变化产生的更改。 如果在发布要素图层时复制来自源的数据,则复制后不再针对该数据启用存档功能,并且不再显示对数据所做的更改。
- 您拥有大型要素类或包含复杂几何的要素类。
要素数量越多,形状越复杂,复制数据花费的时间越长。 复杂形状的示例包括具有上千个折点的面或线,例如海岸线和弯曲的河流。
- 为了在系统管理数据存储中保存资源,您已创建要存储在您控制的文件夹或云数据存储中的栅格切片、矢量切片或场景缓存,并且您将发布以下内容之一以引用适当的缓存:切片图层、矢量切片图层或场景图层。
- 您使用的数据或文件类型只能从注册的数据源中进行发布。
如果从 ArcGIS Pro 发布以下类型的数据,则必须将数据源注册到联合服务器并发布到该联合服务器:
- 地理处理脚本或模型
- 动态地图
- KML
- 删除 web 图层时,不希望 ArcGIS 清除数据。
删除与数据关联的服务或门户项目后,系统会自动删除复制到 ArcGIS Enterprise 的数据。 如果用户只通过 web 图层与数据交互(即从本质上来说,web 图层是数据),那么您希望同时删除数据和 web 图层。 但是,如果服务或门户项目只是用户访问数据的一种方式,则需要将数据保留在数据源中。 在这种情况下,将数据源注册到联合服务器并发布。
提示:
如果在发布要素图层时复制数据,并在后来决定需要保留数据,则需要从门户项目中导出数据、将数据移动到向联合服务器注册的数据库或企业级地理数据库,然后发布。
- 您的数据库连接引用云数据仓库。
复制数据
复制数据类似于在发布时拍摄源数据的快照。 不同于从已注册数据创建的项目,从复制数据创建的项目在数据源发生更改时不会接收来自数据源的动态更新。 如果不需要 web 图层访问源数据,那么在发布时复制数据是一个合适的工作流。
以下情况可复制数据:
- 您正在向门户上传文件,并希望从中发布。
- 防火墙外部的用户需要访问数据。
- 您和其他用户只通过 web 图层访问数据。
- 您使用的应用程序或功能需要托管图层。
- 您使用的数据类型要求您在发布时复制数据。
- 您正在使用云数据仓库中的数据进行发布,但是您的 ArcGIS Enterprise 门户不在云中。 在这种情况下,查询 Web 图层时创建数据快照可能提高性能。
复制的数据可以由用户管理,也可以由 ArcGIS 管理。
由 ArcGIS 管理的数据
ArcGIS 管理的数据是组织中的托管数据。 从托管数据构建的服务始终位于组织中。
ArcGIS Enterprise 中的许多常见工作流及其后续输出都取决于创建托管图层的能力。 托管图层不仅创建为上传数据集和明确选择将其发布为新图层的直接操作。 托管图层也创建为 ArcGIS Enterprise 中大量操作的输出:例如运行分析工具,以及复制要素图层的分布式协作工作流的一部分。
发布位置
组织成员可以从门户中的文件发布、从 ArcGIS Pro 发布、从数据存储项目发布或使用 ArcGIS API for Python 发布。
从门户中的文件发布
您可以从向组织添加的某些文件发布托管 web 图层。
从门户中的文件进行发布时,生成图层的服务始终在门户中的节点上运行。
下表列出了您可以上传的文件、从中发布的托管 web 图层:
文件 | 图层类型 |
---|---|
CSV 文件、Microsoft Excel 文件、GeoJSON 文件、压缩 shapefile、压缩文件地理数据库 | |
切片包 (.tpkx)、服务定义 (.sd) 文件,或矢量切片包 (.vtpk) | |
场景图层包 (.slpk) |
有关发布各种图层类型的信息,请参阅发布托管要素图层、发布托管切片图层、发布托管矢量切片图层和发布托管场景图层。
从 ArcGIS Pro 发布
向 ArcGIS Pro 中的地图和场景添加图层时,可将图层共享为 web 图层。 根据您创建的图层类型,图层的数据可以复制到 ArcGIS 托管数据存储,或保留在注册的数据源中。 选择将数据保留在注册数据源的同时,您还选择了运行服务的服务器。
复制所有数据
从 ArcGIS Pro 进行发布时如果选择复制所有数据下的选项,那么生成 Web 图层使用的数据将不同于地图或场景中的源数据。 有一些 web 图层需要复制所有数据。 其中包括以下内容:
- 矢量切片图层
矢量切片图层从地图中的点、线、面或多点要素图层中共享(发布)。 图层数据将被缓存,切片在门户中的节点上的存储方式与上传矢量切片包并在门户中发布的方式相同。 服务在门户中运行,并创建一个切片图层项目。
有关如何创建满足发布矢量切片图层要求的信息,请参阅 ArcGIS Pro 帮助中的为创建矢量切片制作地图。
- 切片图层
切片图层从 ArcGIS Pro 中的地图发布。 发布切片图层会在门户中的节点上和组织中的切片图层项目上创建缓存地图服务。 切片缓存位于门户中的方式与在门户中发布切片包或服务定义文件的方式相同。 有关作为切片图层发布地图和图层的信息,请参阅 ArcGIS Pro 帮助中的创作 web 地图。
- 场景图层
在您共享 LAS 场景图层或在 ArcGIS Pro 中创建场景图层包时,您发布的场景服务将在门户中的节点上运行,并且缓存将存储在 ArcGIS 托管的数据存储中。
在 ArcGIS Pro 中发布要素图层时,您可以选择存储数据的位置。 如果在发布时选择复制所有数据,则数据将被复制到 ArcGIS 托管数据存储。
发布 web 工具时复制数据
您可以从 ArcGIS Pro 向组织共享地理处理脚本或模型。 进行这一操作时,您需要确定是否向服务器复制用于脚本或模型的数据,这一决定将创建服务使用的数据静态复本或创建服务可访问的参考。
如果数据大小较小,则您可以通过复制数据将 Web 工具发布到托管服务器。 当数据较大时,复制数据可能需要很长时间,因此不建议这样做。
引用注册数据
如果希望 web 图层引用源数据,必须向您想要运行服务的联合服务器注册数据源,或向组织注册源数据。 这可以确保服务能够访问数据。 有关详细信息,请参阅 ArcGIS Pro 帮助中的管理注册数据存储。
从注册数据库发布要素图层时,数据将保留在源数据库或企业级地理数据库中,并在组织中创建要素图层项目和地图图像图层项目。 还会在发布时选择的服务器上创建启用了要素访问功能的地图服务。
要从 ArcGIS Pro 中的地图发布地图图像图层,则必须将一个或多个数据源注册到要发布的联合服务器中,或向组织进行注册。 地图中的所有数据都将保留在注册数据源中,联合服务器或门户中的节点上将创建地图服务,并且组织中将创建地图图像图层。
有关向联合服务器发布地图和要素的详细信息,请参阅发布到门户联合服务器的图层。
使用引用数据发布 web 工具
将地理处理脚本或模型从 ArcGIS Pro 共享时,您可以选择引用注册数据,而不是复制所有数据。 如果希望工具引用数据,则数据必须位于您注册到联合服务器(即,您要发布到的服务器)或组织(如果您发布到门户)的企业级地理数据库或文件夹中。
从门户中的数据库数据存储项目发布
在将数据库数据存储项目添加到门户中时,您可批量发布要素图层和地图图像图层,这些图层引用了可通过数据存储项目进行访问的数据库中的数据。
您可以与其他用户共享包含预先创建缓存的文件夹和云数据存储项目,以便他们可以发布引用数据存储存储中缓存的切片、矢量切片或场景图层。
使用 ArcGIS API for Python 发布
您可以使用 ArcGIS API for Python GIS 模块中的 Item 类将项目发布到使用 Python 脚本和笔记本的 ArcGIS Enterprise 门户。 有关基于场景的示例,请参阅面向内容发布者的 ArcGIS API for Python 示例笔记本。