设置 Openflow Connector for Box

备注

使用该连接器需遵守 连接器条款

本主题介绍设置 Openflow Connector for Box 的步骤。

先决条件

  1. 确保您已查看 关于 Openflow Connector for Box

  2. 确保您已 设置 Openflow

获取凭据

作为 Box 开发人员Box 管理员,按如下方式创建 Box 平台应用程序 (https://developer.box.com/guides/applications/app-types/platform-apps/):

  1. 导航到 Box 开发人员控制台 (https://app.box.com/developers/console)。

  2. 选择 Create Platform App

  3. 选择 Custom App 作为应用程序类型。

  4. 提供应用程序的名称和描述,然后从下拉列表中选择用途。

  5. 选择 Server Authentication (with JWT) 作为身份验证方法。

  6. 选择 Create App

  7. 要配置应用程序,请导航到 Configuration 选项卡。

  8. App Access Level 部分中,选择 App + Enterprise Access

  9. Application Scopes 部分中,选择以下选项:

    • Read all files and folders stored in Box

    • Write all files and folders stored in Box:下载文件和文件夹。请注意,连接器无法上传任何文件。Snowflake 建议仅向服务账户授予查看者角色。要授予应用程序访问 Box 中文件的权限,请选择要同步的文件夹。使用步骤 n 中服务账户的电子邮件地址与应用程序服务账户共享。Openflow Connector for Box 能够从指定文件夹及其所有子文件夹中发现和下载文件,但无法修改文件。

    • Manage users:读取企业中的用户。

    • Manage groups:读取企业中的组及其成员。

    • Manage enterprise properties:读取企业事件。

  10. Add and Manage Public Keys 部分中,生成公钥/私钥对。Box 下载带有私钥的 JSON 配置文件。

  11. 保存更改。

  12. 导航到 Authorization 选项卡,然后提交应用程序以获得访问企业的授权。

  13. 请求您的企业管理员批准该应用程序。

  14. 获得批准后,转到 General Settings 选项卡并保存应用程序服务账户的电子邮件地址。

    有关更多信息,请参阅 使用 JWT 设置 (https://developer.box.com/guides/authentication/jwt/jwt-setup/)。

设置 Snowflake 账户

作为 Snowflake 账户管理员,手动或使用下面附带的脚本执行以下任务:

  1. 创建新角色或使用现有角色并授予 数据库权限

  2. 创建类型为 SERVICE 的新 Snowflake 服务用户。

  3. 向该 Snowflake 服务用户授予您在前面步骤中创建的角色。

  4. 为第 2 步中创建的 Snowflake SERVICE 用户配置 密钥对身份验证

  5. Snowflake 强烈建议执行此步骤。配置 Openflow 支持的密钥管理器(例如 AWS、Azure 和 Hashicorp),并将公钥和私钥存储在密钥存储库中。

    备注

    如果您出于任何原因不希望使用密钥管理器,则您有责任根据组织的安全策略保护用于密钥对身份验证的公钥和私钥文件。

    1. 配置密钥管理器后,确定如何对其进行身份验证。在 AWS 中,建议您使用与 Openflow 关联的 EC2 实例角色,因为这样就无需保留其他密钥。

    2. 在 Openflow 中,从右上角的汉堡菜单中配置与此密钥管理器关联的参数提供商。导航到 Controller Settings » Parameter Provider,然后提取您的参数值。

    3. 此时,可以使用关联的参数路径引用所有凭据,无需在 Openflow 中保留敏感值。

  6. 如果任何其他 Snowflake 用户需要访问连接器引入的原始文档和表(例如,在 Snowflake 中进行自定义处理),则授予这些用户在步骤 1 中创建的角色。

  7. 指定一个仓库供连接器使用。从最小的仓库规模开始,然后根据要复制的表数量和传输的数据量来测试规模。相较于扩大仓库规模,采用 多集群仓库 通常能更有效地应对海量表数量的扩展需求。

示例设置

--The following script assumes you'll need to create all required roles, users, and objects.
--However, you may want to reuse some that are already in existence.

--Create a Snowflake service user to manage the connector
USE ROLE USERADMIN;
CREATE USER <openflow_service_user> TYPE=SERVICE COMMENT='Service user for Openflow automation';

--Create a pair of secure keys (public and private). For more information, see
--key-pair authentication. Store the private key for the user in a file to supply
--to the connector’s configuration. Assign the public key to the Snowflake service user:
ALTER USER <openflow_service_user> SET RSA_PUBLIC_KEY = '<pubkey>';


--Create a role to manage the connector and the associated data and
--grant it to that user
USE ROLE SECURITYADMIN;
CREATE ROLE <openflow_connector_admin_role>;
GRANT ROLE <openflow_connector_admin_role> TO USER <openflow_service_user>;


--The following block is for the use case: Ingest files and perform processing with Cortex
--Create a role for read access to the cortex search service created by this connector.
--This role should be granted to any role that will use the service
CREATE ROLE <cortex_search_service_read_only_role>;
GRANT ROLE <cortex_search_service_read_only_role> TO ROLE <whatever_roles_will_access_search_service>;

--Create the database the data will be stored in and grant usage to the roles created
USE ROLE ACCOUNTADMIN; --use whatever role you want to own your DB
CREATE DATABASE IF NOT EXISTS <destination_database>;
GRANT USAGE ON DATABASE <destination_database> TO ROLE <openflow_connector_admin_role>;

--Create the schema the data will be stored in and grant the necessary privileges
--on that schema to the connector admin role:
USE DATABASE <destination_database>;
CREATE SCHEMA IF NOT EXISTS <destination_schema>;
GRANT USAGE ON SCHEMA <destination_schema> TO ROLE <openflow_connector_admin_role>;
GRANT CREATE TABLE, CREATE DYNAMIC TABLE, CREATE STAGE, CREATE SEQUENCE, CREATE CORTEX
SEARCH SERVICE ON SCHEMA <destination_schema> TO ROLE <openflow_connector_admin_role>;

--The following block is for use case: Ingest files and perform processing with Cortex
--Grant the Cortex read-only role access to the database and schema
GRANT USAGE ON DATABASE <destination_database> TO ROLE <cortex_search_service_read_only_role>;
GRANT USAGE ON SCHEMA <destination_schema> TO ROLE <cortex_search_service_read_only_role>;

--Create the warehouse this connector will use if it doesn't already exist. Grant the
--appropriate privileges to the connector admin role. Adjust the size according to your needs.
CREATE WAREHOUSE <openflow_warehouse>
WITH
   WAREHOUSE_SIZE = 'MEDIUM'
   AUTO_SUSPEND = 300
   AUTO_RESUME = TRUE;
GRANT USAGE, OPERATE ON WAREHOUSE <openflow_warehouse> TO ROLE <openflow_connector_admin_role>;
Copy

用例

您可以为以下用例配置连接器:

仅引入文件

使用连接器定义可执行以下操作:

  • 使用 Document AI 处理引入的文件。

  • 对引入的文件执行自定义处理。

设置连接器

作为数据工程师,执行以下任务以安装和配置连接器:

安装连接器
  1. 导航到 Openflow“Overview”页面。在 Featured connectors 部分中,选择 View more connectors

  2. 在 Openflow 连接器页面上,找到连接器并选择 Add to runtime

  3. Select runtime 对话框中,从 Available runtimes 下拉列表中选择您的运行时。

  4. 选择 Add

    备注

    在安装连接器之前,请确保在 Snowflake 中为连接器创建了数据库和架构,用于存储引入的数据。

  5. 使用您的 Snowflake 账户凭据对部署进行身份验证,并在系统提示时选择 Allow,以允许运行时应用程序访问您的 Snowflake 账户。连接器安装过程需要几分钟才能完成。

  6. 使用您的 Snowflake 账户凭据进行运行时身份验证。

此时将显示 Openflow 画布,其中添加了连接器进程组。

配置连接器
  1. 右键点击导入的进程组并选择 Parameters

  2. 根据 Box 引入参数Box 目标参数Box 源参数 中的描述,输入所需的参数值。

Box 源参数

参数

描述

Box 应用程序配置 JSON

在应用程序创建期间下载的应用程序 JSON 配置。

Box 应用程序配置文件

在应用程序创建期间下载的应用程序 json 文件。必须设置“Box 应用程序配置文件”或“Box 应用程序配置 JSON”。选中 Reference asset 复选框,上传配置文件。

Box 目标参数

参数

描述

目标数据库

用于永久保存数据的数据库。它必须已经存在于 Snowflake 中。

目标架构

用于永久保存数据的架构。它必须已经存在于 Snowflake 中。

Snowflake 账户标识符

Snowflake 账户名称格式为 [organization-name]-[account-name],数据永久保存在其中

Snowflake 身份验证策略

对 Snowflake 进行身份验证的策略。可能的值:当您在 SPCS 上运行流时为 SNOWFLAKE_SESSION_TOKEN,当您想使用私钥设置访问权限时为 KEY_PAIR

Snowflake 私钥

用于身份验证的 RSA 私钥。RSA 密钥必须按照 PKCS8 标准进行格式化,并具有标准的 PEM 头尾标记。请注意,必须定义 Snowflake 私钥文件或 Snowflake 私钥。

Snowflake 私钥文件

该文件包含用于对 Snowflake 进行身份验证的 RSA 私钥,该私钥根据 PKCS8 标准进行格式化,并具有标准的 PEM 头尾标记。头标记行以 -----BEGIN PRIVATE 开头。选中 Reference asset 复选框,上传私钥文件。

Snowflake 私钥密码

与 Snowflake 私钥文件关联的密码

Snowflake 角色

查询执行期间使用的 Snowflake 角色

Snowflake 用户名

用于连接到 Snowflake 实例的用户名

Snowflake 仓库

用于运行查询的 Snowflake 仓库

Box 引入参数

参数

描述

Box 文件夹 ID

要从中读取文件的文件夹的 ID。将此设置为 0 以同步 Box 应用程序有权访问的所有文件夹。可以从 URL 中检索,例如 https://app.box.com/folder/FOLDER_ID (https://app.box.com/folder/FOLDER_ID)。

要引入的文件扩展名

以逗号分隔的列表,用于指定要引入的文件扩展名。如果可能,连接器会尝试先将文件转换为 PDF 格式。尽管如此,系统仍会基于原始文件扩展名执行扩展名检查。如果 Cortex Parse Document 不支持某些指定的文件扩展名,则连接器将忽略这些文件、在事件日志中记录警告消息,并继续处理其他文件。

Snowflake 文件哈希表名称

用于存储文件哈希值以确定内容是否已更改的表的名称。通常不应更改此参数。

运行流

  1. 右键点击“飞机”图标并选择 Enable all Controller Services

  2. 右键点击导入的进程组并选择 Start。连接器开始数据引入。

启动连接器后,它会检索指定文件夹中的所有文件,然后在最近 14 天内使用 admin_logs_streaming 事件。这样做是为了捕获在初始化过程中可能遗漏的数据。在此期间,可能会发生 not found 错误,这些错误是由事件中出现但已不存在的文件引起的。

引入文件并使用 Cortex 执行处理

使用连接器定义可执行以下操作:

  • 为组织 Box 企业内的公共文档创建 AI 助手

  • 使您的 AI 助手遵守组织 Box 企业中指定的访问控制

设置连接器

作为数据工程师,执行以下任务以安装和配置连接器:

安装连接器
  1. 导航到 Openflow“Overview”页面。在 Featured connectors 部分中,选择 View more connectors

  2. 在 Openflow 连接器页面上,找到连接器并选择 Add to runtime

  3. Select runtime 对话框中,从 Available runtimes 下拉列表中选择您的运行时。

  4. 选择 Add

    备注

    在安装连接器之前,请确保在 Snowflake 中为连接器创建了数据库和架构,用于存储引入的数据。

  5. 使用您的 Snowflake 账户凭据对部署进行身份验证,并在系统提示时选择 Allow,以允许运行时应用程序访问您的 Snowflake 账户。连接器安装过程需要几分钟才能完成。

  6. 使用您的 Snowflake 账户凭据进行运行时身份验证。

此时将显示 Openflow 画布,其中添加了连接器进程组。

配置连接器
  1. 右键点击导入的进程组并选择 Parameters

  2. 根据 Box Cortex Connect 引入参数Box Cortex Connect 目标参数Box Cortex Connect 源参数 中的描述,填充所需的参数值。

Box Cortex Connect 源参数

参数

描述

Box 应用程序配置 JSON

在应用程序创建期间下载的应用程序 JSON 配置。

Box 应用程序配置文件

在应用程序创建期间下载的应用程序 json 文件。必须设置“Box 应用程序配置文件”或“Box 应用程序配置 JSON”。选中 Reference asset 复选框,上传配置文件。

Box Cortex Connect 目标参数

参数

描述

目标数据库

用于永久保存数据的数据库。它必须已经存在于 Snowflake 中。

目标架构

用于永久保存数据的架构。它必须已经存在于 Snowflake 中

Snowflake 账户标识符

Snowflake 账户名称格式为 [organization-name]-[account-name],数据永久保存在其中

Snowflake 身份验证策略

对 Snowflake 进行身份验证的策略。可能的值:当您在 SPCS 上运行流时为 SNOWFLAKE_SESSION_TOKEN,当您想使用私钥设置访问权限时为 KEY_PAIR

Snowflake 私钥

用于身份验证的 RSA 私钥。RSA 密钥必须按照 PKCS8 标准进行格式化,并具有标准的 PEM 头尾标记。请注意,必须定义 Snowflake 私钥文件或 Snowflake 私钥。

Snowflake 私钥文件

该文件包含用于对 Snowflake 进行身份验证的 RSA 私钥,该私钥根据 PKCS8 标准进行格式化,并具有标准的 PEM 头尾标记。头标记行以 -----BEGIN PRIVATE 开头。选中 Reference asset 复选框,上传私钥文件。

Snowflake 私钥密码

与 Snowflake 私钥文件关联的密码

Snowflake 角色

查询执行期间使用的 Snowflake 角色

Snowflake 用户名

用于连接到 Snowflake 实例的用户名

Snowflake 仓库

用于运行查询的 Snowflake 仓库

Box Cortex Connect 引入参数

参数

描述

Box 文件夹 ID

要从中读取文件的文件夹的 ID。将此设置为 0 以同步 Box 应用程序有权访问的所有文件夹。可以从 URL 中检索,例如 https://app.box.com/folder/FOLDER_ID (https://app.box.com/folder/FOLDER_ID)。

要引入的文件扩展名

以逗号分隔的列表,用于指定要引入的文件扩展名。如果可能,连接器会尝试先将文件转换为 PDF 格式。尽管如此,系统仍会基于原始文件扩展名执行扩展名检查。如果 Cortex Parse Document 不支持某些指定的文件扩展名,则连接器将忽略这些文件、在事件日志中记录警告消息,并继续处理其他文件。

Snowflake 文件哈希表名称

用于存储文件哈希值以确定内容是否已更改的表的名称。通常不应更改此参数。

OCR 模式

使用 Cortex PARSE_DOCUMENT 函数解析文件时使用的 OCR 模式。该值可以是 OCRLAYOUT

Snowflake Cortex Search 服务用户角色

被分配 Cortex Search 服务使用权限的角色的标识符。

Snowflake 文件哈希表名称

用于存储文件哈希值以确定内容是否已更改的表的名称。通常不应更改此参数。

运行流

  1. 右键点击“飞机”图标并选择 Enable all Controller Services

  2. 右键点击导入的进程组并选择 Start。连接器开始数据引入。

启动连接器后,它会检索指定文件夹中的所有文件,然后在最近 14 天内使用 admin_logs_streaming 事件。这样做是为了捕获在初始化过程中可能遗漏的任何数据。在此期间,可能会发生 not found 错误,这些错误是由事件中出现但已不存在的文件引起的。

查询 Cortex Search 服务

您可以使用 Cortex Search 服务构建聊天和搜索应用程序,以便与 Box 中的文档聊天或查询文档。

安装和配置连接器并开始从 Box 引入内容后,您就可以查询 Cortex Search 服务。有关使用 Cortex Search 的更多信息,请参阅 查询 Cortex Search 服务

筛选器响应

要将 Cortex Search 服务的响应限制为 Box 中特定用户可以访问的文档,可以在查询 Cortex Search 时指定一个包含用户 ID 或电子邮件地址的筛选器。例如,filter.@contains.user_idsfilter.@contains.user_emails。连接器创建的 Cortex Search 服务名称是 search_service 并位于 Cortex 架构中。

在 SQL 工作表中运行以下 SQL 代码,利用从 Box 站点引入的文件查询 Cortex Search 服务。

替换以下内容:

  • application_instance_name:数据库和连接器应用程序实例的名称。

  • user_emailID:要筛选响应的用户的电子邮件 ID。

  • your_question:要获取响应的问题。

  • number_of_results:要在响应中返回的最大结果数。最大值为 1000,默认值为 10。

SELECT PARSE_JSON(
  SNOWFLAKE.CORTEX.SEARCH_PREVIEW(
    '<application_instance_name>.cortex.search_service',
      '{
        "query": "<your_question>",
         "columns": ["chunk", "web_url"],
         "filter": {"@contains": {"user_emails": "<user_emailID>"} },
         "limit": <number_of_results>
       }'
   )
)['results'] AS results
Copy

以下是您可以为 columns 输入的值的完整列表:

列名称

类型

描述

full_name

字符串

Box 站点文档根目录中文件的完整路径。示例:folder_1/folder_2/file_name.pdf

web_url

字符串

在浏览器中显示 Box 原始文件的 URL。

last_modified_date_time

字符串

项目最近一次修改的日期和时间。

chunk

字符串

与 Cortex Search 查询匹配的文档中的一段文本。

user_ids

数组

可访问文档的用户 IDs 的数组。

user_emails

数组

可访问文档的用户电子邮件 IDs 的数组。它还包括分配给文档的所有 Microsoft 365 组的用户电子邮件 IDs。

示例:向 AI 助手查询人力资源 (HR) 信息

您可以使用 Cortex Search 查询 AI 助手,为员工聊天提供最新版本的 HR 信息,如入职、行为规范、团队流程和组织政策等。使用响应筛选器,您还可以允许 HR 团队成员查询员工合同,同时遵守 Box 中配置的访问控制。

SQL 工作表 中运行以下内容,利用从 Box 引入的文件查询 Cortex Search 服务。选择数据库为应用程序实例名称,架构为 Cortex

替换以下内容:

  • application_instance_name:数据库和连接器应用程序实例的名称。

  • user_emailID:要筛选响应的用户的电子邮件 ID。

SELECT PARSE_JSON(
     SNOWFLAKE.CORTEX.SEARCH_PREVIEW(
          '<application_instance_name>.cortex.search_service',
          '{
             "query": "What is my vacation carryover policy?",
             "columns": ["chunk", "web_url"],
             "filter": {"@contains": {"user_emails": "<user_emailID>"} },
             "limit": 1
          }'
     )
 )['results'] AS results
Copy

使用 Box AI 提取 Box 元数据并将其引入到 Snowflake 表中

使用连接器定义可执行以下操作:

  • 提取有关 Box 文件的元数据并将其引入到 Snowflake 表中

  • 对存储在 Box 中的文件的元数据执行操作

创建用于存储 Box 元数据的 Snowflake 表

  1. 确保启用 Box AI 以提取元数据。有关更多信息,请参阅 配置 Box AI (https://support.box.com/hc/en-us/articles/22166647877011-Configuring-Box-AI)。

  2. 创建一个 Snowflake 表,用于发送元数据

    要使连接器知道要提取哪种元数据,必须在数据库和架构中创建一个 Snowflake 表,其中包含要提取的字段的列名。向每列添加描述,以提高用于从文件中提取元数据的模型的性能。

  3. 在上一步创建的表中,确保有一列用于存储 Box 文件 ID 且其类型为 VARCHAR。

    在后续步骤中,必须将此列的名称作为 Box 文件标识符列参数输入。元数据表支持的列类型列表为 VARCHAR、STRING、TEXT、FLOAT、DOUBLE 和 DATE。

以下是您可以为此连接器创建的表的示例:

CREATE OR REPLACE TABLE OPENFLOW.BOX_METADATA_SCHEMA.LOAN_AGREEMENT_METADATA (
  BOX_FILE_ID               VARCHAR    COMMENT 'Box file identifier column',
  LOAN_ID                   STRING     COMMENT 'Unique loan agreement identifier (e.g. L-2025-0001)',
  BORROWER_NAME             STRING     COMMENT 'Name of the borrower entity or individual',
  LENDER_NAME               STRING     COMMENT 'Name of the lending institution',
  LOAN_AMOUNT               DOUBLE     COMMENT 'Principal amount of the loan (in USD)',
  INTEREST_RATE             FLOAT      COMMENT 'Annual interest rate (%)',
  EFFECTIVE_DATE            DATE       COMMENT 'Date on which the loan becomes effective',
  MATURITY_DATE             DATE       COMMENT 'Scheduled loan maturity date',
  LOAN_TERM_MONTHS          FLOAT      COMMENT 'Original term length in months',
  COLLATERAL_DESCRIPTION    TEXT       COMMENT 'Description of collateral securing the loan',
  CREDIT_SCORE              FLOAT      COMMENT 'Borrower credit score',
  JURISDICTION              STRING     COMMENT 'Governing law jurisdiction (e.g. NY, CA)'
);
Copy

设置连接器

作为数据工程师,执行以下任务以安装和配置连接器:

安装连接器
  1. 导航到 Openflow“Overview”页面。在 Featured connectors 部分中,选择 View more connectors

  2. 在 Openflow 连接器页面上,找到连接器并选择 Add to runtime

  3. Select runtime 对话框中,从 Available runtimes 下拉列表中选择您的运行时。

  4. 选择 Add

    备注

    在安装连接器之前,请确保在 Snowflake 中为连接器创建了数据库和架构,用于存储引入的数据。

  5. 使用您的 Snowflake 账户凭据对部署进行身份验证,并在系统提示时选择 Allow,以允许运行时应用程序访问您的 Snowflake 账户。连接器安装过程需要几分钟才能完成。

  6. 使用您的 Snowflake 账户凭据进行运行时身份验证。

此时将显示 Openflow 画布,其中添加了连接器进程组。

配置连接器
  1. 右键点击导入的进程组并选择 Parameters

  2. 根据 Box 引入元数据源参数Box 引入元数据目标参数Box 引入元数据引入参数 中的描述,填充所需的参数值。

Box 引入元数据源参数

参数

描述

Box 应用程序配置 JSON

在应用程序创建期间下载的应用程序 JSON 配置。

Box 应用程序配置文件

在应用程序创建期间下载的应用程序 json 文件。必须设置“Box 应用程序配置文件”或“Box 应用程序配置 JSON”。选中 Reference asset 复选框,上传配置文件。

Box 引入元数据目标参数

参数

描述

目标数据库

用于永久保存数据的数据库。它必须已经存在于 Snowflake 中

目标架构

用于永久保存数据的架构。它必须已经存在于 Snowflake 中

Snowflake 账户标识符

Snowflake 账户名称格式为 [organization-name]-[account-name],数据永久保存在其中

Snowflake 身份验证策略

对 Snowflake 进行身份验证的策略。可能的值:SNOWFLAKE_SESSION_TOKEN – 当我们在 SPCS 上运行流时;KEY_PAIR – 当我们想使用私钥设置访问权限时

Snowflake 私钥

用于身份验证的 RSA 私钥。RSA 密钥必须按照 PKCS8 标准进行格式化,并具有标准的 PEM 头尾标记。请注意,必须定义 Snowflake 私钥文件或 Snowflake 私钥

Snowflake 私钥文件

该文件包含用于对 Snowflake 进行身份验证的 RSA 私钥,该私钥根据 PKCS8 标准进行格式化,并具有标准的 PEM 头尾标记。头标记行以 -----BEGIN PRIVATE 开头。选中 Reference asset 复选框,上传私钥文件。

Snowflake 私钥密码

与 Snowflake 私钥文件关联的密码

Snowflake 角色

查询执行期间使用的 Snowflake 角色

Snowflake 用户名

用于连接到 Snowflake 实例的用户名

Snowflake 仓库

用于运行查询的 Snowflake 仓库

Box 引入元数据引入参数

参数

描述

Box 文件夹 ID

要从中读取文件的文件夹的 ID。将此设置为 0 以同步 Box 应用程序有权访问的所有文件夹。ID 可以从 URL 中检索,例如 https://app.box.com/folder/FOLDER_ID (https://app.box.com/folder/FOLDER_ID)。

Box 文件标识符列

元数据表中的一列,用于存储 Box 文件 ID,以将给定的元数据与文件相关联。此列的类型必须是 VARCHAR,而且必须是在 创建用于存储 Box 元数据的 Snowflake 表 中创建的表的一部分。

目标元数据表

您在 创建用于存储 Box 元数据的 Snowflake 表 中创建的 Snowflake 表,其中包含要收集的元数据的列。

运行流

  1. 右键点击“飞机”图标并选择 Enable all Controller Services

  2. 右键点击导入的进程组并选择 Start。连接器开始数据引入。

启动连接器后,它会检索指定文件夹中的所有文件,然后使用最近 14 天的 admin_logs_streaming 事件。这样做是为了捕获在初始化过程中可能遗漏的任何数据。在此期间,可能会发生 not found 错误,这些错误是由事件中出现但已不存在的文件引起的。

将 Box 文件元数据实例与 Snowflake 表同步

使用连接器定义对 Snowflake 表中 Box 的元数据执行数据转换,并将更改添加回 Box 元数据实例。

创建用于存储 Box 元数据的 Snowflake 流

  1. 为您要使用的元数据表创建 Snowflake 流。该流用于监控您要与之同步 Box 文件的表发生的任何更改。要了解如何创建用于存储 Box 元数据的表,请参阅 创建用于存储 Box 元数据的 Snowflake 表。如果连接器在数据保留时间之后停止运行并且流变得过时,则必须重新创建流并替换之前的流。要了解有关管理流的更多信息,请参阅 管理流

    以下是您可以为此连接器创建的流的示例:

    CREATE OR REPLACE STREAM OPENFLOW.BOX_METADATA_SCHEMA.LOAN_AGREEMENT_METADATA_STREAM
    ON TABLE OPENFLOW.BOX_METADATA_SCHEMA.LOAN_AGREEMENT_METADATA
    
    Copy
  2. 在元数据表中,确保有一列用于存储 Box 文件 ID 且其类型为 VARCHAR。

    在后续步骤中,必须将此列的名称作为 Box 文件标识符列参数输入。元数据表支持的列类型列表为 VARCHAR、STRING、TEXT、FLOAT、DOUBLE 和 DATE。

设置连接器

作为数据工程师,执行以下任务以安装和配置连接器:

安装连接器
  1. 导航到 Openflow“Overview”页面。在 Featured connectors 部分中,选择 View more connectors

  2. 在 Openflow 连接器页面上,找到连接器并选择 Add to runtime

  3. Select runtime 对话框中,从 Available runtimes 下拉列表中选择您的运行时。

  4. 选择 Add

    备注

    在安装连接器之前,请确保在 Snowflake 中为连接器创建了数据库和架构,用于存储引入的数据。

  5. 使用您的 Snowflake 账户凭据对部署进行身份验证,并在系统提示时选择 Allow,以允许运行时应用程序访问您的 Snowflake 账户。连接器安装过程需要几分钟才能完成。

  6. 使用您的 Snowflake 账户凭据进行运行时身份验证。

此时将显示 Openflow 画布,其中添加了连接器进程组。

配置连接器
  1. 右键点击导入的进程组并选择 Parameters

  2. 根据 Box 发布元数据源参数Box 发布元数据目标参数Box 发布元数据引入参数 中的描述,填充所需的参数值。

Box 发布元数据源参数

参数

描述

源数据库

Snowflake 数据库,其中包含引入更改的 Snowflake 流的架构

源架构

包含引入更改的 Snowflake 流的架构

Snowflake 账户标识符

Snowflake 账户名称格式为 [organization-name]-[account-name],数据永久保存在其中

Snowflake 身份验证策略

对 Snowflake 进行身份验证的策略。可能的值:SNOWFLAKE_SESSION_TOKEN – 当我们在 SPCS 上运行流时;KEY_PAIR – 当我们想使用私钥设置访问权限时

Snowflake 私钥

用于身份验证的 RSA 私钥。RSA 密钥必须按照 PKCS8 标准进行格式化,并具有标准的 PEM 头尾标记。请注意,必须定义 Snowflake 私钥文件或 Snowflake 私钥

Snowflake 私钥文件

该文件包含用于对 Snowflake 进行身份验证的 RSA 私钥,该私钥根据 PKCS8 标准进行格式化,并具有标准的 PEM 头尾标记。头标记行以 -----BEGIN PRIVATE 开头。选中 Reference asset 复选框,上传私钥文件。

Snowflake 私钥密码

与 Snowflake 私钥文件关联的密码

Snowflake 角色

查询执行期间使用的 Snowflake 角色

Snowflake 用户名

用于连接到 Snowflake 实例的用户名

Snowflake 仓库

用于运行查询的 Snowflake 仓库

Snowflake 流名称

Snowflake 流名称用于从源 Snowflake 表中引入更改。在启动连接器并链接到表之前,必须先创建连接器。

Box 发布元数据目标参数

参数

描述

Box 应用程序配置 JSON

在应用程序创建期间下载的应用程序 JSON 配置。

Box 应用程序配置文件

在应用程序创建期间下载的应用程序 json 文件。必须设置“Box 应用程序配置文件”或“Box 应用程序配置 JSON”。选中 Reference asset 复选框,上传配置文件。

Box 发布元数据引入参数

参数

描述

Box 文件标识符列

元数据表中的一列,用于存储 Box 文件 ID,以将给定的元数据与文件相关联。此列的类型必须是 VARCHAR,而且必须是在 创建用于存储 Box 元数据的 Snowflake 表 中创建的表的一部分。

Box 元数据模板名称

将添加到 Box 文件中的 Box 元数据模板的模板名称。在启动连接器之前,您无需手动创建模板。如果您在此参数中输入值,则会使用此模板名称自动创建模板。提供的名称不应与您已经在 Box 环境中创建的任何模板重叠。

Box 元数据模板密钥

将添加到 Box 文件中的 Box 元数据模板的 Box 模板密钥。这是用于引用 Box API 中模板的密钥。在启动连接器之前,您无需手动创建模板。如果您在此参数中输入值,则会使用此模板密钥自动创建模板。提供的密钥不应与您已经在 Box 环境中创建的任何模板重叠。

运行流

  1. 右键点击“飞机”图标并选择 Enable all Controller Services

  2. 右键点击导入的进程组并选择 Start。连接器开始数据引入。

运行流后,您可以查询 Cortex Search 服务。有关如何查询 Cortex Search 服务的信息,请参阅 查询 Cortex Search 服务

语言: 中文