

# WooCommerce エンティティからの読み取り
<a name="woocommerce-reading-from-entities"></a>

**前提条件**

読み取り元の WooCommerce オブジェクト。クーポン、注文、製品などのオブジェクト名が必要です。

**ソースに対応するエンティティ**:


| エンティティ | フィルタリング可能 | 制限をサポートする | Order By をサポートする | 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/ja_jp/glue/latest/dg/woocommerce-reading-from-entities.html)

**注記**  
構造体データ型とリストデータ型は、コネクタの応答で文字列データ型に変換され、DateTime データ型は Timestamp に変換されます。

## パーティショニングクエリ
<a name="woocommerce-reading-partitioning-queries"></a>

**レコードベースのパーティション分割**:

Spark で並行処理を使用する場合は、追加の Spark オプション `NUM_PARTITIONS` を指定できます。これらのパラメータを使用すると、元のクエリは Spark タスクで同時に実行できるサブクエリの `NUM_PARTITIONS` の数に分割されます。

レコードベースのパーティショニングでは、存在するレコードの合計数が WooCommerce API からクエリされ、指定された `NUM_PARTITIONS` 数で割られます。その後、結果のレコード数は、各サブクエリによって同時に取得されます。
+ `NUM_PARTITIONS`: パーティション数。

次のエンティティは、レコードベースのパーティショニングをサポートしています。
+ coupon
+ order
+ product
+ product-attribute
+ product-attribute-term
+ product-category
+ product-review
+ product-shipping-class
+ product-tag
+ product-variation
+ tax-rate

例:

```
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"
    }
```

**レコードベースのパーティション分割**:

元のクエリは、元のクエリは Spark タスクで同時に実行できるサブクエリの `NUM_PARTITIONS` の数に分割されます。
+ `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"
    }
```