

# 从 Microsoft Dynamics 365 CRM 实体读取


 **先决条件** 
+  要从中读取内容的 Microsoft Dynamics 365 CRM 对象。您将需要联系人或账户等对象名称。下表显示支持的实体。

 **支持的实体** 


| 实体 | 可以筛选 | 支持限制 | 支持排序依据 | 支持 Select \$1 | 支持分区 | 
| --- | --- | --- | --- | --- | --- | 
| 动态实体 | 支持 | 是 | 是 | 是 | 是 | 

 **示例** 

```
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 实体和字段详细信息


 **具有动态元数据的实体**：

Microsoft Dynamics 365 CRM 提供用于动态获取元数据的端点。因此，对于动态实体，可在数据类型级别捕获运算符支持。

<a name="microsoft-dynamics-365-metadata-table"></a>[\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/glue/latest/dg/microsoft-dynamics-365-reading-from-entities.html)

 **对查询进行分区** 

Microsoft Dynamics 365 CRM 仅支持基于字段的分区。

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

   对于日期时间，我们接受 Spark SQL 查询中使用的 Spark 时间戳格式。有效值示例：`"2024-01-30T06:47:51.000Z"`。
+  `UPPER_BOUND`：所选分区字段的排除上限值。
+  `NUM_PARTITIONS`：分区的数量。

 基于实体的分区字段支持详细信息如下表中所示：


| 实体名称 | 分区字段 | DataType | 
| --- | --- | --- | 
| 动态实体（标准实体） | 可查询的动态日期时间字段 | 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"
    }
```