

# 从 WooCommerce 实体读取内容
<a name="woocommerce-reading-from-entities"></a>

**先决条件**

要从中读取内容的 WooCommerce 对象。需要优惠券、订单、产品等对象名称。

**源支持的实体**：


| 实体 | 可以筛选 | 支持限制 | 支持排序依据 | 支持 Select \$1 | 支持分区 | 
| --- | --- | --- | --- | --- | --- | 
| 优惠券 | 支持 | 是 | 是 | 是 | 是 | 
| 优惠券总计 | 否 | 否 | 否 | 是 | 否 | 
| 客户总计 | 否 | 否 | 否 | 是 | 否 | 
| 订单 | 支持 | 是 | 是 | 是 | 是 | 
| 订单总计 | 否 | 否 | 否 | 是 | 否 | 
| 付款网关 | 否 | 否 | 否 | 是 | 否 | 
| 产品 | 支持 | 是 | 是 | 是 | 是 | 
| 产品属性 | 支持 | 是 | 是 | 是 | 是 | 
| 产品类别 | 支持 | 是 | 是 | 是 | 是 | 
| 产品评论 | 支持 | 是 | 是 | 是 | 是 | 
| 产品配送等级 | 支持 | 是 | 是 | 是 | 是 | 
| 产品标签 | 支持 | 是 | 是 | 是 | 是 | 
| 产品型号 | 支持 | 是 | 是 | 是 | 是 | 
| 产品总计 | 否 | 否 | 否 | 是 | 否 | 
| 报告（清单） | 否 | 否 | 否 | 是 | 否 | 
| 评论总数 | 否 | 否 | 否 | 是 | 否 | 
| 销售报告 | 是 | 否 | 否 | 是 | 否 | 
| 配送方式 | 否 | 否 | 否 | 是 | 否 | 
| 配送区域 | 否 | 否 | 否 | 是 | 否 | 
| 配送区域位置 | 否 | 否 | 否 | 是 | 否 | 
| 配送区域方法 | 否 | 否 | 否 | 是 | 否 | 
| 税率 | 支持 | 是 | 是 | 是 | 是 | 
| 税务等级 | 否 | 否 | 否 | 是 | 否 | 
| 畅销产品报告 | 是 | 否 | 否 | 是 | 否 | 

**示例：**

```
woocommerce_read = glueContext.create_dynamic_frame.from_options(
    connection_type="glue.spark.woocommerce",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "coupon",
        "API_VERSION": "v3",
        "INSTANCE_URL": "instanceUrl"
    }
```

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

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

**注意**  
在连接器的响应中，“结构体”和“列表”数据类型将转换为“字符串”数据类型，“日期时间”数据类型将转换为“时间戳”数据类型。

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

**基于记录的分区**：

如果您想在 Spark 中利用并发，可以提供附加 Spark 选项 `NUM_PARTITIONS`。使用这些参数，原始查询将被拆分为 `NUM_PARTITIONS` 个子查询，这些子查询可以由 Spark 任务同时执行。

在基于记录的分区中，从 WooCommerce API 查询存在的记录总数，然后将其除以提供的 `NUM_PARTITIONS` 数字。然后，每个子查询会同时获取生成的记录数。
+ `NUM_PARTITIONS`：分区的数量。

以下实体支持基于记录的分区：
+ coupon
+ 顺序
+ 产品
+ 产品属性
+ 产品属性术语
+ 产品类别
+ 产品评论
+ 产品配送等级
+ 产品标记
+ 产品型号
+ 税率

示例：

```
woocommerce_read = glueContext.create_dynamic_frame.from_options(
    connection_type="glue.spark.woocommerce",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "coupon",
        "API_VERSION": "v3",
        "INSTANCE_URL": "instanceUrl"
        "NUM_PARTITIONS": "10"
    }
```

**基于记录的分区**：

原始查询将被拆分为 `NUM_PARTITIONS` 个子查询，这些子查询可以由 Spark 任务同时执行：
+ `NUM_PARTITIONS`：分区的数量。

示例：

```
WooCommerce_read = glueContext.create_dynamic_frame.from_options(
    connection_type="WooCommerce",
    connection_options={
        "connectionName": "connectionName",
        "REALMID": "1234567890123456789",
        "ENTITY_NAME": "Bill",
        "API_VERSION": "v3",
        "NUM_PARTITIONS": "10"
    }
```