

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menghubungkan ke WooCommerce
<a name="connecting-to-data-woocommerce"></a>

WooCommerce adalah solusi perangkat lunak fleksibel sumber terbuka yang dibangun untuk situs web WordPress berbasis. Ini biasanya digunakan untuk membuat toko e-commerce online. Dengan solusi perangkat lunak ini, siapa pun dapat mengubah situs web reguler mereka menjadi toko online yang berfungsi penuh.

**Topics**
+ [AWS Glue dukungan untuk WooCommerce](woocommerce-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](woocommerce-configuring-iam-permissions.md)
+ [Mengkonfigurasi WooCommerce](woocommerce-configuring.md)
+ [Mengkonfigurasi koneksi WooCommerce](woocommerce-configuring-connections.md)
+ [Membaca dari WooCommerce entitas](woocommerce-reading-from-entities.md)
+ [WooCommerce opsi koneksi](woocommerce-connection-options.md)

# AWS Glue dukungan untuk WooCommerce
<a name="woocommerce-support"></a>

AWS Glue mendukung WooCommerce sebagai berikut:

**Didukung sebagai sumber?**  
Ya. Anda dapat menggunakan pekerjaan AWS Glue ETL untuk menanyakan data dari WooCommerce.

**Didukung sebagai target?**  
Tidak.

**Versi WooCommerce API yang didukung**  
Versi WooCommerce API berikut didukung:
+ v3

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="woocommerce-configuring-iam-permissions"></a>

Kebijakan contoh berikut menjelaskan izin AWS IAM yang diperlukan untuk membuat dan menggunakan koneksi. Jika Anda membuat peran baru, buat kebijakan yang berisi hal-hal berikut:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:ListConnectionTypes",
        "glue:DescribeConnectionType",
        "glue:RefreshOAuth2Tokens",
        "glue:ListEntities",
        "glue:DescribeEntity"
      ],
      "Resource": "*"
    }
  ]
}
```

------

Jika Anda tidak ingin menggunakan metode di atas, gunakan kebijakan IAM terkelola berikut ini:
+ [AWSGlueServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole)— Memberikan akses ke sumber daya yang diperlukan berbagai AWS Glue proses untuk dijalankan atas nama Anda. Sumber daya ini termasuk AWS Glue, Amazon S3, IAM, CloudWatch Log, dan Amazon. EC2 Jika Anda mengikuti konvensi penamaan untuk sumber daya yang ditentukan dalam kebijakan ini, AWS Glue proses memiliki izin yang diperlukan. Kebijakan ini biasanya dilampirkan pada peran yang ditentukan saat menentukan crawler, tugas, dan titik akhir pengembangan.
+ [AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess)— Memberikan akses penuh ke AWS Glue sumber daya saat identitas yang dilampirkan kebijakan menggunakan Konsol AWS Manajemen. Jika Anda mengikuti konvensi penamaan untuk sumber daya yang ditentukan dalam kebijakan ini, maka pengguna memiliki kemampuan konsol penuh. Kebijakan ini biasanya dilampirkan ke pengguna AWS Glue konsol.

# Mengkonfigurasi WooCommerce
<a name="woocommerce-configuring"></a>

Sebelum Anda dapat menggunakan AWS Glue untuk mentransfer data dari WooCommerce, Anda harus memenuhi persyaratan ini:

## Persyaratan minimum
<a name="woocommerce-configuring-min-requirements"></a>

Berikut ini adalah persyaratan minimum:
+ Anda memiliki WooCommerce akun dengan a `consumerKey` dan a`consumerSecret`.
+  WooCommerce Akun Anda memiliki akses API dengan lisensi yang valid.

Jika memenuhi persyaratan ini, Anda siap untuk terhubung AWS Glue ke WooCommerce akun Anda. Untuk koneksi yang khas, Anda tidak perlu melakukan hal lain WooCommerce.

# Mengkonfigurasi koneksi WooCommerce
<a name="woocommerce-configuring-connections"></a>

WooCommerce mendukung otentikasi kustom. Untuk WooCommerce dokumentasi publik tentang pembuatan kunci API yang diperlukan untuk otorisasi kustom, lihat [Authentication — WooCommerce REST API](https://woocommerce.github.io/woocommerce-rest-api-docs/#authentication) Documentation.

Untuk mengkonfigurasi WooCommerce koneksi:

1. Di AWS Secrets Manager, buat rahasia dengan detail berikut:
   + Untuk aplikasi terhubung yang dikelola pelanggan, Rahasia harus berisi aplikasi yang terhubung Rahasia Konsumen dengan `consumerKey` dan `consumerSecret` sebagai kunci. Catatan: Anda harus membuat rahasia per koneksi di AWS Glue.

1. Di AWS Glue Glue Studio, buat koneksi di bawah **Koneksi Data** dengan mengikuti langkah-langkah di bawah ini:

   1. Saat memilih **jenis Koneksi**, pilih WooCommerce.

   1. Berikan WooCommerce contoh `INSTANCE_URL` yang ingin Anda sambungkan.

   1. Pilih peran AWS IAM yang AWS Glue dapat mengasumsikan dan memiliki izin untuk tindakan berikut:

------
#### [ JSON ]

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "secretsmanager:DescribeSecret",
              "secretsmanager:GetSecretValue",
              "secretsmanager:PutSecretValue",
              "ec2:CreateNetworkInterface",
              "ec2:DescribeNetworkInterfaces",
              "ec2:DeleteNetworkInterface"
            ],
            "Resource": "*"
          }
        ]
      }
      ```

------

   1. Pilih `secretName` yang ingin Anda gunakan untuk koneksi ini AWS Glue untuk memasukkan token.

   1. Pilih opsi jaringan jika Anda ingin menggunakan jaringan Anda.

1. Berikan peran IAM yang terkait dengan izin AWS Glue pekerjaan Anda untuk membaca`secretName`.

# Membaca dari WooCommerce entitas
<a name="woocommerce-reading-from-entities"></a>

**Prasyarat**

 WooCommerce Objek yang ingin Anda baca. Anda akan memerlukan nama objek seperti kupon, pesanan, produk, dll.

**Entitas yang didukung untuk sumber**:


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih\$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| Kupon | Ya | Ya | Ya | Ya | Ya | 
| Total Kupon | Tidak | Tidak | Tidak | Ya | Tidak | 
| Jumlah Pelanggan | Tidak | Tidak | Tidak | Ya | Tidak | 
| Order | Ya | Ya | Ya | Ya | Ya | 
| Jumlah Pesanan | Tidak | Tidak | Tidak | Ya | Tidak | 
| Gerbang Pembayaran | Tidak | Tidak | Tidak | Ya | Tidak | 
| Produk | Ya | Ya | Ya | Ya | Ya | 
| Atribut produk | Ya | Ya | Ya | Ya | Ya | 
| Kategori produk | Ya | Ya | Ya | Ya | Ya | 
| Ulasan produk | Ya | Ya | Ya | Ya | Ya | 
| Kelas pengiriman produk | Ya | Ya | Ya | Ya | Ya | 
| Tag produk | Ya | Ya | Ya | Ya | Ya | 
| Variasi produk | Ya | Ya | Ya | Ya | Ya | 
| Total Produk | Tidak | Tidak | Tidak | Ya | Tidak | 
| Laporan (Daftar) | Tidak | Tidak | Tidak | Ya | Tidak | 
| Ulasan Total | Tidak | Tidak | Tidak | Ya | Tidak | 
| Laporan Penjualan | Ya | Tidak | Tidak | Ya | Tidak | 
| Metode Pengiriman | Tidak | Tidak | Tidak | Ya | Tidak | 
| Zona Pengiriman | Tidak | Tidak | Tidak | Ya | Tidak | 
| Lokasi Zona Pengiriman | Tidak | Tidak | Tidak | Ya | Tidak | 
| Metode Zona Pengiriman | Tidak | Tidak | Tidak | Ya | Tidak | 
| Tarif Pajak | Ya | Ya | Ya | Ya | Ya | 
| Kelas Pajak | Tidak | Tidak | Tidak | Ya | Tidak | 
| Laporan Penjual Teratas | Ya | Tidak | Tidak | Ya | Tidak | 

**Contoh:**

```
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 detail entitas dan bidang**:

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

**catatan**  
Tipe data Struct dan List dikonversi ke tipe data String, dan tipe DateTime data dikonversi ke Timestamp sebagai respons konektor.

## Mempartisi kueri
<a name="woocommerce-reading-partitioning-queries"></a>

Partisi **berbasis rekaman**:

Anda dapat memberikan opsi Spark tambahan `NUM_PARTITIONS` jika Anda ingin menggunakan konkurensi di Spark. Dengan parameter ini, kueri asli akan dibagi menjadi `NUM_PARTITIONS` sejumlah sub-kueri yang dapat dijalankan oleh tugas Spark secara bersamaan.

Dalam partisi berbasis rekaman, jumlah total catatan yang ada ditanyakan dari WooCommerce API, dan dibagi dengan nomor yang disediakan. `NUM_PARTITIONS` Jumlah catatan yang dihasilkan kemudian diambil secara bersamaan oleh setiap sub-kueri.
+ `NUM_PARTITIONS`: jumlah partisi.

Entitas berikut mendukung partisi berbasis rekaman:
+ kupon
+ memesan
+ produk
+ produk-atribut
+ product-attribute-term
+ kategori produk
+ ulasan produk
+ product-shipping-class
+ tag produk
+ variasi produk
+ tarif pajak

Contoh:

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

Partisi **berbasis rekaman**:

Kueri asli dibagi menjadi `NUM_PARTITIONS` sejumlah sub-kueri yang dapat dijalankan oleh tugas Spark secara bersamaan:
+ `NUM_PARTITIONS`: jumlah partisi.

Contoh:

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

# WooCommerce opsi koneksi
<a name="woocommerce-connection-options"></a>

Berikut ini adalah opsi koneksi untuk WooCommerce:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama objek Anda di WooCommerce.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. WooCommerce Rest versi API yang ingin Anda gunakan.
+ `REALM_ID`(String) - ID yang mengidentifikasi perusahaan WooCommerce Online individu tempat Anda mengirim permintaan.
+ `SELECTED_FIELDS`(Daftar<String>) - Default: kosong (SELECT \$1). Digunakan untuk Baca. Kolom yang ingin Anda pilih untuk objek.
+ `FILTER_PREDICATE`(String) - Default: kosong. Digunakan untuk Baca. Itu harus dalam format Spark SQL.
+ `QUERY`(String) - Default: kosong. Digunakan untuk Baca. Kueri SQL Spark penuh.
+ `INSTANCE_URL`<instance>(String) - (Wajib) URL WooCommerce contoh yang valid dengan format: https://.wpcomstaging.com
+ `NUM_PARTITIONS`(Integer) - Default: 1. Digunakan untuk Baca. Jumlah partisi untuk dibaca.