Skip To Content

从 ArcGIS 连接到 Snowflake

要连接到 Snowflake 云数据仓库,请安装并配置客户端文件以实现 ArcGIS 与 Snowflake 之间的通信,并从 ArcGIS Pro 创建数据库连接文件。 为了实现最佳性能,请将 ArcGIS 客户端和数据仓库部署在同一 Snowflake 云环境中。

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

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

要发布引用云数据仓库中的数据的 ArcGIS Server web 服务,发布者必需将数据库连接文件注册到与活动 ArcGIS Enterprise 门户联合的 ArcGIS Server 站点之一。 要发布带快照的 web 服务,必须将数据库连接文件注册到充当 ArcGIS Enterprise 门户托管服务器的 ArcGIS GIS Server 站点。

安装和配置驱动程序

要从 ArcGIS Pro 连接到 Snowflake,您必须在 ArcGIS Pro 计算机上为 Microsoft Windows 安装受支持的 Snowflake 64 位 ODBC 驱动程序并配置该驱动程序。 要发布包含来自 Snowflake 的数据的地图图像图层,您必须在联合 ArcGIS Server 站点中的每台计算机上安装并配置 Snowflake 64 位 ODBC 驱动程序。 有关要求和限制,请参阅连接到数据库或数据仓库所需的软件

可以从 Snowflake 网站下载 Snowflake ODBC 驱动程序,然后将其安装在所有将连接到 Snowflake 的 ArcGIS 客户端计算机。 按照 Snowflake 提供的说明来安装并配置该驱动程序。

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

如果要发布到的联合 ArcGIS Server 站点在 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 驱动程序管理器的位置,将 <Location_to_libSnowflake.so> 替换为 Snowflake ODBC 驱动程序的位置。

    #
    # Modify this section to configure a connection to Snowflake Data Warehouse
    # 
    # -----------------------------------------------------------------------
    export LIB_ODBC_DRIVER_MANAGER=<Location_to_ODBC_driver_manager_libraries>/libodbc.so.2
    export LD_PRELOAD=$LD_PRELOAD:$LIB_ODBC_DRIVER_MANAGER:<Location_to_libSnowflake.so>/libSnowflake.so

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

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

    ./stopserver.sh

    ./startserver.sh

创建数据库连接文件

ArcGIS Pro 中,可以使用数据库连接对话框以创建到 Snowflake 的连接。

  1. ArcGIS Pro 中打开目录窗格。
  2. 右键单击数据库文件夹下的文件夹,然后单击新建数据库连接
  3. 数据库平台下拉菜单中选择 Snowflake
  4. 服务器文本框中键入 Snowflake 账户的名称。

    在“服务器”字段中提供账户信息。

    以类似于 my_account.snowflakecomputing.com 的格式键入该名称。

  5. 身份验证类型下拉菜单中,选择以下身份验证方法之一:
    • 用户 - 键入用于身份验证的凭据的用户名和密码。

      如果您将使用数据库连接文件来发布 web 图层或者在地理处理模型中使用,则必须选中保存用户/密码复选框。

      注:

      Snowflake 很快不再支持此身份验证选项。

      用户身份验证连接

    • 基于浏览器的 SSO - 当您每次进行连接时,此身份验证方法都会提示您提供用于身份验证的凭据。

      如果您将发布 web 图层或者在地理处理模型中使用来自此连接的数据,请勿使用此方法。

      基于浏览器的 SSO 连接

    • 密钥对 - 输入用户名并指定为用户配置的密钥文件 (.p8)。

      如果您要将此连接文件注册ArcGIS Server 站点,使用密钥对身份验证。

      如果您将使用数据库连接文件来发布 web 图层或者在地理处理模型中使用,必须选中保存凭据复选框。

      使用已加密密钥文件的密钥对身份验证

  6. 如果您在上一步中提供了已加密密钥文件,则必须提供该文件的密码,如上图所示。
  7. 角色字段中,指定要用于连接的权限集。
  8. 选择要连接到的数据库,或者在数据库字段中键入数据库的名称。
  9. 方案字段中,键入将连接到的方案的名称。

    注:

    启用要素图格化并创建物化视图将会在连接用户的默认方案中创建对象。 如果您打算使用此功能,请确保您在此处指定的方案是连接用户可以在其中创建对象的方案。

  10. 仓库文本框中,提供用于连接的计算资源的名称。
  11. 连接文件名称字段中键入连接文件的名称。

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

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

  12. 或者,展开其他属性部分并指定要连接的参数(除了之前步骤中所需参数之外)。
    • 令牌
    • 代理
    • 正在追踪
    • LogLevel
    • LogPath
    • 身份验证器

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

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

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

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

注册到联合服务器

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

要在启用为查询图层创建快照配置参数的情况下进行发布,必须将数据库连接文件注册到托管服务器。 有关此参数的详细信息,请参阅 ArcGIS Pro 帮助中的配置参数部分

接下来的步骤

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

  • 如果发布者打算创建要在关系数据存储中存储的数据的快照,确保 ArcGIS Data Store 管理员了解这一点并已在关系数据存储计算机和备份计算机上配置足以容纳这些快照的内存和磁盘空间。
  • 分析者和发布者将在 ArcGIS Pro 的地图中创建查询图层