

# 从 Salesforce Marketing Cloud Account Engagement 实体中读取
<a name="salesforce-marketing-cloud-account-engagement-reading-from-entities"></a>

**先决条件**

您要从中读取内容的 Salesforce Marketing Cloud Account Engagement 对象。您将需要对象名称。

**同步源支持的实体**：


| 实体 | 可以筛选 | 支持限制 | 支持排序依据 | 支持 Select \$1 | 支持分区 | 
| --- | --- | --- | --- | --- | --- | 
| 活动 | 支持 | 是 | 是 | 是 | 是 | 
| 动态内容 | 支持 | 是 | 是 | 是 | 是 | 
| 电子邮件 | 支持 | 是 | 是 | 是 | 是 | 
| 电子邮件模板 | 支持 | 是 | 是 | 是 | 是 | 
| Engagement Studio 程序 | 支持 | 是 | 是 | 是 | 是 | 
| 文件夹内容 | 支持 | 是 | 是 | 是 | 是 | 
| 登录页面 | 支持 | 是 | 是 | 是 | 是 | 
| 生命周期历史记录 | 支持 | 是 | 是 | 是 | 是 | 
| 生命周期阶段 | 支持 | 是 | 是 | 是 | 是 | 
| 列表 | 支持 | 是 | 是 | 是 | 是 | 
| 电子邮件列表 | 支持 | 是 | 是 | 是 | 是 | 
| 成员资格列表 | 支持 | 是 | 是 | 是 | 是 | 
| Opportunity | 支持 | 是 | 是 | 是 | 是 | 
| 潜在客户 | 支持 | 是 | 是 | 是 | 是 | 
| 潜在客户账户 | 支持 | 是 | 是 | 是 | 是 | 
| 用户 | 是 | 是 | 是 | 是 | 是 | 

**示例：**

```
salesforcepardot_read = glueContext.create_dynamic_frame.from_options(
    connection_type="SalesforcePardot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v5"
    }
   )
```

**异步源支持的实体**：


| 实体 | 可以筛选 | 支持限制 | 支持排序依据 | 支持 Select \$1 | 支持分区 | 
| --- | --- | --- | --- | --- | --- | 
| 活动 | 是 | 否 | 否 | 是 | 否 | 
| 动态内容 | 是 | 否 | 否 | 是 | 否 | 
| 电子邮件模板 | 是 | 否 | 否 | 是 | 否 | 
| 登录页面 | 是 | 否 | 否 | 是 | 否 | 
| 生命周期历史记录 | 是 | 否 | 否 | 是 | 否 | 
| 生命周期阶段 | 是 | 否 | 否 | 是 | 否 | 
| 列表 | 是 | 否 | 否 | 是 | 否 | 
| 电子邮件列表 | 是 | 否 | 否 | 是 | 否 | 
| 成员资格列表 | 是 | 否 | 否 | 是 | 否 | 
| Opportunity | 是 | 否 | 否 | 是 | 否 | 
| 潜在客户 | 是 | 否 | 否 | 是 | 否 | 
| 潜在客户账户 | 是 | 否 | 否 | 是 | 否 | 
| 用户 | 是 | 否 | 否 | 是 | 否 | 

**示例：**

```
salesforcepardot_read = glueContext.create_dynamic_frame.from_options(
    connection_type="SalesforcePardot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v5",
        "TRANSFER_MODE": "ASYNC"
    }
   )
```

**Salesforce Marketing Cloud Account Engagement 实体和字段详细信息**：

要查看以下实体的字段详细信息，请导航到 [Salesforce Marketing Cloud Account Engagement API](https://developer.salesforce.com/docs/marketing/pardot)，选择**指南**，向下滚动到**开源 API 包装器**，从菜单中展开**版本 5 文档**，然后选择一个实体。

实体列表：
+ 活动
+ 动态内容
+ 电子邮件
+ 电子邮件模板
+ Engagement Studio 程序
+ 文件夹内容
+ 登录页面
+ 生命周期历史记录
+ 生命周期阶段
+ 列表
+ 电子邮件列表
+ 成员资格列表
+ Opportunity
+ 潜在客户
+ 潜在客户账户
+ 用户

除上述字段外，异步模式还支持每个实体的特定可筛选字段，如下表所示。


| 实体 | 异步模式支持的其他可筛选字段 | 
| --- | --- | 
| 活动 | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| 动态内容 | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| 电子邮件模板 | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Engagement Studio 程序 | - | 
| 登录页面 | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| 生命周期历史记录 | createdAfter, createdBefore | 
| 生命周期阶段 | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| 列表 | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| 电子邮件列表 | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| 成员资格列表 | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Opportunity | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| 潜在客户 | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| 潜在客户账户 | createdAfter, createdBefore, deleted | 
| 用户 | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 

有关其他字段的更多信息，请参阅 [Salesforce Export API](https://developer.salesforce.com/docs/marketing/pardot/guide/export-v5.html#procedures)

请注意连接器的以下注意事项：
+ 实体中 `delete` 字段的值可以是 `false`（默认）、`true` 或 `all`。

## 对查询进行分区
<a name="salesforce-marketing-cloud-account-engagement-reading-partitioning-queries"></a>

**基于筛选器的分区**：

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

  对于日期时间字段，我们接受 Spark SQL 查询中使用的 Spark 时间戳格式。

  有效值示例：

  ```
  "2022-01-01T01:01:01.000Z"
  ```
+ `UPPER_BOUND`：所选分区字段的**排除**上限值。
+ `NUM_PARTITIONS`：分区的数量。
+ `PARTITION_BY`：要执行的分区类型。如果是基于字段的分区，则需要传递“FIELD”。

示例：

```
salesforcepardot_read = glueContext.create_dynamic_frame.from_options(
    connection_type="salesforcepardot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v5",
        "PARTITION_FIELD": "createdAt"
        "LOWER_BOUND": "2022-01-01T01:01:01.000Z"
        "UPPER_BOUND": "2024-01-01T01:01:01.000Z"
        "NUM_PARTITIONS": "10",
        "PARTITION_BY": "FIELD"
    }
   )
```