作为组织中的 ArcGIS Server 管理员或发布者,您可以选择注册本地数据存储和云存储。为了执行此操作,您正在将数据文件夹、数据库和地理数据库注册到 ArcGIS Server 站点,以便您发布的服务能引用这些文件夹、数据库和地理数据库中的数据。数据注册将为 ArcGIS Server 提供要访问的位置的列表。在多台计算机上发布时,数据注册还会帮助 ArcGIS Server 调整数据路径。
假设您是 ArcGIS Server 管理员,当前有一个部门的 GIS 分析人员将从多台客户端计算机上将服务发布到您的 ArcGIS Server 站点。利用 ArcMap、ArcGIS Pro 或 ArcGIS Server Manager 中的工具,您可以将一组经认可的数据存储位置注册到站点,并将这些位置传达给分析人员。发布者还可以将经认可的文件夹、数据库、企业级或工作组级地理数据库、云存储以及栅格存储注册到站点。将这些数据存储注册到 ArcGIS Server 站点,可以减少分析人员因遇到权限问题而无法进行发布的事故数量。发布者可以创建引用已注册数据存储中的数据的服务。
您可以注册的数据源
您可以将以下任意内容注册到 ArcGIS Server 站点:
- 通过引用数据库连接文件 (.sde),您可以注册 ArcGIS 支持的任何数据库管理系统。连接到的数据库可以包含地理数据库,但并非必须包含地理数据库。
- 您可以将本地和共享的操作系统文件夹注册到 ArcGIS Server 站点,其中包括包含大数据或影像(栅格)的文件夹。这些可能包含 shapefile、文件地理数据库和其他 GIS 资源。注册文件夹时,同样会注册其子文件夹。出于安全考虑,不建议将整个驱动程序注册到 ArcGIS Server。
- 您可以注册 Amazon Web Services 存储或 Microsoft Azure 存储中的云存储。
如果数据位置发生了改变,需使用 ArcGIS Server Manager、ArcMap 或 ArcGIS Pro 更新已注册数据的位置。
注册数据前
注册数据并不会授予 ArcGIS Server 站点对数据的访问权限。注册数据之前,需要确保对于存储在文件夹、工作组级地理数据库中的数据,或者使用操作系统身份验证访问的数据库或企业级地理数据库中的数据,ArcGIS Server 帐户至少具有读取权限。对于使用数据库身份验证用户访问的数据库或企业级地理数据库,必须授予该用户对数据的权限。要了解此过程的详细信息,请参阅使数据可供 ArcGIS Server 访问。
如果要将企业级地理数据库或数据库(.sde 或 .odc 文件)注册到 ArcGIS Server 站点,也需要确保站点中的每台 ArcGIS Server 计算机都安装了 64 位版本的数据库客户端软件。
以下链接描述了每个数据库所需的客户端软件、如何授权 ArcGIS Server 帐户数据访问权限以及如何连接到数据库:
- 将 ALTIBASE 注册到 ArcGIS Server
- 将 Dameng 数据库注册到 ArcGIS Server
- 将 Db2 数据库注册到 ArcGIS Server
- 将 Netezza 数据库注册到 ArcGIS Server
- 将 Oracle 数据库注册到 ArcGIS Server
- 将 PostgreSQL 数据库注册到 ArcGIS Server
- 将 SAP HANA 注册到 ArcGIS Server
- 将 Teradata 数据库注册到 ArcGIS Server
不能将 Informix 数据库注册到 ArcGIS Server 站点。可以创建服务定义文件(引用 Informix 数据库中的数据),然后发布该服务定义文件。
注册数据的情景
注册数据之前,请检查以下方案并考虑您的工作流如何进行关联:
发布者的计算机与 ArcGIS Server 站点引用同一数据库
如果发布者的计算机与 ArcGIS Server 站点将引用相同数据库、工作组级地理数据库或企业级地理数据库中的数据,则注册数据时请导入发布者的数据库连接,然后将 ArcGIS Server 站点的数据库连接设置为与发布者连接相同。
何时使用此方案
如果希望避免在 ArcGIS Server 计算机上放置数据副本,请使用此方案。例如,假设您希望使用本地企业级地理数据库的数据从 ArcMap 向 ArcGIS Server 发布地图服务,或者从 ArcGIS Pro 向您的任一门户联合服务器发布地图图像图层。为避免将地图文档所引用的数据副本放置在其中一台 ArcGIS Server 计算机的文件夹中,请导入发布者的数据库连接并将 ArcGIS Server 站点的数据库连接设置为与发布者连接相同。发布后,地图文档将继续引用存储在企业级地理数据库中的数据。
何时不使用此方案
- 如果数据位于文件地理数据库或文件目录中。应使用下一个方案。
- 如果希望在企业级地理数据库中保留一份单独的数据副本以用于 Web 中。
发布者的计算机与 ArcGIS Server 站点引用同一文件夹
如果发布者的计算机与 ArcGIS Server 站点将引用同一文件夹中的数据,则注册数据时请指定发布者的文件夹路径,然后将 ArcGIS Server 站点的文件夹路径设置为与发布者路径相同。除了使用文件夹而不是数据库,此方案与上一方案没什么不同。
何时使用此方案
如果希望避免在其中一台 ArcGIS Server 计算机上放置数据副本,请使用此方案。例如,假设您希望使用某一网络目录中的数据向 ArcGIS Server 发布地理处理服务。为避免将地理处理服务数据的副本复制到其中一台 ArcGIS Server 计算机上,请指定发布者的文件夹路径并将 ArcGIS Server 站点的文件夹路径设置为与发布者路径相同。发布后,地理处理服务将继续引用存储在网络目录中的地理处理模型、输入、输出、脚本和投影数据。
如果拥有管理所有数据的基于 Linux 的 ArcGIS Server 站点,且已设置 Samba 以允许在 Windows 和 Linux 之间共享文件,则此方案也非常有用。例如,如果希望发布引用 Linux 计算机上数据的地图文档,请将 Samba 目录 (\\net\data) 注册为发布者文件夹,并将 Linux 目录 (/net/data) 注册为 ArcGIS Server 站点的文件夹。发布后,地图文档会自动修改以引用 Linux 计算机中的目录。
何时不使用此方案
- 如果数据位于某个数据库中。应使用上一个方案。
- 如果要发布要素或 WFS-T 服务。
发布者的计算机和 ArcGIS Server 站点引用云存储位置
如果发布者的计算机和 ArcGIS Server 站点将引用云存储容器中的数据,则注册数据时,请提供您的云提供商的连接和身份验证信息。此方案与前两个方案类似,不同之处在于其使用 Amazon Web Services (AWS) 简单存储服务 (S3) 存储段或 Microsoft Azure Blob 容器。
何时使用此方案
如果您拥有 AWS 或 Microsoft Azure 帐户,并且希望您的 Web 服务引用存储在 AWS S3 或 Azure Blob 存储容器中的数据,请使用此方案。
何时不使用此方案
- 您没有 AWS 或 Microsoft Azure 帐户。
- 如果数据位于数据库或文件夹中。可以使用上述两种方案之一。
发布者的计算机与 ArcGIS Server 站点引用不同的地理数据库
由于防火墙的存在、计算平台之间的差异或者希望保留一份单独的数据副本以便在 Web 中使用,发布者与 ArcGIS Server 站点可能各自引用不同数据库中的相同数据。要使用此方案注册您的数据,需要同时导入与发布者数据库的连接以及与 ArcGIS Server 站点的数据库的连接。
何时使用此方案
如果希望在本地企业级地理数据库中保留一份单独的数据副本以便在 Web 中使用,请使用此方案。这种情况下,您有责任确保 ArcGIS Server 站点的地理数据库中存在一份发布者地理数据库的数据副本。此方案仅适用于企业级地理数据库,而不适用于数据库。
将数据发送至 ArcGIS Server 站点的企业级地理数据库的一种方式是在 ArcMap 中注册企业级地理数据库时选中为服务器数据库创建地理数据服务。选中此选项会自动创建地理数据服务,您可以通过此服务将发布者地理数据库的数据复本手动发送到 ArcGIS Server 站点的地理数据库。
您也可以使用地理数据服务同步企业级地理数据库,由此确保对发布者数据库所做的任何后续更改都反映在 ArcGIS Server 站点的数据库中。这对于云部署尤其有利,因为不需要有人登录到云计算机并安排数据传输。
此方案也非常适合将要素服务发布到本地或云 ArcGIS Server 站点。例如,如果使用此方案发布要素服务,会将本地执行的编辑推送到 ArcGIS Server 站点的地理数据库,从而使其对要素服务的最终用户可用。相反,如果 Web 编辑者更改了 ArcGIS Server 站点的地理数据库中的任何要素,所进行的编辑会与发布者地理数据库同步。
何时不使用此方案
发布者的计算机与 ArcGIS Server 站点引用不同的文件夹
由于防火墙的存在、计算平台之间的差异或者保留一份单独的数据副本以便在 Web 中使用,发布者与服务器可能各自在他们自己的数据文件夹中引用相同数据的副本。要使用此方案注册您的数据,需要输入到发布者文件夹以及服务器文件夹的路径。
何时使用此方案
此方案适用于 Linux 部署、云部署或者任何希望发布者与 web 用户使用单独数据副本的部署。
例如,如果希望从 ArcMap 发布地图服务到基于 Linux 的 ArcGIS Server 站点, 可以创建一份地图文档数据的相同副本,并将数据放置在基于 Linux 的服务器上。将两个目录都注册到服务器并发布后,地图文档会自动修改,引用在基于 Linux 的服务器中的文件夹。
如果要发布到基于云的服务器(例如 ArcGIS Enterprise on Amazon Web Services),此方案同样有用。例如,您可以复制本地数据并将其放置于云中的任意目录。发布后,数据路径会自动修改以引用云服务器中的目录。这种方法的缺点是,需要用户登录到云计算机并为向云进行数据传输做好安排(这可以通过 FTP、远程桌面复制和粘贴或者其他受支持的数据传输方法来执行)。
何时不使用此方案
如何将您的数据注册到 ArcGIS Server
可以使用 ArcGIS Server Manager、ArcMap 或 ArcGIS Pro 将数据文件夹、数据库和云位置注册到 ArcGIS Server。有关完整说明,请参阅以下主题:
取消注册数据存储时的注意事项
如果现有服务包含数据存储中的数据,则不应取消注册数据存储。
如果从 ArcGIS Server 站点中取消注册某个数据存储,并且该数据存储用于填充现有服务,那么您仍然可以查看服务,具体取决于所使用的数据存储类型。取消注册数据存储时,请注意以下限制:
- 对于注册数据库和托管数据库,您仍然可以查看其填充的服务中的数据。但是,如果更改了使用数据存储进行存储的密码,将无法更新服务以使用新密码。此时,服务将不再运行,您需要注册包含服务数据的数据库并重新发布服务。
- 对于注册数据库和托管数据库,如果源数据存储不再注册到 ArcGIS Server 站点,那么任何添加到群集的新 ArcGIS Server 计算机都将无法识别服务。您需要注册包含服务数据的数据库并重新发布服务,以便新计算机能够识别服务。
- 尽管可以在 ArcGIS Server Manager 中取消注册 ArcGIS Data Store 关系数据存储、切片缓存数据存储以及来自托管服务器站点的时空大数据存储,但是请勿执行此操作。如果从 Manager 取消注册这些数据存储,则其所填充的服务将不再运行。
如果您或组织内的发布者不小心在 ArcGIS Server Manager 中取消注册了 ArcGIS Data Store 项目(或者在 ArcMap 中取消注册了关系数据存储),那么您必须将 ArcGIS Data Store 重新配置到同一个 ArcGIS Server 站点,以便使您的服务再次运行。