上次更新时间: 2026年7月22日
连接 HubSpot 和 AWS S3
- 在 HubSpot 帐户中,单击顶部导航栏中的“商城”图标
,然后选择 HubSpot 商城。 - 在搜索栏中搜索并选择Amazon S3。
- 点击“安装”。
- 选择您的AWS IAM角色,然后点击“安装”。
- 点击“下一步”。
- 在“角色 ARN”字段中输入来自 AWS IAM 角色的ARN 值。
- 点击“连接到 Amazon S3”。
配置存储桶权限
HubSpot 需要对 AWS S3 存储桶及其文件夹拥有以下权限,才能访问该文件夹及其子文件夹中的文件:
- s3:GetBucketLocation
- s3:GetObject
- s3:GetObjectVersion
- s3:ListBucket
- s3:PutObject
- s3:DeleteObject
连接应用后,请授予 HubSpot 将数据同步到您的 S3 存储桶的权限。
- 在 HubSpot 帐户中,单击顶部导航栏中的
设置图标。在左侧栏菜单中,导航到集成 > 连接的应用程序。 - 点击“Amazon S3”。
- 在右侧面板中,点击“选择”以选择您要同步数据的 Amazon S3 账户。
- 在“权限”页面上,单击“复制”以复制示例权限策略,并将其关联到您之前创建的 AWS IAM 角色。请注意,需将权限策略中的存储桶名称替换为您自己的存储桶名称。
- 登录AWS 管理控制台。
- 在首页仪表盘上,点击“服务”>“安全、身份与合规性” > “IAM”。
- 在左侧边栏中,点击“账户设置”。
- 在“安全令牌服务(STS)”部分,查找与您的 AWS 账户所在区域对应的 AWS 区域。点击切换开关将其打开,以激活该区域。
- 在左侧面板中,点击“策略”。
- 点击“创建策略”。
- 在“JSON”选项卡中,点击“添加新语句”。
- 添加您在第 4 步中复制的策略,该策略将授予 HubSpot 所需的权限,以便其通过单个存储桶和文件夹路径加载或导出数据。
- 请务必将<bucket>和<prefix>替换为您实际的存储桶名称和文件夹路径前缀。政府区域中存储桶的 Amazon 资源名称 (ARN) 具有 arn:aws-us-gov:s3::: 前缀。
- 将 s3:prefix 条件设置为 ["*"] 或 ["<path> /*"],分别授予对指定存储桶中所有前缀或该存储桶中指定路径下所有前缀的访问权限。
- 点击“下一步”。
- 在“审核和创建”部分,输入“策略名称”并可选填“描述”。
- 点击“创建策略”。
配置目标存储桶
- 返回 HubSpot 的“权限”页面,在“存储桶”字段中输入存储桶名称。
- 点击“测试连接”。
- 如果连接测试成功,请点击“下一步”。
配置同步
- 在“数据源”页面上,选择您要同步的数据。
- 勾选您希望从 HubSpot 同步到 Amazon S3 的对象、关联和事件的复选框。
- 点击“下一步”。
- 在“详细信息”页面上,点击“同步频率”下拉 菜单,并选择您希望从 HubSpot 同步到 Amazon S3 的数据频率。
- 点击“开始同步”。
管理同步
设置同步并开始从 HubSpot 向 Amazon S3 同步数据后,您可以查看同步状态、排查错误、更新设置或归档该同步任务。
要查看和管理同步:
- 在你的 HubSpot 帐户中,单击更多,然后导航到数据管理 > 数据集成。如果你的帐户中未显示更多,请直接导航到数据管理 > 数据集成。
- 转到“应用同步”选项卡,并在表格中找到您的 Amazon S3 同步任务。
- 查看同步状态:
-
- 同步中:同步正在进行。
- 已同步:上次同步已成功完成。
- 失败:上次同步遇到错误。
- 已归档:同步配置已被删除。
- 点击同步名称可查看更多详细信息,包括已成功同步和同步失败的记录。
要编辑或删除同步任务:
- 在表格中,点击该Amazon S3同步任务。
- 在右上角,点击“操作”下拉菜单,然后选择以下选项之一:
-
- 编辑同步:更新同步设置。
- 归档同步:删除同步配置。
HubSpot 与 Amazon S3 之间的同步数据格式
可同步的数据
您可以将以下数据从 HubSpot 同步到 AWS S3:
- 对象:标准和自定义对象,例如联系人、公司、工单或产品。
- 记录:单个对象记录。
- 属性:对象记录中的属性及其值,包括属性历史记录。
- 关联:所有关联类型及相关记录。
- 事件:选定的标准 HubSpot 事件和自定义行为事件,包括选定的事件属性。
不同类型的对象数据通过以下两种方式进行组织和提供:
- 独立存储:每种对象类型都存储在各自的表中,且仅包含同类型对象的记录。例如,
objects_contacts表中仅包含联系人记录。 - 合并:所有对象类型的所有记录合并到一个数据库对象中。因此,在查询时,您需要指定类似“WHERE objectTypeId=’0-1’
自定义对象在创建时会被分配一个 ID,并以“2-unique_ID”的形式标识。例如:2-12345。
S3 文件夹结构
HubSpot 会将每次成功的同步写入您 Amazon S3 存储桶中由 HubSpot 管理的前缀下,采用以下结构:
s3://<bucket-name>/hubspot-dataout/<account-id>/<run-id>/<table-name>/<file-name>
例如:
s3://my-company-hubspot-data/hubspot-dataout/12345678/98765/OBJECT_WITH_OBJECT_PROPERTIES/part-000.parquet
s3://my-company-hubspot-data/hubspot-dataout/12345678/98765/EVENTS_VISITED_PAGE/part-000.parquet
s3://my-company-hubspot-data/hubspot-dataout/12345678/98765/ASSOCIATIONS_CONTACTS_TO_COMPANIES/part-000.parquet
每次同步都会创建一个新的 run-id文件夹。HubSpot 不会删除之前同步运行产生的数据。
若要自动删除较早的同步数据,请为存储桶或前缀配置 Amazon S3 生命周期策略。
HubSpot 会为每次同步运行生成文件名,且不同同步运行的文件名可能不同。请勿将下游流程配置为依赖特定文件名。相反,应读取您要处理的导出运行中相应table-name文件夹内的所有文件。
对象文件
如果您选择了对象数据,HubSpot 将导出以下文件夹。
OBJECTS_PROPERTIES
每个对象属性值对应一行。
| 列名 |
类型 |
描述 |
|---|---|---|
| OBJECTTYPEID |
字符串 |
对象类型的ID。例如,联系人使用0-1。 |
| OBJECTID |
数字 |
记录的 ID。 |
| NAME |
字符串 |
属性名称。 |
| VALUE |
字符串 |
属性值。 |
| UPDATEDAT |
时间戳 |
该属性值在 HubSpot 中最后一次更新的日期和时间。 |
| INGESTEDAT |
时间戳 |
数据最后一次导入到导出源的日期和时间。 |
OBJECT_WITH_OBJECT_PROPERTIES
每个对象记录占一行,所选属性值汇总到单个PROPERTIES列中。
| 列名 |
类型 |
描述 |
|---|---|---|
| OBJECTTYPEID |
字符串 |
对象类型的ID。例如,联系人使用0-1。 |
| OBJECTID |
数字 |
记录的ID。 |
| PROPERTIES |
对象或 JSON |
该记录所选属性的值。 |
| UPDATEDAT |
时间戳 |
该记录所选属性在 HubSpot 中最后一次更新的日期和时间。 |
| INGESTEDAT |
时间戳 |
数据最后一次导入到导出源的日期和时间。 |
要从该文件夹中读取特定对象类型,请按OBJECTTYPEID 进行筛选。
关联文件
如果您选择了关联数据,HubSpot 会同步关联记录和关联定义。
ASSOCIATIONS
两个对象记录之间每条选定的关联对应一行。
| 列名 |
类型 |
描述 |
|||
|---|---|---|---|---|---|
| COMBINEDASSOCIATIONTYPEID |
字符串 |
关联定义的唯一标识符。 |
|||
| 关联类别 |
字符串 |
关联类型的来源。取值可包括 `HUBSPOT_DEFINED`、`USER_DEFINED` 或 `INTEGRATOR_DEFINED`。 |
|||
| 关联类型 ID |
数字 |
该关联定义在其所属类别中的标识符。 |
|||
| FROMOBJECTID |
数字 |
源对象记录的 ID。 |
|||
| TOOBJECTID |
数字 |
目标对象记录的 ID。 |
|||
| INGESTEDAT |
时间戳 |
数据最后一次导入到导出源的日期和时间。 |
|||
ASSOCIATION_DEFINITIONS
每个选定的关联定义对应一行。
| 列名 |
类型 |
描述 |
|---|---|---|
| COMBINEDASSOCIATIONTYPEID |
字符串 |
关联定义的唯一标识符。 |
| 类别 |
字符串 |
关联类型的来源。取值可以是 `HUBSPOT_DEFINED`、`USER_DEFINED` 或 `INTEGRATOR_DEFINED`。 |
| ID |
数字 |
该关联定义在其所属类别中的标识符。 |
| FROMOBJECTTYPEID |
字符串 |
源对象类型的ID。 |
| TOOBJECTTYPEID |
字符串 |
目标对象类型的 ID。 |
| NAME |
字符串 |
关联定义的名称。 |
| LABEL |
字符串 |
关联定义的标签。 |
| INGESTEDAT |
时间戳 |
数据最后一次导入到导出源的日期和时间。 |
| ISMAINASSOCIATIONDEFINITION |
布尔值 |
HubSpot 是否将此关联定义显示为关联记录上的主关联。 |
ASSOCIATIONS_<源对象类型>_TO_<目标对象类型>
对于选定的关联对,HubSpot 还会同步特定关联对的文件夹,例如ASSOCIATIONS_CONTACTS_TO_COMPANIES。这些文件夹包含关联记录及其相关的定义元数据。
| 列名 |
类型 |
描述 |
|---|---|---|
| COMBINEDASSOCIATIONTYPEID |
字符串 |
关联定义的唯一标识符。 |
| 关联类别 |
字符串 |
关联类型的来源。取值可包括 HUBSPOT_DEFINED、USER_DEFINED 或 INTEGRATOR_DEFINED。 |
| 关联类型 ID |
数字 |
该关联定义在其所属类别中的标识符。 |
| [FROMOBJECTTYPE]_OBJECTID |
数字 |
源对象记录的 ID。例如,CONTACT_OBJECTID。 |
| [TOOBJECTTYPE]_OBJECTID |
数字 |
目标对象记录的 ID。例如,COMPANY_OBJECTID。 |
| INGESTEDAT |
时间戳 |
数据最后一次导入到导出源的日期和时间。 |
| TOOBJECTTYPEID |
字符串 |
目标对象类型的 ID。 |
| FROMOBJECTTYPEID |
字符串 |
源对象类型的 ID。 |
| NAME |
字符串 |
关联定义的名称。 |
| LABEL |
字符串 |
关联定义的标签。 |
| ISMAINASSOCIATIONDEFINITION |
布尔值 |
HubSpot 是否将此关联定义显示为关联记录上的主关联。 |
事件文件
如果您选择了事件数据,HubSpot 会为每种事件类型导出一个文件夹。文件夹名称采用EVENTS_<EVENT_NAME> 的格式,例如EVENTS_VISITED_PAGE。
每个事件文件夹包含标准事件字段,以及在设置过程中选定的每个事件属性的对应字段。
| 列名 |
类型 |
描述 |
|---|---|---|
| EVENTTYPEID |
字符串 |
事件类型的 ID。 |
| ID |
字符串 |
唯一的事件 ID。 |
| OBJECTTYPEID |
字符串 |
与该事件关联的对象类型的 ID。 |
| OBJECTID |
数字 |
与该事件关联的对象记录的 ID。 |
| INGESTEDAT |
时间戳 |
事件被导入到导出源的日期和时间。 |
| OCCURREDATDATEINT |
数字 |
事件日期,以 YYYYMMDD 格式的整数表示。 |
| OCCURREDAT |
时间戳 |
事件发生的日期和时间。 |
| PROPERTY_<PROPERTY_NAME> |
字符串 |
所选的事件属性。例如,名为 page_title 的属性将导出为 PROPERTY_PAGE_TITLE。 |