

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

# 從 Microsoft Dynamics 365 CRM 實體中讀取
<a name="microsoft-dynamics-365-reading-from-entities"></a>

 **先決條件** 
+  您想要從中進行讀取的 Microsoft Dynamics 365 CRM 物件。將需要物件名稱，例如聯絡人或帳戶。下表顯示支援的實體。

 **支援的實體** 


| 實體 | 可以篩選 | 支援限制 | 支援排序依據 | 支援選取 \* | 支援分區 | 
| --- | --- | --- | --- | --- | --- | 
| 動態實體 | 是 | 是 | 是 | 是 | 是 | 

 **範例** 

```
dynamics365_read = glueContext.create_dynamic_frame.from_options(
    connection_type="microsoftdynamics365crm",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "dynamic_entity",
        "API_VERSION": "v9.2",
        "INSTANCE_URL": "https://{tenantID}.api.crm.dynamics.com"
    }
```

## Microsoft Dynamics 365 CRM 實體和欄位詳細資訊
<a name="microsoft-dynamics-365-entity-and-field-details"></a>

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

Microsoft Dynamics 365 CRM 提供端點來動態擷取中繼資料。因此，對於動態實體，在資料類型層級獲得運算子支援。

<a name="microsoft-dynamics-365-metadata-table"></a>

- **動態實體**
  - **資料類型:** DateTime / **支援的運算子:**  =, <, <=, >, >=, BETWEEN
  - **資料類型:** Date / **支援的運算子:**  =, <, <=, >, >=
  - **資料類型:** String / **支援的運算子:**  =, \!=
  - **資料類型:** Double / **支援的運算子:**  =, <, <=, >, >=
  - **資料類型:** Integer / **支援的運算子:**  =, <, <=, >, >=
  - **資料類型:** Decimal (小數) / **支援的運算子:**  =, <, <=, >, >=
  - **資料類型:** Long / **支援的運算子:**  =, <, <=, >, >=
  - **資料類型:** BigInteger / **支援的運算子:**  =, <, <=, >, >=
  - **資料類型:** 清單 / **支援的運算子:** NA
  - **資料類型:** Struct / **支援的運算子:** NA
  - **資料類型:** Map / **支援的運算子:** NA



 **分區查詢** 

Microsoft Dynamics 365 CRM 僅支援欄位型分區。

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

   對於 Datetime，接受 Spark SQL 查詢中使用的 Spark 時間戳記格式。有效值的範例：`"2024-01-30T06:47:51.000Z"`。
+  `UPPER_BOUND`：所選分區欄位的唯一上限值。
+  `NUM_PARTITIONS`：分區數目。

 實體分區欄位支援詳細資訊如下表所示：


| 實體名稱 | 分區欄位 | DataType | 
| --- | --- | --- | 
| 動態實體 (標準實體) | 可查詢的動態 DateTime 欄位 | createdon, modifiedon | 
| 動態實體 (自訂實體) | createdon, modifiedon | createdon, modifiedon | 

 **範例** 

```
dynamics365_read = glueContext.create_dynamic_frame.from_options(
    connection_type="microsoftdynamics365crm",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "dynamic_entity",
        "API_VERSION": "v9.2",
        "instanceUrl": "https://{tenantID}.api.crm.dynamics.com"
        "PARTITION_FIELD": "createdon"
        "LOWER_BOUND": "2024-01-30T06:47:51.000Z"
        "UPPER_BOUND": "2024-06-30T06:47:51.000Z"
        "NUM_PARTITIONS": "10"
    }
```