从 ArcGIS 连接到 Amazon Redshift

要连接到 Amazon Redshift 云数据仓库,请安装并配置客户端文件以实现 ArcGIS 与 Redshift 之间的通信,并从 ArcGIS Pro 创建数据库连接文件。 要发布 web 图层,必须将数据库连接文件注册到 ArcGIS Enterprise 门户的托管服务器站点。 为了实现最佳性能,请将 ArcGIS 客户端部署在与数据仓库位于同一区域的 Amazon 云中。

通常,IT 专业人员会安装连接数据仓库所需的 ArcGIS 软件和驱动程序。 他们还会配置允许在 ArcGIS 和云数据仓库之间进行通信所需的网络、防火墙和其他通信通道。

接下来,云数据仓库管理员会创建账户并授予这些账户访问云数据仓库中特定表的权限。 管理员可以创建从 ArcGIS Pro 到云数据仓库的连接,并与发布者共享连接文件,或者管理员可以为发布者提供必需的凭据,以允许他们自行创建连接文件。

要发布引用云数据仓库中的数据的 ArcGIS Server web 服务,发布者必需将数据库连接文件注册到充当 ArcGIS Enterprise 门户托管服务器的 ArcGIS GIS Server 站点。

安装和配置驱动程序

要从 Redshift 连接到 ArcGIS Pro,您必须在每台 ArcGIS Pro 计算机上安装最新的 Amazon Redshift 64 位 ODBC 驱动程序。 要发布包含来自 Redshift 的数据的 Web 图层,您必须在 ArcGIS Enterprise 门户托管服务器站点中的每台计算机上安装 Amazon Redshift 64 位 ODBC 驱动程序。 使用运行托管服务器站点的计算机操作系统支持的最新 Amazon Redshift 64 位 ODBC 驱动程序。

可以从 Amazon Web Services (AWS) 网站下载 Amazon Redshift ODBC 驱动程序,然后将其安装在所有将连接到 Redshift 的 ArcGIS 客户端计算机。 有关安装和配置 ODBC 驱动程序的说明,请参阅 Amazon Redshift 管理指南

更改 init_user_param.sh 脚本(仅针对 Linux

如果门户的托管服务器在 Linux 计算机上运行,则必须在 GIS Server 站点中的每台计算机上安装该驱动程序,并在每台计算机上配置 init_user_param.sh 脚本以访问该驱动程序。

将随 ArcGIS Server 一起安装的 init_user_param.sh 脚本更改为引用驱动程序。 可通过浏览至 <ArcGIS Server installation directory>/arcgis/server/usr 目录访问该脚本。

  1. 请确保 ArcGIS Server 每台计算机的安装程序所有者至少具有在数据仓库客户端库中读取和执行的权限。
  2. 在文本编辑器中打开 init_user_param.sh 脚本。
  3. 移除以 export 开头的行中的注释标记 (#),将 <Location_to_ODBC_driver_manager_libraries> 替换为 ODBC 驱动程序在 ArcGIS Server 计算机上的位置,并将 <Location_to_amazon.redshiftodbc.ini> 替换为 amazon.redshiftodbc.ini 文件在计算机上的位置。

    # -----------------------------------------------------------------------
    # Modify this section to configure Amazon Redshift ODBC connector
    # 
    # -----------------------------------------------------------------------
    export LIB_ODBC_DRIVER_MANAGER=<Location_to_ODBC_driver_manager_libraries>/libodbc.so.2
    export AMAZONREDSHIFTODBCINI=<Location_to_amazon.redshiftodbc.ini>/amazon.redshiftodbc.ini

  4. 保存并关闭脚本。
  5. 要使在 init_user_param.sh 文件中进行的更改生效,必须重新启动 ArcGIS Server

    为此,先后在 ArcGIS Server 站点的每台计算机上运行 stopserver.sh 脚本和 startserver.sh 脚本。

    ./stopserver.sh

    ./startserver.sh

创建数据库连接文件

ArcGIS Pro 中,使用新建数据库连接对话框来创建与 Redshift 的连接。

  1. ArcGIS Pro 中打开目录窗格。
  2. 右键单击数据库,然后单击新建数据库连接
  3. 数据库平台下拉列表中选择 Redshift
  4. 服务器文本框中键入托管 Redshift 数据库的服务器的完全限定名称。

    在“服务器”字段中提供托管服务器。

    名称的格式为 <cluster>.<server>.<region>.redshift.amazon.com。 例如,如果数据库集群的名称是 mycluster,服务器的名称是 myserver,并且它被部署在 Amazon 区域 us-east-2 上,则服务器名称将为 mycluster.myserver.us-east-2.redshift.amazon.com

  5. 选择身份验证类型。

    您使用的类型决定了您必须提供的身份验证信息。

    • 标准 - 键入用于身份验证的凭据的用户名和密码。 如果您将使用数据库连接文件来发布 web 图层或者在地理处理模型中使用,请选中保存用户/密码复选框。

      连接的标准身份验证

    • AWS IAM 凭据 - 在 DB 用户字段中键入数据库用户的用户名,然后分别在访问密钥 ID私有访问密钥字段中提供已为 IAM 角色配置的访问密钥和私有访问密钥。 有关配置 IAM 角色的说明,请参阅 AWS 文档。

      连接的 IAM 凭据身份验证

  6. 数据库下拉列表中选择要连接的数据库。
  7. 连接文件名称字段中键入连接文件的名称。

    当提供连接信息后,系统将创建一个默认名称。 您可以使用默认值,或者键入更具描述性的文件名。

    这是将显示在目录窗格和视图中的名称,也是存储在磁盘上的 .sde 文件的名称。

  8. 或者,展开附加属性部分,选择连接所需的附加参数(除了之前步骤中所需参数之外),然后键入该选项的值。
    • 端口 - 如果 Redshift 通过非默认端口进行通信,请选择此属性并在字段中键入正确的端口。

      例如,如果 Redshift 实例通过端口 5440 进行通信,请从属性下拉菜单中选择端口,然后在字段中键入 5440

    • LogLevel - 启用 ODBC 驱动程序的日志记录,并设置日志记录级别。 在字段中指定相应的 Redshift ODBC LogLevel 代码。
    • LogPath - 如果使用 LogLevel 属性启用日志记录,请定义日志文件将写入的文件夹位置。

    如果您需要下拉菜单中未提供的属性,则可以在属性字段中键入该属性并为其提供适当的值。

    有关附加和可选 ODBC 连接参数的信息,请参阅 Amazon Redshift 文档。

  9. 单击确定创建连接文件。

数据库连接将显示在目录窗格中的数据库下,同时将在 ArcGIS Pro 工程目录中创建连接文件 (.sde)。

注册到托管服务器

要允许 ArcGIS Server 站点访问数据,使用您创建的数据库连接文件在 ArcGIS Pro添加注册的数据存储在门户中添加数据存储项目

接下来的步骤

在将 ArcGIS 客户端配置为连接和创建数据库连接文件后,您和其他组织成员可以执行以下操作: