

# 从 HubSpot 实体中读取
<a name="hubspot-reading-from-entities"></a>

**先决条件**

您要从中读取内容的 HubSpot 对象。您将需要联系人或任务等对象名称。下表显示了同步源支持的实体。

## 同步源支持的实体
<a name="sync-table"></a>


| 实体 | API 版本 | 可以筛选 | 支持限制 | 支持排序依据 | 支持选择\$1 | 支持分区 | 
| --- | --- | --- | --- | --- | --- | --- | 
| 市场活动 | v1 | 否 | 是 | 否 | 是 | 否 | 
| 公司 | v3 | 支持 | 是 | 是 | 是 | 是 | 
| 联系人 | v3 | 支持 | 是 | 是 | 是 | 是 | 
| 联系人列表 | v1 | 否 | 是 | 否 | 是 | 否 | 
| 交易 | v3 | 支持 | 是 | 是 | 是 | 是 | 
| CRM 管道（交易管道） | v1 | 否 | 否 | 否 | 是 | 否 | 
| 电子邮件事件 | v1 | 否 | 是 | 否 | 是 | 否 | 
| Calls | v3 | 支持 | 是 | 是 | 是 | 是 | 
| 备注 | v3 | 支持 | 是 | 是 | 是 | 是 | 
| 电子邮件 | v3 | 支持 | 是 | 是 | 是 | 是 | 
| 会议 | v3 | 支持 | 是 | 是 | 是 | 是 | 
| 任务 | v3 | 支持 | 是 | 是 | 是 | 是 | 
| 邮政邮件 | v3 | 支持 | 是 | 是 | 是 | 是 | 
| 自定义对象 | v3 | 支持 | 是 | 是 | 是 | 是 | 
| 表单 | v2 | 否 | 否 | 否 | 是 | 否 | 
| 所有者 | v3 | 否 | 是 | 否 | 是 | 否 | 
| 产品 | v3 | 支持 | 是 | 是 | 是 | 是 | 
| 工单 | v3 | 支持 | 是 | 是 | 是 | 是 | 
| 工作流 | v3 | 否 | 否 | 否 | 是 | 否 | 
| Associations | v4 | 是 | 否 | 否 | 是 | 否 | 
| 关联标签 | v4 | 否 | 否 | 否 | 是 | 否 | 

**示例：**

```
hubspot_read = glueContext.create_dynamic_frame.from_options(
    connection_type="hubspot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "contact",
        "API_VERSION": "v3"
    }
```

## 异步源支持的实体
<a name="async-table"></a>


| 实体 | API 版本 | 可以筛选 | 支持限制 | 支持排序依据 | 支持选择\$1 | 支持分区 | 
| --- | --- | --- | --- | --- | --- | --- | 
| 公司 | v3 | 是 | 否 | 是 | 是 | 否 | 
| 联系人 | v3 | 是 | 否 | 是 | 是 | 否 | 
| 交易 | v3 | 是 | 否 | 是 | 是 | 否 | 
| Calls | v3 | 是 | 否 | 是 | 是 | 否 | 
| 备注 | v3 | 是 | 否 | 是 | 是 | 否 | 
| 电子邮件 | v3 | 是 | 否 | 是 | 是 | 否 | 
| 会议 | v3 | 是 | 否 | 是 | 是 | 否 | 
| 任务 | v3 | 是 | 否 | 是 | 是 | 否 | 
| 邮政邮件 | v3 | 是 | 否 | 是 | 是 | 否 | 
| 自定义对象 | v3 | 是 | 否 | 是 | 是 | 否 | 
| 产品 | v3 | 是 | 否 | 是 | 是 | 否 | 
| 工单 | v3 | 是 | 否 | 是 | 是 | 否 | 

**示例：**

```
hubspot_read = glueContext.create_dynamic_frame.from_options(
    connection_type="hubspot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "contact",
        "API_VERSION": "v3",
        "TRANSFER_MODE": "ASYNC"
    }
```

**HubSpot 实体和字段详细信息**：

**HubSpot API v4**：

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/hubspot-reading-from-entities.html)

**注意**  
对于 `Associations` 对象，要获取两个对象之间的关联，您需要在创建 AWS Glue 作业时通过强制筛选器提供“from Id”（第一个对象的 ID）。在这种情况下，如果要获取多个 from ID 的关联，则必须在 `where` 子句中提供多个 ID。例如：要获取联系人 ID“1”和“151”的 `Associations`，您需要提供筛选器 `where id=1 AND id=151`。

**HubSpot API v3**：

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/hubspot-reading-from-entities.html)

对于以下实体，HubSpot 提供用于动态获取元数据的端点，以便在每个实体的数据类型级别捕获运算符支持。

**注意**  
`DML_STATUS` 是在运行时添加到每条记录上的虚拟字段，用于在同步模式下确定字段状态（CREATED/UPDATED）。异步模式下不支持 `CONTAINS/LIKE` 运算符。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/hubspot-reading-from-entities.html)

**HubSpot API v2**：

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/hubspot-reading-from-entities.html)

**HubSpot API v1**：

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/hubspot-reading-from-entities.html)

## 对查询进行分区
<a name="hubspot-reading-partitioning-queries"></a>

如果您想在 Spark 中利用并发，可以提供其他 Spark 选项：`PARTITION_FIELD`、`LOWER_BOUND`、`UPPER_BOUND` 和 `NUM_PARTITIONS`。使用这些参数，原始查询将被拆分为 `NUM_PARTITIONS` 个子查询，这些子查询可以由 Spark 任务同时执行。
+ `PARTITION_FIELD`：用于对查询进行分区的字段的名称。
+ `LOWER_BOUND`：所选分区字段的**包含**下限值。

  对于日期时间字段，我们接受 ISO 格式的值。

  有效值示例：

  ```
  “2024-01-01T10:00:00.115Z" 
  ```
+ `UPPER_BOUND`：所选分区字段的**排除**上限值。
+ `NUM_PARTITIONS`：分区的数量。

下表描述实体分区字段支持详细信息：

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/hubspot-reading-from-entities.html)

示例：

```
hubspot_read = glueContext.create_dynamic_frame.from_options(
    connection_type="hubspot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "company",
        "API_VERSION": "v3",
        "PARTITION_FIELD": "hs_object_id"
        "LOWER_BOUND": "50"
        "UPPER_BOUND": "16726619290"
        "NUM_PARTITIONS": "10"
    }
```