

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

# Menyambung ke Zendesk
<a name="connecting-to-data-zendesk"></a>

Zendesk adalah solusi manajemen help desk berbasis cloud yang menawarkan alat yang dapat disesuaikan untuk membangun portal layanan pelanggan, basis pengetahuan, dan komunitas online.

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

# AWS Glue dukungan untuk Zendesk
<a name="zendesk-support"></a>

AWS Glue mendukung Zendesk sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi API Zendesk yang didukung**  
Versi API Zendesk berikut didukung
+ v2

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="zendesk-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:
+ [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 Zendesk
<a name="zendesk-configuring"></a>

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

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

Berikut ini adalah persyaratan minimum:
+ Anda memiliki akun Zendesk. Untuk informasi selengkapnya, lihat [Membuat akun Zendesk](#zendesk-configuring-creating-account).
+ Akun Zendesk Anda diaktifkan untuk akses API.
+ Akun Zendesk Anda memungkinkan Anda menginstal aplikasi yang terhubung.

Jika Anda memenuhi persyaratan ini, Anda siap untuk terhubung AWS Glue ke akun Zendesk Anda.

## Membuat akun Zendesk
<a name="zendesk-configuring-creating-account"></a>

Untuk membuat akun Zendesk:

1. Pergi ke https://www.zendesk.com/in/ register/

1. Masukkan detail seperti email kantor Anda, nama depan, nama belakang, nomor telepon, jabatan, nama perusahaan, jumlah karyawan di perusahaan, kata sandi, dan bahasa pilihan. Kemudian pilih **Uji coba Lengkapi Pendaftaran.**

1. Setelah akun Anda dibuat, lengkapi tautan verifikasi yang Anda terima untuk memverifikasi alamat email Anda.

1. Setelah alamat email kantor diverifikasi, Anda akan diarahkan ke akun Zendesk Anda. Pilih opsi **Beli Zendesk** untuk paket pilihan Anda. Catatan: untuk konektor Zendesk disarankan untuk membeli paket Suite Enterprise.

## Membuat aplikasi klien dan kredensi OAuth 2.0
<a name="zendesk-configuring-creating-client-app"></a>

Untuk membuat aplikasi klien dan kredensi OAuth 2.0:

1. Masuk ke akun Zendesk Anda di mana Anda ingin aplikasi OAuth 2.0 dibuat https://www.zendesk.com/in/ login/

1. Klik ikon roda gigi. Pilih tautan **Pergi ke pusat admin** untuk membuka halaman pusat admin.

1. Pilih **Aplikasi dan integrasi** di sidebar kiri, lalu pilih **APIs**> **Zendesk API**.

1. Pada halaman API Zendesk, pilih tab **OAuth Klien**.

1. Pilih **Tambahkan Klien Oauth** di sisi kanan.

1. Lengkapi bidang berikut untuk membuat klien:

   1. Nama Klien - Masukkan nama untuk aplikasi Anda. Ini adalah nama yang akan dilihat pengguna ketika diminta untuk memberikan akses ke aplikasi Anda, dan ketika mereka memeriksa daftar aplikasi pihak ketiga yang memiliki akses ke Zendesk mereka.

   1. Deskripsi - Opsional. Deskripsi singkat tentang aplikasi Anda yang akan dilihat pengguna saat diminta untuk memberikan akses ke aplikasi tersebut.

   1. Perusahaan - Opsional. Nama perusahaan yang akan dilihat pengguna ketika diminta untuk memberikan akses ke aplikasi Anda. Informasi tersebut dapat membantu mereka memahami kepada siapa mereka memberikan akses.

   1. Logo - Opsional. Ini adalah logo yang akan dilihat pengguna ketika diminta untuk memberikan akses ke aplikasi Anda. Gambar dapat berupa JPG, GIF, atau PNG. Untuk hasil terbaik, unggah gambar persegi. Ini akan diubah ukurannya untuk halaman otorisasi.

   1. Pengenal Unik - Bidang diisi otomatis dengan versi nama yang Anda masukkan untuk aplikasi yang telah diformat ulang. Anda dapat mengubahnya jika Anda mau.

   1. Redirect URLs - Masukkan URL atau URLs yang harus digunakan Zendesk untuk mengirim keputusan pengguna untuk memberikan akses ke aplikasi Anda.

      Misalnya: https://us-east-1.console.aws.amazon.com/gluestudio/ oauth

1. Klik **Simpan**.

1. Setelah halaman diperbarui, bidang **Rahasia** baru yang telah diisi sebelumnya muncul di sisi bawah. Ini adalah nilai “client\$1secret” yang ditentukan dalam spesifikasi. OAuth2 Salin nilai Rahasia ke clipboard Anda dan simpan di tempat yang aman. Catatan: Karakter dapat melampaui lebar kotak teks, jadi pastikan untuk memilih semuanya sebelum menyalin.

1. Klik **Simpan**.

# Mengkonfigurasi koneksi Zendesk
<a name="zendesk-configuring-connections"></a>

Konektor Zendesk mendukung jenis hibah Kode Otorisasi.
+ Jenis hibah ini dianggap “berkaki tiga” OAuth karena bergantung pada pengalihan pengguna ke server otorisasi pihak ketiga untuk mengautentikasi pengguna. Ini digunakan saat membuat koneksi melalui AWS Glue konsol. Pengguna yang membuat koneksi mungkin secara default mengandalkan aplikasi terhubung yang AWS Glue dimiliki (aplikasi klien yang AWS Glue dikelola) di mana mereka tidak perlu memberikan informasi OAuth terkait apa pun kecuali untuk URL instance Zendesk mereka. AWS Glue Konsol akan mengarahkan pengguna ke Zendesk di mana pengguna harus login dan mengizinkan AWS Glue izin yang diminta untuk mengakses instance Zendesk mereka.
+ Anda masih dapat memilih untuk membuat aplikasi terhubung Anda sendiri di Zendesk dan memberikan ID klien dan rahasia klien Anda sendiri saat membuat koneksi melalui AWS Glue konsol. Dalam skenario ini, Anda masih akan diarahkan ke Zendesk untuk login dan otorisasi AWS Glue untuk mengakses sumber daya Anda.
+ Jenis hibah ini menghasilkan token akses. Token akses tidak pernah kedaluwarsa.

Untuk dokumentasi Zendesk publik tentang membuat aplikasi yang terhubung untuk OAuth alur Kode Otorisasi, lihat [OAuth Token untuk Jenis Hibah](https://developer.zendesk.com/api-reference/ticketing/oauth/grant_type_tokens/).

Untuk mengkonfigurasi koneksi Zendesk:

1. Di AWS Secrets Manager, buat rahasia dengan detail berikut:

   1. Untuk jenis AuthorizationCode hibah: untuk aplikasi terhubung yang dikelola pelanggan, rahasia harus berisi aplikasi yang terhubung Rahasia Konsumen dengan kunci `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` sebagai.

   1. 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 Zendesk.

   1. Berikan INSTANCE\$1URL dari Zendesk yang ingin Anda sambungkan.

   1. Menyediakan lingkungan Zendesk.

   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 entitas Zendesk
<a name="zendesk-reading-from-entities"></a>

**Prasyarat**

Objek Zendesk yang ingin Anda baca. Anda akan memerlukan nama objek seperti tiket atau pengguna atau artikel, seperti yang disebutkan dalam tabel berikut.


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih\$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| Tiket | Y | Y | Y | Y | T | 
| Pengguna | Y | Y | Y | Y | T | 
| Organisasi | Y | Y | Y | Y | T | 
| Artikel | Y | Y | T | Y | T | 
| Tiket Event | Y | Y | T | Y | T | 
| Acara Metrik Tiket | Y | Y | T | Y | T | 
| Komentar Tiket | Y | Y | Y | Y | T | 
| Bidang Tiket | Y | Y | T | Y | T | 
| Metrik Tiket | Y | Y | T | Y | T | 
| Aktivitas Tiket | Y | Y | T | Y | T | 
| Lewati Tiket | T | Y | T | Y | T | 
| Kelompok | Y | Y | Y | Y | T | 
| Keanggotaan Grup | T | Y | Y | Y | T | 
| Peringkat Kepuasan | Y | Y | T | Y | T | 
| Tampilan | Y | Y | Y | Y | T | 
| Pemicu | Y | Y | Y | Y | T | 
| Kategori Trigger | T | Y | Y | Y | T | 
| Makro | Y | Y | Y | Y | T | 
| Otomatisasi | T | Y | Y | Y | T | 

**Contoh:**

```
Zendesk_read = glueContext.create_dynamic_frame.from_options(
    connection_type="Zendesk",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "Account",
        "API_VERSION": "v2"
    }
```

**Entitas Zendesk dan detail bidang**:

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

**catatan**  
Tipe data Struct dan List dikonversi ke tipe data String dalam respons konektor.

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

Partisi tidak didukung di Zendesk.

# Opsi koneksi Zendesk
<a name="zendesk-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Zendesk:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama Objek Anda di Zendesk.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Versi Zendesk Rest API yang ingin Anda gunakan. Misalnya: v2.
+ `SELECTED_FIELDS`(Daftar<String>) - Default: kosong (SELECT \$1). Digunakan untuk Baca. Kolom yang ingin Anda pilih untuk objek. Misalnya: id, nama, url, created\$1at
+ `FILTER_PREDICATE`(String) - Default: kosong. Digunakan untuk Baca. Itu harus dalam format Spark SQL. Misalnya: group\$1id = 100
+ `QUERY`(String) - Default: kosong. Digunakan untuk Baca. Kueri SQL Spark penuh. Misalnya: “PILIH id, url DARI pengguna WHERE role=\$1" end-user\$1 "”
+ `PARTITION_FIELD`(String) - Digunakan untuk Baca. Bidang yang akan digunakan untuk mempartisi kueri. Bidang default adalah `update_at` untuk entitas yang mendukung API ekspor tambahan (`created_at`untuk `ticket-events` dan `time` untuk`ticket-metric-events`).
+ `LOWER_BOUND`(String) - Digunakan untuk Baca. Nilai batas bawah inklusif dari bidang partisi yang dipilih.
+ `UPPER_BOUND`(String) - Digunakan untuk Baca. Nilai batas atas eksklusif dari bidang partisi yang dipilih. Opsional; opsi ini akan ditangani oleh konektor jika tidak disediakan dalam opsi pekerjaan. Nilai default - “2024-05-01T 20:55:02.000 Z
+ `NUM_PARTITIONS`(Integer) - Default: 1. Digunakan untuk Baca. Jumlah partisi untuk dibaca. Opsional; opsi ini akan ditangani oleh konektor jika tidak disediakan dalam opsi pekerjaan. Nilai default: 1.
+ `IMPORT_DELETED_RECORDS`(String) - Default: FALSE. Digunakan untuk membaca. Untuk mendapatkan catatan hapus saat melakukan query.
+ `ACCESS_TOKEN`- Token akses yang akan digunakan dalam permintaan.
+ `INSTANCE_URL`- URL dari contoh di mana pengguna ingin menjalankan operasi. Sebagai contoh: https://\$1subdomain\$1/.zendesk.com

# Batasan
<a name="zendesk-limitations"></a>

Berikut ini adalah batasan konektor Zendesk:
+ Pagination berbasis offset membatasi jumlah halaman yang dapat diambil hingga 100, tetapi tidak disarankan karena jumlah total catatan yang dapat diambil adalah 10.000. Namun, pagination berbasis kursor yang diterapkan untuk konektor Zendesk mengatasi batasan ini. Hanya operator filter EQUAL\$1TO yang didukung melalui Zendesk API.

  Karena keterbatasan ini, partisi tidak didukung untuk konektor Zendesk.
+ Untuk entitas “Acara Tiket”, Batas Harga adalah 10 permintaan per menit. Saat menjalankan pekerjaan AWS Glue ETL, Anda mungkin menerima kesalahan 429 (terlalu banyak permintaan).