

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 從 Salesforce Marketing Cloud 實體中讀取
<a name="salesforce-marketing-cloud-reading-from-entities"></a>

**必要條件**

您想要從中讀取的 Salesforce Marketing Cloud 物件。您將需要物件名稱，例如 `Activity` 或 `Campaigns`。下表顯示支援的實體。

**來源的支援實體**：


| 實體 | 介面 | 可以篩選 | 支援限制 | 支援排序依據 | 支援 SELECT \$1 | 支援分區 | 
| --- | --- | --- | --- | --- | --- | --- | 
| 事件通知回呼 | REST | 否 | 否 | 否 | 是 | 否 | 
| Seed-List | REST | 否 | 是 | 否 | 是 | 否 | 
| 設定 | REST | 是 | 是 | 否 | 是 | 否 | 
| 網域驗證 | REST | 是 | 是 | 是 | 是 | 否 | 
| 物件巢狀標籤 | REST | 是 | 否 | 否 | 是 | 否 | 
| 聯絡 | REST | 否 | 是 | 否 | 是 | 否 | 
| 事件通知訂閱 | REST | 否 | 否 | 否 | 是 | 否 | 
| 簡訊 | REST | 否 | 是 | 否 | 是 | 否 | 
| 活動 | SOAP | 否 | 否 | 否 | 是 | 是 | 
| Bounce Event | SOAP | 否 | 否 | 否 | 是 | 是 | 
| Click Event | SOAP | 否 | 否 | 否 | 是 | 是 | 
| Content Area | SOAP | 否 | 否 | 否 | 是 | 是 | 
| Data Extension | SOAP | 否 | 是 | 否 | 是 | 是 | 
| Email | SOAP | 否 | 是 | 否 | 是 | 是 | 
| Forwarded Email Event | SOAP | 否 | 是 | 否 | 是 | 是 | 
| Forward Email OptInEvent | SOAP | 否 | 是 | 否 | 是 | 是 | 
| 連結 | SOAP | 否 | 是 | 否 | 是 | 是 | 
| Link Send | SOAP | 否 | 是 | 否 | 是 | 是 | 
| 清單 | SOAP | 否 | 是 | 否 | 是 | 是 | 
| List Subscriber | SOAP | 否 | 是 | 否 | 是 | 是 | 
| Not Sent Event | SOAP | 否 | 是 | 否 | 是 | 是 | 
| Open Event | SOAP | 否 | 是 | 否 | 是 | 是 | 
| 傳送 | SOAP | 否 | 是 | 否 | 是 | 是 | 
| Sent Event | SOAP | 否 | 是 | 否 | 是 | 是 | 
| Subscriber | SOAP | 否 | 是 | 否 | 是 | 是 | 
| Survey Event | SOAP | 否 | 是 | 否 | 是 | 是 | 
| Unsub Event | SOAP | 否 | 是 | 否 | 是 | 是 | 
| 稽核事件 | REST | 否 | 是 | 是 | 是 | 否 | 
| 行銷活動 | REST | 否 | 是 | 是 | 是 | 否 | 
| 互動 | REST | 否 | 是 | 是 | 是 | 否 | 
| 內容資產 | REST | 否 | 是 | 是 | 是 | 否 | 

**REST 的範例**：

```
salesforcemarketingcloud_read = glueContext.create_dynamic_frame.from_options(
    connection_type="salesforcemarketingcloud",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "Campaigns",
        "API_VERSION": "v1",
        "INSTANCE_URL": "https://**********************.rest.marketingcloudapis.com"
    }
)
```

**SOAP 的範例**：

```
salesforcemarketingcloud_read = glueContext.create_dynamic_frame.from_options(
    connection_type="salesforcemarketingcloud",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "Activity",
        "API_VERSION": "v1",
        "INSTANCE_URL": "https://**********************.soap.marketingcloudapis.com"
    }
)
```

**Salesforce Marketing Cloud 實體和欄位詳細資訊**：

下表說明 Salesforce Marketing Cloud 實體。存在具有靜態中繼資料的 REST 實體和具有動態中繼資料的 SOAP 實體。

**具有靜態中繼資料的 REST 實體**：

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

**具有動態中繼資料的 SOAP 實體**：

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

## 分區查詢
<a name="salesforce-marketing-cloud-reading-partitioning-queries"></a>

在 Salesforce Marketing Cloud 中，Integer 和 DateTime 資料類型欄位支援欄位型分區。

如果想要在 Spark 中使用並行，可以提供其他 Spark 選項 `PARTITION_FIELD`、`LOWER_BOUND`、`UPPER_BOUND` 和 `NUM_PARTITIONS`。使用這些參數，原始查詢會分區為可由 Spark 任務並行執行的子查詢的 `NUM_PARTITIONS` 數目。
+ `PARTITION_FIELD`：用來分區查詢的欄位名稱。
+ `LOWER_BOUND`：所選分區欄位的**包含**下限值。

  對於時間戳記欄位，接受 Spark SQL 查詢中使用的 Spark 時間戳記格式。

  有效值的範例：

  ```
  “2024-05-07T02:03:00.00Z"
  ```
+ `UPPER_BOUND`：所選分區欄位的**唯一**上限值。
+ `NUM_PARTITIONS`：分區數目。

範例：

```
salesforcemarketingcloud_read = glueContext.create_dynamic_frame.from_options(
    connection_type="salesforcemarketingcloud",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "ListSubscriber",
        "API_VERSION": "v1",
        "PARTITION_FIELD": "CreatedDate",
        "LOWER_BOUND": "2023-09-07T02:03:00.000Z",
        "UPPER_BOUND": "2024-05-07T02:03:00.000Z",
        "NUM_PARTITIONS": "10"
    }
)
```