设置 Openflow Connector for HubSpot¶
备注
此连接器受 Snowflake 连接器条款 的约束。
本主题介绍设置 Openflow Connector for HubSpot 的步骤。
先决条件¶
确保您已安装 设置 Openflow - BYOC 或 设置 Openflow - Snowflake 部署。
若使用 Openflow - Snowflake Deployments,请确保您已审阅 配置所需域名 的要求,并已授予对 Hubspot 连接器所需域名的访问权限。
获取凭据¶
作为 HubSpot 管理员,生成 HubSpot 私有应用程序令牌或在您的 HubSpot 账户中创建一个。这使您能够对发送到 HubSpot API 的请求进行身份验证。
登录您的 HubSpot 账户。
选择顶部导航栏中的齿轮图标,导航至 Settings。
在左侧导航栏中,前往 Integrations » Private Apps。
选择 Create a private app。
输入应用程序的名称。
导航到 Scopes 选项卡。
选择您要发出的 API 请求所需的范围。要查找 API 请求所需的范围,请参阅 范围 (https://developers.hubspot.com/docs/guides/apps/authentication/scopes)。
选择 Create app。
为每个端点设置您要发出 API 请求所需的范围。
选择 View access token 查看访问令牌。将令牌粘贴到连接器参数中,或将其安全保存。
设置 Snowflake 账户¶
作为 Snowflake 账户管理员,请执行以下任务:
创建类型为 SERVICE 的新 Snowflake 服务用户。
向该 Snowflake 服务用户授予您在前面步骤中创建的角色。
为第 2 步中创建的 Snowflake SERVICE 用户配置 密钥对身份验证。
Snowflake 强烈建议执行此步骤。配置 Openflow 支持的密钥管理器(例如 AWS、Azure 和 Hashicorp),并将公钥和私钥存储在密钥存储库中。
备注
如果您出于任何原因不想要使用密钥管理器,则您有责任根据组织的安全策略保护用于密钥对身份验证的公钥和私钥文件。
配置密钥管理器后,确定如何对其进行身份验证。在 AWS 中,建议您使用与 Openflow 关联的 EC2 实例角色,因为这样就无需保留其他密钥。
在 Openflow 中,从右上角的汉堡菜单中配置与此密钥管理器关联的参数提供商。导航到 Controller Settings » Parameter Provider,然后提取您的参数值。
此时,可以使用关联的参数路径引用所有凭据,无需在 Openflow 中保留敏感值。
如果任何其他 Snowflake 用户需要访问连接器引入的原始文档和表(例如,在 Snowflake 中进行自定义处理),则授予这些用户在步骤 1 中创建的角色。
在 Snowflake 中为连接器创建数据库和架构,以存储引入的数据。向第一步中创建的角色授予以下 数据库权限 权限。
创建供连接器使用的仓库,或者使用现有仓库。从最小的仓库规模开始,然后根据要复制的表数量和传输的数据量来测试规模。相较于扩大仓库规模,采用 多集群仓库 通常能更有效地应对海量表数量的扩展需求。
确保具有连接器所用角色的用户具备使用仓库所需的权限。否则请向该角色授予所需权限。
设置连接器¶
作为数据工程师,执行以下任务以安装和配置连接器:
安装连接器¶
要安装连接器,请以数据工程师身份执行以下操作:
导航到 Openflow“Overview”页面。在 Featured connectors 部分中,选择 View more connectors。
在 Openflow 连接器页面上,找到连接器并选择 Add to runtime。
在 Select runtime 对话框中,从 Available runtimes 下拉列表中选择您的运行时,然后点击 Add。
备注
在安装连接器之前,请确保在 Snowflake 中为连接器创建了数据库和架构,用于存储引入的数据。
使用您的 Snowflake 账户凭据对部署进行身份验证,并在系统提示时选择 Allow,以允许运行时应用程序访问您的 Snowflake 账户。连接器安装过程需要几分钟才能完成。
使用您的 Snowflake 账户凭据进行运行时身份验证。
此时将显示 Openflow 画布,其中添加了连接器进程组。
配置连接器¶
右键点击导入的进程组并选择 Parameters。
按照 流参数 中所述填充所需的参数值。
流参数¶
本节介绍您可以根据以下参数上下文配置的流参数:
HubSpot 源参数:用于与 HubSpot 建立连接。
HubSpot 目标参数:用于与 Snowflake 建立连接。
HubSpot 引入参数:用于定义从 HubSpot 下载的数据的配置。
HubSpot 源参数¶
参数 |
描述 |
|---|---|
HubSpot 访问令牌 |
HubSpot 私有应用程序访问令牌。 |
HubSpot 目标参数¶
参数 |
描述 |
必填 |
|---|---|---|
目标数据库 |
用于永久保存数据的数据库。它必须已存在于 Snowflake 中。名称区分大小写。对于未加引号的标识符,请以大写形式提供名称。 |
是 |
目标架构 |
将持久保存数据的架构,该架构必须已存在于 Snowflake 中。名称区分大小写。对于未加引号的标识符,请提供大写形式的名称。 请参阅以下示例:
|
是 |
Snowflake 身份验证策略 |
使用以下方式时:
|
是 |
Snowflake 账户标识符 |
使用以下方式时:
|
是 |
Snowflake 私钥 |
使用以下方式时:
|
否 |
Snowflake 私钥文件 |
使用以下方式时:
|
否 |
Snowflake 私钥密码 |
使用以下方式时:
|
否 |
Snowflake 角色 |
使用以下方式时:
|
是 |
Snowflake 用户名 |
使用以下方式时:
|
是 |
超大值处理策略 |
确定连接器在复制期间如何处理超过内部大小限制 (16 MB) 的值。可能的值:
|
否 |
Snowflake 仓库 |
用于运行查询的 Snowflake 仓库。 |
是 |
HubSpot 引入参数¶
参数 |
描述 |
|---|---|
对象类型 |
要导入的 HubSpot 对象类型列表,多个值以逗号分隔。 支持的对象类型值包括:
|
之后更新 |
筛选在指定日期或时间之后更新的对象。此参数是可选的。 |
数据引入计划 |
距离下一次计划之间的时间。持续时间应当有效,例如 30 分钟或 1 小时。 |
运行流¶
右键点击“飞机”图标并选择 Enable all Controller Services。
右键点击导入的进程组并选择 Start。连接器开始数据引入。
重新配置连接器¶
连接器开始引入数据后,您可以修改连接器参数。如果问题查询标准发生变化,请执行以下步骤以确保目标表中的数据一致。
停止连接器:确保所有 Openflow 处理器都已停止。
访问配置设置:在 Snowflake Openflow 界面中导航到连接器的配置设置。
修改参数:根据需要调整参数。
清除处理器状态:如果您要更改引入标准,Snowflake 强烈建议您从头开始引入,以保持目标表中的数据一致。清除
List Fresh HubSpot Objects处理器中的状态后,连接器将从头开始提取所有对象。可能需要手动截断目标表,以防止行重复。
数据结构和视图¶
连接器在您的 Snowflake 数据库中以以下两种格式存储数据:
原始数据存储¶
所有原始 HubSpot 数据都存储在表中,表名与 Object Types 参数中指定的名称完全一致。例如:
如果您在 Object Types 参数中配置了
Products,Contacts,Companies,连接器将创建三个表:PRODUCTS、CONTACTS和COMPANIES。每个表都包含来自 HubSpot API 响应的完整 JSON 负载。
原始数据保留了来自 HubSpot 的原始结构和所有元数据。
展平视图¶
为了方便查询和分析,连接器会自动为每个对象类型创建展平视图:
每个原始表都有一个相应的视图,视图后缀为
_VIEW。例如,PRODUCTS_VIEW、CONTACTS_VIEW和COMPANIES_VIEW。视图将 JSON 负载中常用的字段提取到独立的列中。
复杂的嵌套结构被展平,以简化 SQL 查询。