从 ArcGIS 连接到 Snowflake

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

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

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

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

安装和配置驱动程序

要从 ArcGIS Pro 连接到 Snowflake,您必须在 ArcGIS Pro 计算机上为 Microsoft Windows 安装最新的 Snowflake 64 位 ODBC 驱动程序并配置该驱动程序。 要发布包含来自 Snowflake 的数据的地图图像图层,您必须在 ArcGIS Enterprise 门户的托管服务器站点中的每台计算机上安装并配置 Snowflake 64 位 ODBC 驱动程序。

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

更改 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 驱动程序管理器的位置,将 <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 图层或者在地理处理模型中使用,则必须选中保存用户/密码复选框。

      用户身份验证连接

    • 本地 SSO-Okta - 在 Okta URL 端点字段中以格式 https://<okta_account_name>.okta.com 提供 Okta 帐户的 Okta URL 端点,然后键入用于身份验证的凭据的用户名和密码。

      如果您需要通过此连接发布 Web 图层,不要使用此方法。

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

      本地 SSO-Okta 身份验证连接

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

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

      基于浏览器的 SSO 连接

  6. 角色字段中,指定要用于连接的权限集。
  7. 选择要连接到的数据库,或者在数据库字段中键入数据库的名称。
  8. 方案字段中,键入将连接到的方案的名称。

    注:

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

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

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

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

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

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

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

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

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

注册到托管服务器

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

接下来的步骤

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