

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

# Menghubungkan ke Pendo
<a name="connecting-to-pendo"></a>

Pendo menyediakan penyimpanan data yang kaya untuk data interaksi pengguna. Pelanggan akan mentransfer data ini AWS sehingga mereka dapat bergabung dengan data produk lain, melakukan analisis tambahan dan dash-boarding dan menetapkan peringatan jika mereka mau.

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

# AWS Glue dukungan untuk Pendo
<a name="pendo-support"></a>

AWS Glue mendukung Pendo sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi API Pendo yang didukung**  
 v1 

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

Kebijakan contoh berikut menjelaskan AWS izin 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 sebelumnya, sebagai alternatif, 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 ketika 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 Pendo
<a name="pendo-configuring"></a>

Sebelum Anda dapat menggunakan AWS Glue untuk transfer dari Pendo, Anda harus memenuhi persyaratan berikut:

## Persyaratan minimum
<a name="pendo-configuring-min-requirements"></a>
+ Anda memiliki akun Pendo dengan `apiKey` dengan `write access` diaktifkan.
+  Akun Pendo Anda memiliki akses API dengan lisensi yang valid. 

Jika Anda memenuhi persyaratan ini, Anda siap untuk terhubung AWS Glue ke akun Pendo Anda. Untuk koneksi biasa, Anda tidak perlu melakukan hal lain di Pendo.

# Mengkonfigurasi koneksi Pendo
<a name="pendo-configuring-connections"></a>

Pendo mendukung otentikasi kustom.

Untuk dokumentasi Pendo publik tentang pembuatan kunci API yang diperlukan untuk otorisasi kustom, lihat [Authentication — Pendo](https://engageapi.pendo.io/?bash#getting-started) REST API Documentation 

Untuk mengkonfigurasi koneksi Pendo:

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 `apiKey` sebagai kuncinya. 
**catatan**  
Ini adalah suatu keharusan untuk membuat rahasia per koneksi di AWS Glue.

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

   1. Saat memilih **Sumber Data**, pilih Pendo.

   1. Berikan contoh `instanceUrl` Pendo yang ingin Anda sambungkan.

   1. Pilih peran IAM yang AWS Glue dapat diasumsikan 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`. 

1. Dalam konfigurasi AWS Glue pekerjaan Anda, berikan `connectionName` sebagai koneksi jaringan tambahan.

# Membaca dari entitas Pendo
<a name="pendo-reading-from-entities"></a>

 **Prasyarat** 

Objek Pendo yang ingin Anda baca. Lihat tabel entitas yang didukung di bawah ini untuk memeriksa entitas yang tersedia. 

 **Entitas yang didukung** 
+ [Fitur](https://developers.pendo.io/docs/?bash#feature)
+ [Panduan](https://developers.pendo.io/docs/?bash#guide)
+ [Halaman](https://developers.pendo.io/docs/?bash#page)
+ [Laporkan](https://developers.pendo.io/docs/?bash#report)
+ [Laporkan Data](https://developers.pendo.io/docs/?bash#return-report-contents-as-array-of-json-objects)
+ [Pengunjung](https://developers.pendo.io/docs/?bash#visitor)
+ [Akun](https://developers.pendo.io/docs/?bash#entities)
+ [Peristiwa](https://developers.pendo.io/docs/?bash#events-grouped)
+ [Acara Fitur](https://developers.pendo.io/docs/?bash#events-grouped)
+ [Panduan Acara](https://developers.pendo.io/docs/?bash#events-ungrouped)
+ [Halaman Acara](https://developers.pendo.io/docs/?bash#events-grouped)
+ [Acara Polling](https://developers.pendo.io/docs/?bash#events-ungrouped)
+ [Lacak Acara](https://developers.pendo.io/docs/?bash#events-grouped)


| Entitas | Dapat disaring | Mendukung Batas | Mendukung Order By | Mendukung Pilih \$1 | Mendukung Partisi | 
| --- | --- | --- | --- | --- | --- | 
| Fitur | Tidak | Tidak | Tidak | Ya | Tidak | 
| Panduan | Tidak | Tidak | Tidak | Ya | Tidak | 
| Halaman | Tidak | Tidak | Tidak | Ya | Tidak | 
| Laporan | Tidak | Tidak | Tidak | Ya | Tidak | 
| Laporkan Data | Tidak | Tidak | Tidak | Ya | Tidak | 
| Pengunjung (API Agregasi) | Ya | Tidak | Ya | Ya | Tidak | 
| Akun (API Agregasi) | Ya | Tidak | Ya | Ya | Tidak | 
| Acara (API Agregasi) | Ya | Tidak | Ya | Ya | Tidak | 
| Acara Fitur (API Agregasi) | Ya | Tidak | Ya | Ya | Ya | 
| Panduan Acara (API Agregasi) | Ya | Tidak | Ya | Ya | Ya | 
| Akun (API Agregasi) | Ya | Tidak | Ya | Ya | Ya | 
| Halaman Acara (API Agregasi) | Ya | Tidak | Ya | Ya | Ya | 
| Acara Polling (API Agregasi) | Ya | Tidak | Ya | Ya | Ya | 
| Lacak Acara (API Agregasi) | Ya | Tidak | Ya | Ya | Ya | 

 **Contoh** 

```
Pendo_read = glueContext.create_dynamic_frame.from_options(
    connection_type="glue.spark.Pendo",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "feature",
        "API_VERSION": "v1",
        "INSTANCE_URL": "instanceUrl"
    }
```

## Mempartisi kueri
<a name="adobe-marketo-engage-reading-partitioning-queries"></a>

Anda dapat memberikan opsi Spark tambahan`PARTITION_FIELD`,, `LOWER_BOUND``UPPER_BOUND`, dan `NUM_PARTITIONS` jika Anda ingin memanfaatkan konkurensi di Spark. Dengan parameter ini, kueri asli akan dibagi menjadi `NUM_PARTITIONS` sejumlah sub-kueri yang dapat dijalankan oleh tugas Spark secara bersamaan.
+ `PARTITION_FIELD`: nama bidang yang akan digunakan untuk mempartisi kueri.
+ `LOWER_BOUND`: nilai batas bawah **inklusif** dari bidang partisi yang dipilih.

  Untuk DateTime bidang, kami menerima nilai dalam format ISO.

  Contoh nilai valid:

  ```
  "2024-07-01T00:00:00.000Z"
  ```
+ `UPPER_BOUND`: nilai batas atas **eksklusif** dari bidang partisi yang dipilih.
+ `NUM_PARTITIONS`: jumlah partisi.

Tabel berikut menjelaskan rincian dukungan bidang partisi entitas:


| Nama entitas | 
| --- | 
| Peristiwa | 
|  Acara Fitur  | 
| Panduan Acara | 
| Halaman Acara | 
| Acara Polling | 
| Lacak Acara | 

Contoh:

```
pendo_read = glueContext.create_dynamic_frame.from_options(
    connection_type="glue.spark.pendo",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "event",
        "API_VERSION": "v1",
        "INSTANCE_URL": "instanceUrl"
        "NUM_PARTITIONS": "10",
        "PARTITION_FIELD": "appId"
        "LOWER_BOUND": "4656"
        "UPPER_BOUND": "7788"
    }
```

# Opsi koneksi Pendo
<a name="pendo-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Pendo:
+  `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Nama Objek Anda di Pendo. 
+ `INSTANCE_URL`(String) - (Diperlukan) URL Instance Pendo yang valid dengan nilai yang diizinkan sebagai berikut:
  + [Default](https://app.pendo.io/)
  + [Eropa](https://app.eu.pendo.io/)
  + [US1](https://us1.app.pendo.io/)
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Pendo Engage Rest API versi yang ingin Anda gunakan. Misalnya: 3.0.
+ `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.
+ `PARTITION_FIELD`(String) - Digunakan untuk Baca. Bidang yang akan digunakan untuk mempartisi kueri.
+ `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. 
+ `NUM_PARTITIONS`(Integer) - Default: 1. Digunakan untuk Baca. Jumlah partisi untuk dibaca.

# Batasan
<a name="pendo-connector-limitations"></a>

Berikut ini adalah batasan untuk konektor Pendo:
+ Pagination tidak didukung di Pendo.
+ Filtrasi hanya didukung oleh objek API Agregat (`Account`,`Event`,`Feature Event`,`Guide Events`,`Page Event`, `Poll Event``Track Event`, dan`Visitor`)
+ DateTimeRange adalah parameter filter wajib untuk objek API Agregat (`Event`,,`Feature Event`, `Guide Events``Page Event`, `Poll Event,``Track Event`)
+ Periode DayRange akan dibulatkan ke awal periode di zona waktu. Misalnya, jika filter disediakan `2023-01-12T07:55:27.065Z` maka periode waktu ini akan dibulatkan ke awal periode, yaitu`2023-01-12T00:00:00Z`. 