要使 ArcGIS Server 站点能够访问希望发布的数据源,您必须执行以下操作:
- 将数据存储在 ArcGIS Server 站点可访问的位置。
- 授予权限以允许 ArcGIS Server 以正确的级别访问数据。
- 将数据存储注册到 ArcGIS Server 站点。
将数据存储到 ArcGIS Server 都可以访问的位置
存储数据的位置取决于数据大小、访问您通过服务中的数据和可用功能发布的 web 服务的人数以及数据更改的频率。
将数据本地存储在每台 ArcGIS Server 计算机中
您可以将基于文件的数据的相同副本加载到 ArcGIS Server 站点中每台计算机上的本地文件夹中。 每台计算机上的文件夹名称和路径必须相同。
例如,您可以在站点中的每台计算机上放置相同的 /opt/local/data 数据副本。
您可以在以下情况下使用此方法:
- 数据是基于文件的。
- 数据不大。
- 数据未更改或更改不频繁。
- 无法在共享目录中存储数据。
有关详细信息,请参阅以下对基于文件的数据的权限部分。
将数据存储在共享目录中
使 ArcGIS Server 站点能访问基于文件的数据的另一种方法是,使用操作系统工具共享存储数据的目录。 共享网络目录通常使用安装了网络文件共享 (NFS) 的文件夹,其中包含服务器的名称与目录和子目录的名称(例如,/net/myserver/opt/local/data)。
如果在共享目录中存储资源文件,请切记,资源中的所有数据源路径也必须使用 NFS 路径或相对路径。 例如,如果地图中包含来自三个 shapefile 的图层,则这三个 shapefile 的路径必须是 NFS 或相对路径。
虽然共享的网络文件夹便于引用数据,但是如果其他客户端同时访问源文件,则可能会出现锁定问题。 因此,对于在多个 web 服务或客户端中使用的数据,共享目录可能并不实用。
您可以在以下情况下使用此方法:
- 数据是基于文件的。
- Desktop 客户端将不直接在共享目录中访问数据。
有关详细信息,请参阅以下对基于文件的数据的权限部分。
将数据存储在数据库或企业级地理数据库
如果将空间数据存储在 Esri 支持的关系数据库管理系统中,则可以使用数据库连接文件 (.sde) 从 ArcGIS 访问该数据并从中发布地图和要素服务。 您还可以在这些受支持数据库的子集中部署企业级地理数据库以扩展功能。
在以下情况下使用此方法:
- 拥有大量数据。
- 大量用户访问同一数据。
- 您有经验丰富的员工来配置和维护数据库。
- 编辑者需要通过 web 服务编辑数据。
有关详细信息,请参阅以下对数据库中数据的权限部分。
数据库连接
在向 ArcGIS Server 站点注册访问数据库的数据库连接文件 (.sde) 之前,您必须确保已安装 64 位版本的数据库客户端软件,并在必要时在站点中的每台 ArcGIS Server 计算机上进行配置。 例如,如果要注册 Microsoft SQL Server 数据库,则必须在 ArcGIS Server 站点中的每台 ArcGIS Server 计算机上安装受支持的 SQL Server ODBC 驱动程序。 安装客户端软件后,您必须重新启动 ArcGIS Server。 此外还要记得在更新您访问的数据库版本时更新此客户端软件。
以下链接访问的页面描述了每个数据库所需的客户端软件以及如何连接到数据库:
- 从 ArcGIS 连接到 Dameng
- 从 ArcGIS 连接到 Db2
- 从 ArcGIS 连接到 Oracle
- 从 ArcGIS 连接到 PostgreSQL
- 从 ArcGIS 连接到 SAP HANA
- 从 ArcGIS 连接到 SQL Server
- 从 ArcGIS 连接到 Teradata
如果所注册的数据库包含传统版本化地理数据库,则 ArcGIS Server 可访问您为连接文件设置的地理数据库版本中存在的该数据版本。 如果希望 ArcGIS Server 访问不同的版本,则必须注册单个连接文件,才能连接到这些地理数据库版本。 例如,需要注册一个访问默认地理数据库版本的连接文件和一个访问子版本的连接文件。
如果所注册的数据库包含分支版本化地理数据库,则只能从默认版本发布;因此,请只注册一个访问默认版本的连接文件。 有关详细信息,请参阅在 ArcGIS Pro 帮助中共享分支版本化数据。
在云数据仓库中存储数据
如果将数据存储在受支持的云数据仓库中,则您可以从 ArcGIS Pro 中的数据发布只读服务。
在以下情况下在云数据仓库中存储数据:
- 拥有大量源数据。
- 大量用户访问同一数据。
- 不需要地理数据库功能。
- 不需要通过 web 服务编辑数据。
- 您可以将用于发布的客户端(例如 ArcGIS Pro)和 ArcGIS Server 站点放在与云数据仓库相同的云位置中。
用于连接云数据仓库的帐户必须授予 SELECT 对要发布的数据的权限。
云数据仓库客户端文件
在向 ArcGIS Server 站点注册访问云数据仓库的数据库连接文件 (.sde) 之前,您必须确保已安装云数据仓库客户端软件,并在必要时在站点中的每台 ArcGIS Server 计算机上进行配置。 安装客户端软件后,您必须重新启动 ArcGIS Server。 此外还要记得在云数据仓库版本更改时更新此客户端软件。
有关配置托管 ArcGIS Server 站点以访问云数据仓库数据的信息,请参阅以下主题:
将缓存、影像和大数据文件存储在云存储容器中
当您需要存储大型数据文件时,云存储容器可以提供灵活的选项。 由于地图和图像缓存、影像源以及大数据文件通常都很大,因此请考虑将此类型数据存储在注册到 ArcGIS Server 站点的云存储中。
由于数据存储在远程位置,因此,网络的速度和吞吐量将影响 Web 服务性能。 同时,网络管理员可能需要打开公司的防火墙才能访问这些容器。
在云存储容器中存储数据,您可以将用于发布的客户端(例如 ArcGIS Pro 或 ArcGIS Enterprise 门户)和 ArcGIS Server 站点放在相同的云平台和区域中。 否则,Web 服务性能可能会低于您的要求。
在以下情况下支持云存储容器:
- 为地图、切片、矢量切片、场景或影像服务预先创建了缓存,并将在您创建 Web 服务或 Web 图层时引用存储它们的云存储位置。
- 您可以从云存储容器中的文件创建影像图层。
- 存储在云存储容器中的数据将用作 GeoAnalytics Tools的输入。
注册云存储容器时使用的帐户必须具有读取容器中文件的权限。 如果您将云存储容器用作栅格分析工具或 GeoAnalytics Tools的输出位置,则该帐户必须具有容器的写入权限。
授予数据权限
当发布引用注册数据的服务时,对于在服务中所使用的文件夹中的任何数据以及您通过操作系统身份验证进行访问的数据库或企业级地理数据库中的任何数据,ArcGIS Server 帐户至少需要具有读取权限和 SELECT 权限。 如果您发布可编辑要素服务或地理数据服务(仅限地理数据库),则 ArcGIS Server 帐户还需要编辑权限。
如果在 ArcGIS Server 站点注册文件夹,则必须明确授予 ArcGIS Server 帐户从该文件夹进行读取的权限。
如果对所包含的数据库进行注册,需要授予的权限类型取决于正在使用的数据库类型和正在用于连接的身份验证的类型。
从云数据仓库发布的服务为只读服务;因此,用于连接的凭据仅需要选择数据的权限。
有关授予对基于文件的数据或数据库数据的权限的过程,请参阅本主题的剩余章节。
- 如果将数据存储在文件夹或可使用操作系统身份验证或 Microsoft Azure Active Directory 身份验证进行访问的文件夹或数据库中,则必须授予 ArcGIS Server 帐户对文件夹或数据库中的数据的权限。 ArcGIS Server 帐户是用于安装 ArcGIS Server 的帐户,而不是在创建 ArcGIS Server 站点时指定的主站点管理员帐户。
- 如果将数据存储在可使用数据库身份验证进行访问的数据库中,则注册数据库时所提供的数据库用户必须具有对数据的权限。
- 如果数据位于云数据仓库中,则您用于访问该数据仓库的凭据必须具有查看数据的权限。
对基于文件的数据的权限
如果要发布的数据是基于文件的(例如 shapefile、图像文件、文件地理数据库和移动地理数据库),则必须配置对包含数据文件的文件夹的访问权限。
用于登录您所发布的客户端计算机的登录帐户和 ArcGIS Server 帐户必须至少具有文件的读取权限。 如果从文件地理数据库发布地理数据服务或发布定位器,则 ArcGIS Server 帐户必须具有文件夹和文件的写入权限。
如果数据存储在移动地理数据库中,则发布者的登录帐户和 ArcGIS Server 帐户需要对文件具有读取权限。 ArcGIS Server 帐户只需要对文件共享的读取权限,但 ArcGIS Pro 计算机上的登录帐户需要对文件共享的写入权限,因为 ArcGIS Pro 在访问时会锁定移动地理数据库,并且会在文件夹中创建锁定文件。
以下是一些使用情境:
- 如果文件位于 ArcGIS Server 计算机上(或如果站点包含多个文件,则为其中一台 ArcGIS Server 计算机),授予 ArcGIS Server 帐户对包含基于文件的源数据的文件夹的读取权限。 如果从文件地理数据库发布地理数据服务,还要授予对 ArcGIS Server 帐户的写入权限。
- 如果数据未存储在 ArcGIS Server 计算机中,请执行以下操作:
- 授予 ArcGIS Server 帐户访问数据文件的权限。
- 授予 ArcGIS Server 帐户访问数据文件夹的权限。
您必须对此文件夹下的每个目录都进行授权。 例如,如果数据位于 /opt/local/data,则必须对以下路径进行授权:
- /opt
- /opt/local/
- /opt/local/data
对数据库中数据的权限
发布引用已注册的数据库或企业级地理数据库中数据的服务时,请确保用于连接到数据库的帐户具有访问数据库及其数据的相应权限。 如果注册了 OLE DB 连接,则连接用户只需要对要发布的表具有 SELECT 权限。
对于已注册的数据库连接文件 (.sde),需要授予的权限类型取决于使用的数据库类型和用于连接的身份验证的类型。
数据库身份验证
使用数据库身份验证时,必须使用您注册的数据库连接来保存用户名和密码。 需要执行此操作,服务才能成功访问数据。
要发布数据,与连接文件一起保存的数据库用户必须对数据具有 SELECT 权限。 如果要发布可编辑要素服务,则连接数据库用户必须具有支持您在要素服务中允许的编辑类型(插入、更新或删除权限的任意组合)所需的权限。
操作系统身份验证
如果通过操作系统身份验证访问数据,则必须向数据库中添加 ArcGIS Server 帐户,然后授予该帐户访问所需资源的权限。 服务运行时,它将作为 ArcGIS Server 帐户登录到数据库管理系统。
您添加 ArcGIS Server 帐户并向其授予权限的方式可能有所不同。 要了解如何为操作系统帐户授予访问权限,请查阅 DBMS 文档。
添加 ArcGIS Server 帐户后,您必须授予该帐户对您将要发布数据的 SELECT 权限。 如果要发布可编辑要素服务,则 ArcGIS Server 帐户必须具有支持您在要素服务中允许的编辑类型(插入、更新或删除权限的任意组合)所需的权限。 如果您发布地理数据服务,ArcGIS Server 帐户必须对复制的数据具有插入、更新和删除权限。
Microsoft Azure Active Directory 身份验证
连接到配置为使用 Microsoft Azure Active Directory 身份验证的 Microsoft Azure SQL Managed Instance 或 Microsoft Azure SQL Database 实例时,您必须将用户名与连接文件一起保存。
连接文件中指定的用户必须具有对要发布数据的 SELECT 权限。 如果要发布可编辑要素服务,则用户也必须具有支持您在要素服务中允许的编辑类型(插入、更新或删除权限的任意组合)所需的权限。 如果您发布地理数据服务,ArcGIS Server 帐户必须对复制的数据具有插入、更新和删除权限。
将数据位置注册到 ArcGIS Server 站点
数据注册将使您在最大程度上对站点访问数据的方式进行控制,并帮助您确保数据完全可供您发布的 web 服务访问。 因此,在授予 ArcGIS Server 帐户对包含您的数据的文件夹和数据库的相应权限后,您需要将上述文件夹和数据库注册到 ArcGIS Server 站点。 要允许发布者在云中存储地图或图像缓存,则需要将云存储位置注册到 ArcGIS Server 站点。
如果 ArcGIS Server 站点与 ArcGIS Enterprise 门户联合,则可以在门户中添加数据存储。 此举具有以下优势:
- 您可以一次将单个数据存储注册到多个联合 ArcGIS Server 站点。
- 在门户中注册时,会创建一个数据存储门户项目。 您可以与门户组或整个组织共享该项目。 当组成员或组织成员从 ArcGIS Server Manager 或 ArcGIS Pro 发布该数据存储中的内容时,他们不必单独将数据存储注册到您为数据存储项目配置的联合服务器。
但是,如果您在 ArcGIS Enterprise 门户中注册了数据存储,则您此时无法执行以下操作:
- 将数据存储配置为缓存存储。
- 管理门户之外的数据存储。
如果您使用的是独立 ArcGIS Server 站点,请在 ArcGIS Server Manager 或 ArcGIS Pro 中注册您的数据存储。
有关注册数据存储可用选项的信息,请参阅以下主题: