

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

# Menghubungkan ke data
<a name="glue-connections"></a>

 AWS Glue *Koneksi* adalah objek Katalog Data yang menyimpan kredensil login, string URI, informasi virtual private cloud (VPC), dan lainnya untuk penyimpanan data tertentu. AWS Glue crawler, pekerjaan, dan titik akhir pengembangan menggunakan koneksi untuk mengakses jenis penyimpanan data tertentu. Anda dapat menggunakan koneksi untuk sumber dan target, dan menggunakan kembali koneksi yang sama di beberapa crawler atau mengekstrak, mengubah, dan memuat (ETL) pekerjaan.

Versi terbaru dari skema AWS Glue koneksi menyediakan cara terpadu untuk mengelola koneksi data di seluruh AWS layanan dan aplikasi, seperti AWS Glue Amazon Athena, dan Amazon SageMaker AI Unified Studio.

## Gambaran umum menggunakan konektor dan koneksi
<a name="using-connectors-overview"></a>

Sebuah *koneksi* berisi properti yang diperlukan untuk connect ke penyimpanan data tertentu. Ketika Anda membuat sebuah koneksi, ia disimpan dalam AWS Glue Data Catalog. Anda memilih sebuah konektor, dan kemudian membuat sebuah koneksi berdasarkan konektor tersebut. 

Anda dapat berlangganan konektor untuk penyimpanan data yang tidak didukung secara asli AWS Marketplace, dan kemudian menggunakan konektor tersebut saat Anda membuat koneksi. Para developer juga dapat membuat konektor mereka sendiri, dan Anda dapat menggunakannya saat membuat koneksi.

**catatan**  
Koneksi yang dibuat menggunakan kustom atau AWS Marketplace konektor AWS Glue Studio muncul di AWS Glue konsol dengan jenis yang disetel ke`UNKNOWN`.

Langkah-langkah berikut menjelaskan keseluruhan proses penggunaan konektor di AWS Glue Studio:

1. Berlangganan konektor di AWS Marketplace, atau kembangkan konektor Anda sendiri dan unggah ke AWS Glue Studio. Untuk informasi selengkapnya, lihat [Menambahkan konektor ke AWS Glue Studio](creating-custom-connectors.md#creating-connectors).

1. Tinjau informasi penggunaan konektor. Anda dapat menemukan informasi ini di tab **Penggunaan** pada halaman produk konektor. Misalnya, jika Anda mengklik tab **Penggunaan** di halaman produk ini, [AWS Glue Konektor untuk Google BigQuery](https://aws.amazon.com/marketplace/pp/prodview-w2ranrogj3xmm?ref_=beagle&applicationId=GlueStudio), Anda dapat melihat di bagian **Sumber Daya Tambahan** tautan ke blog tentang penggunaan konektor ini.

1. Buat sebuah koneksi. Anda memilih konektor mana yang akan digunakan dan memberikan informasi tambahan untuk koneksi, seperti informasi kredensial login, string URI, dan virtual private cloud (VPC). Untuk informasi selengkapnya, lihat [Membuat koneksi untuk konektor](creating-connections.md).

1. Buat IAM role untuk tugas Anda. Tugas mengambil izin dari IAM role yang Anda tentukan saat Anda membuatnya. IAM role ini harus memiliki izin yang diperlukan untuk melakukan autentikasi dengan, mengekstrak data dari, dan menulis data ke penyimpanan data Anda. 

1. Buat sebuah tugas ETL dan konfigurasi properti sumber data untuk tugas ETL Anda. Sediakan opsi koneksi dan informasi autentikasi seperti yang diperintahkan oleh penyedia konektor kustom. Untuk informasi selengkapnya, lihat [Menulis tugas dengan konektor kustom](job-authoring-custom-connectors.md).

1. Kustom tugas ETL Anda dengan menambahkan transformasi atau penyimpanan data tambahan, seperti yang dijelaskan dalam [Memulai pekerjaan ETL visual di AWS Glue Studio](edit-nodes-chapter.md).

1. Jika Anda menggunakan sebuah konektor untuk target data, konfigurasi properti target data untuk tugas ETL Anda. Sediakan opsi koneksi dan informasi autentikasi seperti yang diperintahkan oleh penyedia konektor kustom. Untuk informasi selengkapnya, lihat [Menulis tugas dengan konektor kustom](job-authoring-custom-connectors.md).

1. Sesuaikan lingkungan eksekusi tugas dengan mengkonfigurasi properti tugas, seperti yang dijelaskan dalam [Mengubah properti tugas](managing-jobs-chapter.md#edit-jobs-properties).

1. Jalankan tugas.

# Koneksi terpadu
<a name="using-connectors-unified-connections"></a>

 AWS baru-baru ini memperkenalkan fitur baru yang disebut "SageMaker LakeHouse Koneksi “atau" Koneksi AWS Glue Terpadu.” Fitur ini memungkinkan Anda untuk membuat koneksi yang dapat digunakan oleh beberapa AWS layanan, seperti AWS Glue dan Amazon Athena. Saat Anda membuat sumber data di Amazon Athena, Anda akan melihat bagian yang mengacu pada input AWS Glue koneksi. Dalam hal ini, Amazon Athena akan membuat AWS Glue koneksi untuk Anda, termasuk properti Amazon Athena-spesifik di bagian `AthenaProperties` dari koneksi. 

 Di sisi lain, jika Anda membuat koneksi langsung AWS Glue, Anda hanya akan diminta untuk memasukkan properti khusus untuk AWS Glue dan Apache Spark, yang akan disimpan di bagian `` dan ConnectionProperties `SparkProperties` dari koneksi. 

 Kedua skenario ini menghasilkan pembuatan “koneksi terpadu,” tetapi koneksi yang dibuat hanya dikonfigurasi untuk digunakan di Amazon Athena dalam Amazon Athena, sedangkan koneksi yang dibuat hanya AWS Glue dikonfigurasi untuk digunakan di dalamnya AWS Glue. Namun, dimungkinkan untuk memperbarui koneksi ini dengan properti yang hilang (baik Amazon Athena atau properti Spark) sehingga mereka dapat digunakan oleh kedua layanan. Amazon SageMaker AI Unified Studio menangani ini secara otomatis dengan mengisi semua properti yang diperlukan (`ConnectionProperties`, AthenaProperties ``, dan SparkProperties ``) pada AWS Glue koneksi, memastikan bahwa koneksi dapat digunakan oleh keduanya AWS Glue dan Amazon Athena. 

 Penting untuk dicatat bahwa meskipun kami menyebutnya sebagai “koneksi terpadu,” koneksi yang dibuat di dalam AWS Glue atau Amazon Athena secara individual tidak benar-benar disatukan kecuali mereka dikonfigurasi dengan benar untuk digunakan oleh kedua layanan. Hanya koneksi yang dibuat melalui SageMaker Unified Studio yang benar-benar disatukan dan dapat digunakan oleh beberapa layanan di luar kotak. 

 Selain itu, koneksi AWS Glue yang dibuat tidak terlihat Amazon Athena karena Amazon Athena menampilkan sumber data, yang mencakup referensi ke AWS Glue koneksi tetapi bukan AWS Glue koneksi itu sendiri. Demikian pula, koneksi Amazon Athena yang dibuat tidak terlihat AWS Glue Studio karena AWS Glue Studio menyaring koneksi apa pun yang belum dikonfigurasi dengan pengaturan yang diperlukan untuk AWS Glue. 

 AWS Glue Studio membuat koneksi terpadu secara default. Di AWS Glue konsol, Anda dapat melihat versi koneksi di tabel koneksi pada halaman koneksi, pada halaman detail koneksi, dan tabel koneksi di halaman detail pekerjaan. 

 Versi koneksi terlihat pada detail Koneksi: 

![\[Screenshot menunjukkan detail koneksi pada koneksi v2.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/connections-v2-connection-details-2.png)


 Versi koneksi juga terlihat saat melihat semua Koneksi Anda. 

![\[Screenshot menunjukkan detail koneksi pada koneksi v2.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/connections-list-view-v2-2.png)


 Terakhir, versi koneksi terlihat di tab Job details untuk suatu pekerjaan. 

![\[Screenshot menunjukkan detail koneksi pada koneksi v2.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/connections-v2-job-details-tab.png)


 Dengan koneksi versi 2, Anda memiliki kemampuan konektivitas data yang diperluas berikut: 
+  **Penemuan tipe koneksi**: Dukungan untuk membuat koneksi menggunakan templat standar. AWS Glue secara otomatis menemukan jenis koneksi yang dapat diakses oleh Anda dan input yang diperlukan dan opsional untuk jenis koneksi tertentu. 
+  **Reusability**: Definisi koneksi yang dapat digunakan kembali di seluruh mesin pemrosesan AWS data dan alat-alat seperti AWS Glue,, Amazon Athena dan. Amazon SageMaker AI Koneksi sekarang berisi AthenaProperties SparkProperties,, PythonProperties yang memungkinkan untuk menentukan komputasi properti koneksi environment/service tertentu selain properti umum yang disimpan di ConnectionProperties. Athena sekarang membuat Koneksi AWS Glue dengan menentukan properti khusus Athena di peta properti. AthenaProperties 
+  **Pratinjau data**: Kemampuan untuk menelusuri metadata dan mempratinjau data dari sumber yang terhubung. 
+  **Metadata konektor**: Koneksi yang dapat digunakan kembali dapat digunakan untuk menemukan metadata tabel. 
+  **Rahasia terkait layanan**: Pengguna dapat memberikan kredensi otentikasi yang diperlukan OAuth, dasar atau kustom dalam permintaan. `CreateConnection` CreateConnection API membuat Service Linked Secret di akun Anda dan menyimpan kredensialnya atas nama Anda. 

## Jenis otentikasi yang didukung
<a name="unified-connections-authentication-types"></a>

 Koneksi terpadu mendukung jenis otentikasi berikut: 
+  **BASIC** — Sebagian besar jenis koneksi database dan jenis AWS Glue koneksi yang ada mendukung otentikasi dasar, yang merupakan nama pengguna dan kata sandi. Sebelumnya, penamaan kunci di SecretsManager khusus konektor dan, misalnya, mungkin pengguna, nama pengguna, UserName, opensearch.net.http.auth.user, dll. Di sinilah koneksi terpadu menstandarisasi jenis koneksi otentikasi dasar pada kunci USERNAME dan PASSWORD. 
+  **OAUTH2**— Mayoritas jenis koneksi SaaS yang baru diluncurkan mendukung OAuth2 protokol. 
+  **KUSTOM** — Beberapa jenis koneksi memiliki beberapa mekanisme otentikasi lain seperti Google BigQuery di mana pengguna diharapkan untuk menyediakan JSON yang mereka dapatkan dari Google. BigQuery 

## Pertimbangan-pertimbangan
<a name="using-connectors-unified-connections-considerations"></a>

 Saat Anda membuat sambungan terpadu untuk sumber data, pertimbangkan perbedaan berikut: 
+  Saat membuat koneksi terpadu melalui AWS Glue Studio, kredensil pengguna disimpan di AWS Secrets Manager alih-alih koneksi itu sendiri. Ini berarti pekerjaan sekarang membutuhkan akses ke Secrets Manager. 
+  Jika pekerjaan berjalan di VPC, mereka memerlukan titik akhir VPC atau gateway NAT untuk mengakses AWS Secrets Manager dan Secure Token Service (STS), yang menimbulkan biaya tambahan. 
+  Untuk sumber data tertentu (Redshift, SQL Server, MySQL, Oracle, PostgreSQL), membuat koneksi terpadu melalui memerlukan akses ke dan. AWS Glue Studio AWS STS AWS Secrets Manager Ini diperlukan untuk membuat koneksi yang aman dan mengambil kredensil yang diperlukan untuk mengakses sumber data ini dalam Virtual Private Cloud (VPC) Anda. 
+  Membuat koneksi terpadu melalui AWS Glue Studio memerlukan peran IAM dengan izin untuk mengakses dan AWS Secrets Manager mengelola sumber daya VPC (jika menggunakan VPC): 
  + manajer rahasia: GetSecretValue
  + manajer rahasia: PutSecretValue
  + manajer rahasia: DescribeSecret
  + EC2: CreateNetworkInterface
  + EC2: DeleteNetworkInterface
  + EC2: DescribeNetworkInterfaces
  + EC2: DescribeSubnets

# Koneksi yang tersedia
<a name="available-connections"></a>

AWS Glue mendukung jenis koneksi berikut:
+ Adobe Analitik
+ Adobe Marketo Terlibat
+ Amazon Aurora (didukung jika driver JDBC asli sedang digunakan. Tidak semua fitur driver dapat dimanfaatkan)
+ Amazon DocumentDB
+ Amazon DynamoDB
+  OpenSearch Layanan Amazon, untuk digunakan dengan AWS Glue Spark.
+ Amazon Redshift
+ Asana
+ Azure Cosmos, untuk penggunaan Azure Cosmos DB untuk NoSQL dengan pekerjaan ETL AWS Glue 
+ Azure SQL, untuk digunakan dengan AWS Glue untuk Spark.
+ Blackbaud
+ CircleCI
+ Datadog
+ Monitor Docusign
+ Domo
+ Dynatrace
+ Iklan Facebook
+ Wawasan Halaman Facebook
+ Freshdesk
+ Freshsales
+ Iklan Google
+ Google Analytics 4
+ Google BigQuery, untuk digunakan dengan AWS Glue untuk Spark.
+ Konsol Penelusuran Google
+ Google Spreadsheet
+ HubSpot
+ Iklan Instagram
+ Interkom
+ JDBC
+ Jira Cloud
+ Kafka
+ Kustomer
+ LinkedIn
+ Mailchimp
+ Microsoft Dynamics 365 CRM
+ Microsoft Teams
+ Mixpanel
+ Senin
+ MongoDB
+ MongoDB Atlas
+ Okta
+ Oracle NetSuite
+ Paypal
+ Pendo
+ Pipedrive
+ Productboard
+ QuickBooks
+ REST API (memerlukan pengaturan jenis koneksi, lihat [Koneksi REST API](https://docs.aws.amazon.com/glue/latest/dg/rest-api-connections.html))
+ Salesforce
+ Cloud Perdagangan Salesforce
+ Cloud Pemasaran Salesforce
+ Keterlibatan Akun Cloud Pemasaran Salesforce (sebelumnya Salesforce Pardot)
+ SAP HANA, untuk digunakan dengan AWS Glue Spark.
+ GETAH OData
+ SendGrid
+ ServiceNow
+ Slack
+ Smartsheet
+ Iklan Snapchat
+ Stripe
+ Snowflake, untuk digunakan dengan AWS Glue untuk Spark.
+ Teradata Vantage, saat menggunakan untuk Spark. AWS Glue 
+ Twilio
+ Vertica, untuk digunakan dengan AWS Glue untuk Spark.
+ WooCommerce
+ Zendesk
+ Zoho CRM
+ Pertemuan Zoom
+ Berbagai penawaran Amazon Relational Database Service (Amazon RDS).
+ Jaringan (menunjuk koneksi ke sumber data yang ada di Amazon Virtual Private Cloud (Amazon VPC))

Dengan AWS Glue Studio, Anda juga dapat membuat koneksi untuk *konektor*. Konektor adalah paket kode opsional yang membantu mengakses penyimpanan data di. AWS Glue Studio Untuk informasi selengkapnya, lihat [Menggunakan konektor dan koneksi dengan AWS Glue Studio](https://docs.aws.amazon.com/glue/latest/ug/connectors-chapter.html) 

Untuk informasi tentang cara menyambung ke database lokal, lihat [Cara mengakses dan menganalisis penyimpanan data lokal menggunakan AWS Glue](https://aws.amazon.com/blogs/big-data/how-to-access-and-analyze-on-premises-data-stores-using-aws-glue/) situs web AWS Big Data Blog.

Untuk membuat koneksi dengan konfigurasi VPC saat menggunakan peran IAM khusus, ia harus memiliki tindakan akses VPC berikut:
+ manajer rahasia: GetSecretValue
+ manajer rahasia: PutSecretValue
+ manajer rahasia: DescribeSecret
+ EC2: CreateNetworkInterface
+ EC2: DeleteNetworkInterface
+ EC2: DescribeNetworkInterfaces
+ EC2: DescribeSubnets

## Batasan
<a name="available-connections-limitations"></a>
+  Anda tidak dapat mengedit koneksi melalui AWS Glue konsol jika Anda membuat koneksi v2 menggunakan AWS Glue APIs: 
  + Amazon DocumentDB
  + Amazon Aurora
  + MariaDB
  + MongoDB Atlas
  + MongoDB

# Koneksi REST API
<a name="rest-api-connections"></a>

 AWS Glue konektor mencakup berbagai sumber data baik AWS maupun eksternal. Namun, mungkin ada sistem berpemilik atau platform yang muncul yang tidak didukung oleh AWS Glue konektor asli. Konektor AWS Glue REST menyediakan mekanisme untuk mengonfigurasi konektor yang disesuaikan untuk sumber data apa pun yang memiliki API berbasis REST yang kemudian bekerja dengan cara yang sama seperti konektor yang didukung AWS Glue secara asli. Kemampuan ini meminimalkan kebutuhan untuk membangun pustaka kustom atau skrip ETL untuk mengakses sumber data ini. 

 Untuk mengaktifkan konektor REST API, AWS Glue telah memperkenalkan AWS sumber daya baru - **Jenis Koneksi**. Operasi berikut dapat digunakan untuk mengelola konektivitas ke sumber data berbasis REST API: 
+  **RegisterConnectionType**- Mendaftarkan Jenis Koneksi AWS Glue berdasarkan konfigurasi yang disediakan. Untuk struktur permintaan, Lihat [ RegisterConnectionType](https://docs.aws.amazon.com/glue/latest/webapi/API_RegisterConnectionType.html). 
+  **DeleteConnectionType**- Menghapus konfigurasi Jenis Koneksi di AWS Glue. Lihat [ DeleteConnectionType](https://docs.aws.amazon.com/glue/latest/webapi/API_DeleteConnectionType.html). 
+  **DescribeConnectionType**- Mengembalikan rincian lengkap dari opsi yang didukung untuk jenis koneksi tertentu di AWS Glue. Lihat [ DescribeConnectionType](https://docs.aws.amazon.com/glue/latest/webapi/API_DescribeConnectionType.html). 
+  **ListConnectionTypes**- Mengembalikan daftar jenis koneksi dengan rincian tingkat tinggi dari apa yang didukung untuk setiap jenis AWS Glue koneksi. Lihat [ListConnectionTypes](https://docs.aws.amazon.com/glue/latest/webapi/API_ListConnectionTypes.html). 

## Membuat tipe koneksi REST di AWS Glue
<a name="creating-a-rest-connection-type"></a>

 Untuk membuat jenis koneksi REST, gunakan AWS CLI, AWS SDK atau AWS API untuk menjalankan API. RegisterConnectionType Detail konfigurasi disediakan berdasarkan REST API yang terhubung. 

**catatan**  
 Koneksi REST tidak dapat dibuat menggunakan AWS Glue konsol 

### Prasyarat
<a name="creating-a-rest-connection-type-prerequisites"></a>

 Sebelum mencoba mengonfigurasi konektor AWS Glue REST API Anda, Anda harus membiasakan diri dengan cara kerja internal REST API. Ini membantu jika Anda memiliki dokumentasi REST API untuk sumber data dan alat untuk memeriksa struktur permintaan/respons. 

 Properti REST API berikut harus diidentifikasi: 
+  Mekanisme otentikasi yang digunakan untuk panggilan yang dilakukan ke titik akhir REST. AWS Glue Dukungan konektor REST API: **otentikasi dasar, OAuth2 - ClientCredentials, - Kode Otorisasi, OAuth2 OAuth2 - JWT** dan otentikasi khusus. 
+  Entitas (objek data) yang dapat Anda transfer melalui titik akhir REST dan metadata terkait (seperti nama bidang dan tipe data). 
+  Permintaan HTTP dan struktur respons. Struktur ini mencakup metode HTTP, URL endpoint, header, parameter kueri, dan format badan permintaan dan payload respons. 
+  Skema pagination. AWS Glue Konektor REST API mendukung dua skema pagination: `cursor-based` dan `offset-based` pagination. 

### RegisterConnectionType
<a name="registering-a-rest-connection-type"></a>

 Mendaftarkan ConnectionType in AWS Glue berdasarkan konfigurasi yang disediakan. ConnectionType Sumber daya adalah sumber AWS Glue daya baru yang menyimpan detail tentang bagaimana permintaan dan tanggapan ditafsirkan oleh sumber data. Saat ini, hanya protokol REST yang didukung. Ini merangkum detail tentang sumber REST API seperti: 
+  **Properti koneksi** - Mendefinisikan BaseUrl untuk terhubung ke REST API dan parameter permintaan tambahan apa pun yang diperlukan untuk mengambil input selama AWS Glue CreateConnection. 
+  **Konfigurasi otentikasi** - Mendefinisikan bagaimana permintaan ke REST API diautentikasi. Konfigurasi ini digunakan saat membuat AWS Glue Koneksi untuk Jenis Koneksi. 
+  **Konfigurasi REST** - Mendefinisikan permintaan HTTP dan konfigurasi respons untuk membaca data dari sumber REST API. Properti berikut perlu dikonfigurasi baik di tingkat **Global** atau **Entity**: 
  +  **Metode permintaan** - Mendefinisikan Metode HTTP REST. 
  +  **Konfigurasi respons** - Mendefinisikan bagaimana respons API harus ditafsirkan (termasuk lokasi Rekaman atau Kesalahan di badan). 
  +  **Konfigurasi pagination** - Mendefinisikan strategi yang digunakan REST API untuk paginasi catatan yang dihasilkan dan bagaimana properti pagination akan dikirim/diambil. 
  +  **Konfigurasi titik akhir validasi** - Mendefinisikan titik akhir yang akan dipanggil untuk memvalidasi koneksi. AWS Glue 
  +  **Konfigurasi entitas** - Mendefinisikan entitas REST yang didukung konektor dan skema mereka. 

### RegisterConnectionType Permintaan Sintaks
<a name="register-connection-type-request-syntax"></a>

 Lihat [ RegisterConnectionType](https://docs.aws.amazon.com/glue/latest/webapi/API_RegisterConnectionType.html) 

 Setelah jenis koneksi REST API telah terdaftar, itu siap digunakan untuk membuat koneksi ke sumber data yang dikonfigurasi. Lihat [Menghubungkan ke REST APIs](https://docs.aws.amazon.com/glue/latest/dg/connecting-to-data-rest-api.html) untuk instruksi terperinci. 

# AWS Glue properti koneksi
<a name="connection-properties"></a>

Topik ini mencakup informasi tentang properti untuk AWS Glue koneksi.

**Topics**
+ [Properti koneksi yang diperlukan](#connection-properties-required)
+ [AWS Glue Properti koneksi JDBC](#connection-properties-jdbc)
+ [AWS Glue Properti koneksi MongoDB dan MongoDB Atlas](#connection-properties-mongodb)
+ [Properti koneksi Salesforce](#connection-properties-salesforce)
+ [Koneksi kepingan salju](#connection-properties-snowflake)
+ [Koneksi Vertica](#connection-properties-vertica)
+ [Koneksi SAP HANA](#connection-properties-saphana)
+ [Koneksi Azure SQL](#connection-properties-azuresql)
+ [Koneksi Teradata Vantage](#connection-properties-teradata)
+ [OpenSearch Koneksi layanan](#connection-properties-opensearch)
+ [Koneksi Azure Cosmos](#connection-properties-azurecosmos)
+ [AWS Glue Properti koneksi SSL](#connection-properties-SSL)
+ [Properti koneksi Apache Kafka untuk otentikasi klien](#connection-properties-authentication)
+ [BigQuery Koneksi Google](#connection-properties-bigquery)
+ [Koneksi Vertica](#connection-properties-vertica)

## Properti koneksi yang diperlukan
<a name="connection-properties-required"></a>

Saat Anda menentukan koneksi di AWS Glue konsol, Anda harus memberikan nilai untuk properti berikut:

**Nama koneksi**  
Masukkan nama unik untuk koneksi Anda.

**Tipe koneksi**  
Pilih **JDBC** atau salah satu jenis koneksi tertentu.   
Untuk detail tentang jenis koneksi JDBC, lihat [AWS Glue Properti koneksi JDBC](#connection-properties-jdbc)  
Pilih **Jaringan** untuk connect ke sumber data di lingkungan Amazon Virtual Private Cloud (Amazon VPC)).  
Tergantung pada jenis yang Anda pilih, konsol AWS Glue menampilkan bidang lain yang diperlukan. Misalnya, jika Anda memilih **Amazon RDS**, maka Anda kemudian harus memilih mesin basis data.

**Wajib koneksi SSL**  
Ketika Anda memilih opsi ini, AWS Glue harus memverifikasi bahwa koneksi ke penyimpanan data terhubung melalui Secure Sockets Layer (SSL) tepercaya.  
Untuk informasi selengkapnya, termasuk opsi tambahan yang tersedia bila Anda memilih opsi ini, lihat [AWS Glue Properti koneksi SSL](#connection-properties-SSL).

**Pilih klaster MSK (Amazon Managed Streaming for Apache Kafka (MSK) saja)**  
Menentukan cluster MSK dari akun lain AWS .

**Kafka bootstrap server URLs (Kafka saja)**  
Menentukan daftar dipisahkan koma dari server bootstrap. URLs Termasuk nomor port. Sebagai contoh: b-1.vpc-test-2.o4q88o.c6.kafka.us-east-1.amazonaws.com:9094, b-2.vpc-test-2.o4q88o.c6.kafka.us-east-1.amazonaws.com:9094, b-3.vpc-test-2.o4q88o.c6.kafka.us-east-1.amazonaws.com:9094

## AWS Glue Properti koneksi JDBC
<a name="connection-properties-jdbc"></a>

 AWS Glue Studio sekarang membuat koneksi terpadu untuk sumber data MySQL, Oracle, PostgressQL, Redshift, dan SQL Server, yang memerlukan langkah-langkah tambahan untuk mengakses Secrets Manager dan sumber daya VPC, yang mungkin menimbulkan biaya tambahan. Anda dapat mengakses koneksi ini AWS Glue Studio dengan memilih nama koneksi untuk koneksi masing-masing. 

 Untuk informasi selengkapnya, lihat [Pertimbangan-pertimbangan](using-connectors-unified-connections.md#using-connectors-unified-connections-considerations). 

AWS Glue dapat terhubung ke penyimpanan data berikut melalui koneksi JDBC:
+ Amazon Redshift
+ Amazon Aurora
+ Microsoft SQL Server
+ MySQL
+ Oracle
+ PostgreSQL
+ Snowflake, saat menggunakan AWS Glue crawler.
+ Aurora (didukung jika driver JDBC asli sedang digunakan. Tidak semua fitur driver dapat dimanfaatkan)
+ Amazon RDS for MariaDB

**penting**  
Saat ini, sebuah tugas ETL dapat menggunakan koneksi JDBC hanya dalam satu subnet saja. Jika Anda memiliki beberapa penyimpanan data dalam suatu pekerjaan, mereka harus berada di subnet yang sama, atau dapat diakses dari subnet.  
 Jika Anda memilih untuk membawa versi driver JDBC Anda sendiri untuk AWS Glue crawler, crawler Anda akan menggunakan sumber daya dalam pekerjaan dan AWS Glue Amazon S3 untuk memastikan driver yang Anda berikan dijalankan di lingkungan Anda. Penggunaan sumber daya tambahan akan tercermin di akun Anda. Selain itu, menyediakan driver JDBC Anda sendiri tidak berarti bahwa crawler dapat memanfaatkan semua fitur pengemudi. Driver terbatas pada properti yang dijelaskan dalam [Mendefinisikan koneksi di Katalog Data](https://docs.aws.amazon.com/glue/latest/dg/glue-connections.html). 

Berikut ini adalah properti tambahan untuk jenis koneksi JDBC.

**URL JDBC**  
Masukkan URL untuk penyimpanan data JDBC Anda. Untuk kebanyakan mesin basis data, bidang ini adalah dalam format berikut. Dalam format ini, ganti*protocol*,*host*,*port*, dan *db\$1name* dengan informasi Anda sendiri.  
 ` jdbc:protocol://host:port/db_name `   
Tergantung pada mesin basis data, format URL JDBC yang berbeda mungkin diperlukan. Format ini dapat memiliki penggunaan yang sedikit berbeda untuk penggunaan titik dua (:) dan garis miring (/) atau kata kunci yang berbeda untuk menentukan basis data.   
Untuk JDBC yang akan connect ke penyimpanan data, diperlukan sebuah `db_name` di penyimpanan data. `db_name` digunakan untuk membuat koneksi jaringan dengan `username` dan `password`. Saat terhubung, AWS Glue dapat mengakses database lain di penyimpanan data untuk menjalankan crawler atau menjalankan pekerjaan ETL.  
Contoh URL JDBC berikut menunjukkan sintaksis untuk beberapa mesin basis data.  
+ Untuk connect ke penyimpanan data klaster Amazon Redshift dengan basis data `dev`:

   `jdbc:redshift://xxx.us-east-1.redshift.amazonaws.com:8192/dev` 
+ Untuk connect ke penyimpanan data Amazon RDS for MySQL dengan basis data `employee`:

   `jdbc:mysql://xxx-cluster.cluster-xxx.us-east-1.rds.amazonaws.com:3306/employee` 
+ Untuk connect ke penyimpanan data Amazon RDS for PostgreSQL dengan basis data `employee`:

   `jdbc:postgresql://xxx-cluster.cluster-xxx.us-east-1.rds.amazonaws.com:5432/employee` 
+ Untuk connect ke penyimpanan data Amazon RDS for Oracle data store dengan nama layanan `employee`:

   `jdbc:oracle:thin://@xxx-cluster.cluster-xxx.us-east-1.rds.amazonaws.com:1521/employee` 

  Sintaksis untuk Amazon RDS for Oracle dapat mengikuti pola berikut. Dalam pola ini, ganti*host*,*port*,*service\$1name*, dan *SID* dengan informasi Anda sendiri.
  + `jdbc:oracle:thin://@host:port/service_name`
  + `jdbc:oracle:thin://@host:port:SID`
+ Untuk connect ke penyimpanan data Amazon RDS for Microsoft SQL Server dengan basis data `employee`:

   `jdbc:sqlserver://xxx-cluster.cluster-xxx.us-east-1.rds.amazonaws.com:1433;databaseName=employee` 

  Sintaksis untuk Amazon RDS for SQL Server dapat mengikuti pola berikut. Dalam pola ini, ganti*server\$1name*,*port*, dan *db\$1name* dengan informasi Anda sendiri. 
  + `jdbc:sqlserver://server_name:port;database=db_name`
  + `jdbc:sqlserver://server_name:port;databaseName=db_name`
+ Untuk terhubung ke Amazon Aurora PostgreSQL instance `employee` database, tentukan titik akhir untuk instance database, port, dan nama database:

  `jdbc:postgresql://employee_instance_1.xxxxxxxxxxxx.us-east-2.rds.amazonaws.com:5432/employee`
+ Untuk terhubung ke penyimpanan Amazon RDS for MariaDB data dengan `employee` database, tentukan titik akhir untuk instance database, port, dan nama database:

  `jdbc:mysql://xxx-cluster.cluster-xxx.aws-region.rds.amazonaws.com:3306/employee`
+ 
**Awas**  
Koneksi Snowflake JDBC hanya didukung oleh crawler. AWS Glue Saat menggunakan konektor Snowflake dalam AWS Glue pekerjaan, gunakan jenis koneksi Snowflake.

  Untuk terhubung ke instance Snowflake dari `sample` database, tentukan titik akhir untuk instance snowflake, pengguna, nama database, dan nama peran. Anda dapat menambahkan `warehouse` parameter secara opsional.

  `jdbc:snowflake://account_name.snowflakecomputing.com/?user=user_name&db=sample&role=role_name&warehouse=warehouse_name` 
**penting**  
 Untuk koneksi Snowflake melalui JDBC, urutan parameter dalam URL diberlakukan dan harus diurutkan sebagai`user`,,, dan. `db` `role_name` `warehouse` 
+ Untuk terhubung ke instance Snowflake dari `sample` database dengan tautan AWS pribadi, tentukan URL JDBC kepingan salju sebagai berikut:

  `jdbc:snowflake://account_name.region.privatelink.snowflakecomputing.com/?user=user_name&db=sample&role=role_name&warehouse=warehouse_name` 

**nama pengguna**  
Kami menyarankan Anda menggunakan AWS rahasia untuk menyimpan kredensil koneksi alih-alih memasok nama pengguna dan kata sandi Anda secara langsung. Untuk informasi selengkapnya, lihat [Menyimpan kredensi koneksi di AWS Secrets Manager](connection-properties-secrets-manager.md).
Berikan nama pengguna yang memiliki izin untuk mengakses penyimpanan data JDBC. 

**Kata Sandi**  
Masukkan kata sandi untuk nama pengguna yang memiliki izin akses ke penyimpanan data JDBC.

**Port**  
Masukkan port yang digunakan dalam URL JDBC untuk terhubung ke instans Amazon RDS Oracle. Bidang ini hanya ditampilkan ketika **Wajib koneksi SSL** dipilih untuk instans Amazon RDS Oracle.

**VPC**  
Pilih nama virtual private cloud (VPC) yang berisi penyimpanan data Anda. AWS Glue Konsol mencantumkan semua VPCs untuk Wilayah saat ini.  
 Saat bekerja melalui koneksi JDBC yang di-host AWS, seperti dengan data dari Snowflake, VPC Anda harus memiliki gateway NAT yang membagi lalu lintas menjadi subnet publik dan pribadi. Subnet publik digunakan untuk koneksi ke sumber eksternal, dan subnet internal digunakan untuk diproses oleh. AWS Glue Untuk informasi tentang mengonfigurasi VPC Amazon Anda untuk koneksi eksternal, baca [Connect to the internet atau jaringan lain menggunakan perangkat NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat.html) dan. [Menyiapkan Amazon VPC untuk koneksi JDBC ke penyimpanan data Amazon RDS dari AWS Glue](setup-vpc-for-glue-access.md) 

**Subnet**  
Pilih subnet dalam VPC yang berisi penyimpanan data Anda. Konsol AWS Glue mencantumkan semua subnet untuk penyimpanan data di VPC Anda. 

**Grup keamanan**  
Pilih grup keamanan yang terkait dengan penyimpanan data Anda. AWS Glue memerlukan satu atau lebih grup keamanan dengan aturan sumber masuk yang memungkinkan AWS Glue untuk terhubung. AWS Glue Konsol mencantumkan semua grup keamanan yang diberikan akses masuk ke VPC Anda. AWS Glue mengaitkan grup keamanan ini dengan elastic network interface yang terpasang pada subnet VPC Anda.

**Nama Kelas Pengemudi JDBC - opsional**  
 Berikan nama kelas driver JDBC kustom:   
+ Postgres - org.PostgreSQL.driver 
+   MySQL - com.mysql.jdbc.driver, com.mysql.cj.jdbc.driver  
+   Redshift — com.amazon.redshift.jdbc.driver, com.amazon.redshift.jdbc42.driver   
+   Oracle — oracle.jdbc.driver. OracleDriver  
+   SQL Server - com.microsoft.sqlserver.jdbc. SQLServerSopir  

**Jalur S3 Driver JDBC - opsional**  
 Berikan lokasi Amazon S3 ke driver JDBC khusus. Ini adalah jalur absolut ke file.jar. Jika Anda ingin menyediakan driver JDBC Anda sendiri untuk terhubung ke sumber data Anda untuk database yang didukung crawler Anda, Anda dapat menentukan nilai untuk parameter `customJdbcDriverS3Path`dan`customJdbcDriverClassName`.  Menggunakan driver JDBC yang disediakan oleh pelanggan terbatas pada yang diperlukan. [Properti koneksi yang diperlukan](#connection-properties-required) 

## AWS Glue Properti koneksi MongoDB dan MongoDB Atlas
<a name="connection-properties-mongodb"></a>

Berikut ini adalah properti tambahan untuk jenis koneksi MongoDB atau MongoDB Atlas.

**URL MongoDB**  
Masukkan URL untuk penyimpanan data MongoDB atau MongoDB Atlas Anda:  
+ Untuk MongoDB: mongodb: //host:port/database. Host dapat berupa nama host, alamat IP, atau soket domain UNIX. Jika string koneksi tidak menentukan port, ia menggunakan port MongoDB default, 27017.
+ Untuk MongoDB Atlas: mongodb\$1srv: //server.example.com/database. Host dapat berupa nama host yang mengikuti sesuai dengan catatan DNS SRV. Format SRV tidak memerlukan port dan akan menggunakan port MongoDB default, 27017.

**nama pengguna**  
Kami menyarankan Anda menggunakan AWS rahasia untuk menyimpan kredensil koneksi alih-alih memasok nama pengguna dan kata sandi Anda secara langsung. Untuk informasi selengkapnya, lihat [Menyimpan kredensi koneksi di AWS Secrets Manager](connection-properties-secrets-manager.md).
Berikan nama pengguna yang memiliki izin untuk mengakses penyimpanan data JDBC. 

**Kata Sandi**  
Masukkan kata sandi untuk nama pengguna yang memiliki izin akses ke penyimpanan data MongoDB atau MongoDB Atlas.

## Properti koneksi Salesforce
<a name="connection-properties-salesforce"></a>

Berikut ini adalah properti tambahan untuk jenis koneksi Salesforce.
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Nama Objek Anda di Salesforce.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Salesforce Rest API versi yang ingin Anda gunakan.
+ `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.
+ `IMPORT_DELETED_RECORDS`(String) - Default: FALSE. Digunakan untuk membaca. Untuk mendapatkan catatan hapus saat melakukan kueri.
+ `WRITE_OPERATION`(String) - Default: SISIPKAN. Digunakan untuk menulis. Nilai harus INSERT, UPDATE, UPSERT, DELETE.
+ `ID_FIELD_NAMES`(String) - Default: null. Digunakan hanya untuk UPSERT. 

## Koneksi kepingan salju
<a name="connection-properties-snowflake"></a>

Properti berikut digunakan untuk mengatur koneksi Snowflake yang digunakan dalam pekerjaan AWS Glue ETL. Saat merayapi Snowflake, gunakan koneksi JDBC.

**URL Kepingan Salju**  
URL titik akhir Snowflake Anda. Untuk informasi selengkapnya tentang titik akhir Snowflake URLs, lihat [Menghubungkan ke Akun Anda](https://docs.snowflake.com/en/user-guide/organizations-connect) di dokumentasi Snowflake.

**AWS Rahasia**  
**Nama Rahasia** dari sebuah rahasia di AWS Secrets Manager AWS Glue akan terhubung ke Snowflake menggunakan `sfUser` dan `sfPassword` kunci rahasia Anda.

**Peran kepingan salju (opsional)**  
Peran keamanan kepingan salju AWS Glue akan digunakan saat menghubungkan.

Gunakan properti berikut saat mengonfigurasi sambungan ke titik akhir Snowflake yang dihosting di Amazon VPC menggunakan. AWS PrivateLink

**VPC**  
Pilih nama virtual private cloud (VPC) yang berisi penyimpanan data Anda. AWS Glue Konsol mencantumkan semua VPCs untuk Wilayah saat ini.

**Subnet**  
Pilih subnet dalam VPC yang berisi penyimpanan data Anda. Konsol AWS Glue mencantumkan semua subnet untuk penyimpanan data di VPC Anda.

**Grup keamanan**  
Pilih grup keamanan yang terkait dengan penyimpanan data Anda. AWS Glue memerlukan satu atau lebih grup keamanan dengan aturan sumber masuk yang memungkinkan AWS Glue untuk terhubung. AWS Glue Konsol mencantumkan semua grup keamanan yang diberikan akses masuk ke VPC Anda. AWS Glue mengaitkan grup keamanan ini dengan elastic network interface yang terpasang pada subnet VPC Anda.

## Koneksi Vertica
<a name="connection-properties-vertica"></a>

Gunakan properti berikut untuk menyiapkan koneksi Vertica untuk pekerjaan AWS Glue ETL.

**Tuan Rumah Vertica**  
Nama host instalasi Vertica Anda.

**Pelabuhan Vertica**  
Port instalasi Vertica Anda tersedia melalui.

**AWS Rahasia**  
**Nama Rahasia** dari sebuah rahasia di AWS Secrets Manager AWS Glue akan terhubung ke Vertica menggunakan kunci rahasia Anda.

Gunakan properti berikut saat mengonfigurasi sambungan ke titik akhir Vertica yang dihosting di Amazon VPC.

**VPC**  
Pilih nama virtual private cloud (VPC) yang berisi penyimpanan data Anda. AWS Glue Konsol mencantumkan semua VPCs untuk Wilayah saat ini.

**Subnet**  
Pilih subnet dalam VPC yang berisi penyimpanan data Anda. Konsol AWS Glue mencantumkan semua subnet untuk penyimpanan data di VPC Anda.

**Grup keamanan**  
Pilih grup keamanan yang terkait dengan penyimpanan data Anda. AWS Glue memerlukan satu atau lebih grup keamanan dengan aturan sumber masuk yang memungkinkan AWS Glue untuk terhubung. AWS Glue Konsol mencantumkan semua grup keamanan yang diberikan akses masuk ke VPC Anda. AWS Glue mengaitkan grup keamanan ini dengan elastic network interface yang terpasang pada subnet VPC Anda.

## Koneksi SAP HANA
<a name="connection-properties-saphana"></a>

Gunakan properti berikut untuk mengatur koneksi SAP HANA untuk pekerjaan AWS Glue ETL.

**SAP HANA URL**  
URL JDBC SAP.  
SAP HANA JDBC URLs ada dalam bentuk `jdbc:sap://saphanaHostname:saphanaPort/?databaseName=saphanaDBname,ParameterName=ParameterValue`  
AWS Glue memerlukan parameter URL JDBC berikut:   
+ `databaseName`— Database default di SAP HANA untuk terhubung ke.

**AWS Rahasia**  
**Nama Rahasia** dari sebuah rahasia di AWS Secrets Manager AWS Glue akan terhubung ke SAP HANA menggunakan kunci rahasia Anda.

Gunakan properti berikut saat mengonfigurasi koneksi ke titik akhir SAP HANA yang dihosting di Amazon VPC:

**VPC**  
Pilih nama virtual private cloud (VPC) yang berisi penyimpanan data Anda. AWS Glue Konsol mencantumkan semua VPCs untuk Wilayah saat ini.

**Subnet**  
Pilih subnet dalam VPC yang berisi penyimpanan data Anda. Konsol AWS Glue mencantumkan semua subnet untuk penyimpanan data di VPC Anda.

**Grup keamanan**  
Pilih grup keamanan yang terkait dengan penyimpanan data Anda. AWS Glue memerlukan satu atau lebih grup keamanan dengan aturan sumber masuk yang memungkinkan AWS Glue untuk terhubung. AWS Glue Konsol mencantumkan semua grup keamanan yang diberikan akses masuk ke VPC Anda. AWS Glue mengaitkan grup keamanan ini dengan elastic network interface yang terpasang pada subnet VPC Anda.

## Koneksi Azure SQL
<a name="connection-properties-azuresql"></a>

Gunakan properti berikut untuk menyiapkan koneksi Azure SQL untuk pekerjaan AWS Glue ETL.

**URL SQL Azure**  
URL JDBC dari titik akhir Azure SQL.  
 URL harus dalam format berikut:`jdbc:sqlserver://databaseServerName:databasePort;databaseName=azuresqlDBname;`.  
AWS Glue membutuhkan properti URL berikut:   
+ `databaseName`— Database default di Azure SQL untuk terhubung ke.
[Untuk informasi selengkapnya tentang JDBC URLs untuk Instans Terkelola Azure SQL, lihat dokumentasi Microsoft.](https://learn.microsoft.com/en-us/sql/connect/jdbc/building-the-connection-url?view=azuresqldb-mi-current)

**AWS Rahasia**  
**Nama Rahasia** dari sebuah rahasia di AWS Secrets Manager AWS Glue akan terhubung ke Azure SQL menggunakan kunci rahasia Anda.

## Koneksi Teradata Vantage
<a name="connection-properties-teradata"></a>

Gunakan properti berikut untuk menyiapkan koneksi Teradata Vantage untuk pekerjaan ETL. AWS Glue 

**URL Teradata**  
Untuk menyambung ke instance Teradata, tentukan nama host untuk instance database dan parameter Teradata yang relevan:  
`jdbc:teradata://teradataHostname/ParameterName=ParameterValue,ParameterName=ParameterValue`.  
AWS Glue mendukung parameter URL JDBC berikut:   
+ `DATABASE_NAME`— Database default di Teradata untuk terhubung ke.
+ `DBS_PORT`- Menentukan port Teradata, jika tidak standar.

**AWS Rahasia**  
**Nama Rahasia** dari sebuah rahasia di AWS Secrets Manager AWS Glue akan terhubung ke Teradata Vantage menggunakan kunci rahasia Anda.

Gunakan properti berikut saat mengonfigurasi sambungan ke titik akhir Teradata Vantage yang dihosting di Amazon VPC:

**VPC**  
Pilih nama virtual private cloud (VPC) yang berisi penyimpanan data Anda. AWS Glue Konsol mencantumkan semua VPCs untuk Wilayah saat ini.

**Subnet**  
Pilih subnet dalam VPC yang berisi penyimpanan data Anda. Konsol AWS Glue mencantumkan semua subnet untuk penyimpanan data di VPC Anda.

**Grup keamanan**  
Pilih grup keamanan yang terkait dengan penyimpanan data Anda. AWS Glue memerlukan satu atau lebih grup keamanan dengan aturan sumber masuk yang memungkinkan AWS Glue untuk terhubung. AWS Glue Konsol mencantumkan semua grup keamanan yang diberikan akses masuk ke VPC Anda. AWS Glue mengaitkan grup keamanan ini dengan elastic network interface yang terpasang pada subnet VPC Anda.

## OpenSearch Koneksi layanan
<a name="connection-properties-opensearch"></a>

Gunakan properti berikut untuk menyiapkan koneksi OpenSearch Layanan untuk pekerjaan AWS Glue ETL.

**Titik akhir domain**  
Titik akhir domain OpenSearch Layanan Amazon akan memiliki formulir default berikut, https://search - *domainName* -*unstructuredIdContent*. *region*.es.amazonaws.com. Untuk informasi selengkapnya tentang mengidentifikasi titik akhir domain Anda, lihat [Membuat dan mengelola domain OpenSearch Layanan Amazon](https://docs.aws.amazon.com//opensearch-service/latest/developerguide/createupdatedomains.html) di dokumentasi OpenSearch Layanan Amazon. 

**Port**  
Port terbuka di titik akhir.

**AWS Rahasia**  
**Nama Rahasia** dari sebuah rahasia di AWS Secrets Manager AWS Glue akan terhubung ke OpenSearch Layanan menggunakan kunci rahasia Anda.

Gunakan properti berikut saat mengonfigurasi sambungan ke titik akhir OpenSearch Layanan yang dihosting di Amazon VPC:

**VPC**  
Pilih nama virtual private cloud (VPC) yang berisi penyimpanan data Anda. AWS Glue Konsol mencantumkan semua VPCs untuk Wilayah saat ini.

**Subnet**  
Pilih subnet dalam VPC yang berisi penyimpanan data Anda. Konsol AWS Glue mencantumkan semua subnet untuk penyimpanan data di VPC Anda.

**Grup keamanan**  
Pilih grup keamanan yang terkait dengan penyimpanan data Anda. AWS Glue memerlukan satu atau lebih grup keamanan dengan aturan sumber masuk yang memungkinkan AWS Glue untuk terhubung. AWS Glue Konsol mencantumkan semua grup keamanan yang diberikan akses masuk ke VPC Anda. AWS Glue mengaitkan grup keamanan ini dengan elastic network interface yang terpasang pada subnet VPC Anda.

## Koneksi Azure Cosmos
<a name="connection-properties-azurecosmos"></a>

Gunakan properti berikut untuk menyiapkan koneksi Azure Cosmos untuk pekerjaan AWS Glue ETL.

**URI Titik Akhir Akun Azure Cosmos DB**  
Titik akhir yang digunakan untuk terhubung ke Azure Cosmos. Untuk informasi selengkapnya, lihat [dokumentasi Azure](https://learn.microsoft.com/en-us/rest/api/cosmos-db/cosmosdb-resource-uri-syntax-for-rest).

**AWS Rahasia**  
**Nama Rahasia** dari sebuah rahasia di AWS Secrets Manager AWS Glue akan terhubung ke Azure Cosmos menggunakan kunci rahasia Anda.

## AWS Glue Properti koneksi SSL
<a name="connection-properties-SSL"></a>

Berikut ini adalah rincian tentang properti **koneksi Required SSL**.

Jika Anda tidak memerlukan koneksi SSL, AWS Glue abaikan kegagalan saat menggunakan SSL untuk mengenkripsi koneksi ke penyimpanan data. Lihat dokumentasi untuk penyimpanan data Anda untuk melihat petunjuk konfigurasi. Saat Anda memilih opsi ini, pernyataan job run, crawler, atau ETL di titik akhir pengembangan gagal saat AWS Glue tidak dapat terhubung.

**catatan**  
Snowflake mendukung koneksi SSL secara default, jadi properti ini tidak berlaku untuk Snowflake.

Opsi ini divalidasi di sisi AWS Glue klien. Untuk koneksi JDBC, AWS Glue hanya menghubungkan melalui SSL dengan sertifikat dan validasi nama host. Support koneksi SSL tersedia untuk: 
+ Basis data Oracle
+ Microsoft SQL Server
+ PostgreSQL
+ Amazon Redshift
+ MySQL (instans Amazon RDS saja)
+ Amazon Aurora MySQL (instans Amazon RDS saja)
+ Amazon Aurora PostgreSQL (Hanya instans Amazon RDS)
+ Kafka, yang meliputi Amazon Managed Streaming for Apache Kafka
+ MongoDB

**catatan**  
Untuk mengaktifkan sebuah penyimpanan data **Amazon RDS Oracle** untuk menggunakan **Wajib koneksi SSL**, Anda harus membuat dan melampirkan grup pilihan untuk instans Oracle.  
Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).
Tambahkan **Grup opsi** untuk instans Amazon RDS Oracle. Untuk informasi selengkapnya tentang cara menambahkan grup opsi di konsol Amazon RDS, lihat [Membuat grup opsi](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithOptionGroups.html#USER_WorkingWithOptionGroups.Create)
Tambahkan sebuah **Opsi** ke grup opsi untuk **SSL**. **Port** yang Anda tentukan untuk SSL kemudian digunakan saat Anda membuat URL koneksi AWS Glue JDBC untuk instans Amazon RDS Oracle. Untuk informasi selengkapnya tentang cara menambahkan opsi di konsol Amazon RDS, lihat [Menambahkan Opsi ke Grup Opsi](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithOptionGroups.html#USER_WorkingWithOptionGroups.AddOption) dalam *Panduan Pengguna Amazon RDS*. Untuk informasi selengkapnya tentang opsi Oracle SSL, lihat [Oracle SSL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.SSL.html) dalam *Panduan Pengguna Amazon RDS*. 
Di AWS Glue konsol, buat koneksi ke instans Amazon RDS Oracle. Dalam definisi koneksi, pilih **Wajib koneksi SSL**. Ketika diminta, masukkan **Port** yang Anda gunakan di opsi Amazon RDS Oracle SSL. 

Properti opsional tambahan berikut tersedia ketika **Wajib koneksi SSL** dipilih untuk sebuah koneksi:

**Sertifikat JDBC kustom di S3**  
Jika Anda memiliki sertifikat yang saat ini Anda gunakan untuk komunikasi SSL dengan database lokal atau cloud, Anda dapat menggunakan sertifikat tersebut untuk koneksi SSL ke sumber AWS Glue data atau target. Masukkan lokasi Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) yang berisi sertifikat root kustom. AWS Glue menggunakan sertifikat ini untuk membuat koneksi SSL ke database. AWS Glue hanya menangani sertifikat X.509. Sertifikat harus dikodekan-DER dan disediakan dalam format PEM encoding base64.  
Jika bidang ini dibiarkan kosong, sertifikat default akan digunakan.

**String sertifikat JDBC kustom**  
Masukkan informasi sertifikat yang spesifik untuk basis data JDBC Anda. String ini digunakan untuk pencocokan domain atau pencocokan nama yang dibedakan (DN). Untuk Basis Data Oracle, string ini memetakan ke parameter `SSL_SERVER_CERT_DN` di bagian keamanan file `tnsnames.ora`. Untuk Microsoft SQL Server, string ini digunakan sebagai `hostNameInCertificate`.  
Berikut ini adalah contoh untuk parameter `SSL_SERVER_CERT_DN` Basis Data Oracle.  

```
cn=sales,cn=OracleContext,dc=us,dc=example,dc=com
```

**Lokasi sertifikat CA pribadi Kafka**  
Jika Anda memiliki sertifikat yang saat ini Anda gunakan untuk komunikasi SSL dengan penyimpanan data Kafka Anda, Anda dapat menggunakan sertifikat itu dengan koneksi Anda AWS Glue . Opsi ini diperlukan untuk penyimpanan data Kafka, dan opsional untuk penyimpanan Amazon Managed Streaming for Apache Kafka data. Masukkan lokasi Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) yang berisi sertifikat root kustom. AWS Glue menggunakan sertifikat ini untuk membuat koneksi SSL ke penyimpanan data Kafka. AWS Glue hanya menangani sertifikat X.509. Sertifikat harus dikodekan-DER dan disediakan dalam format PEM encoding base64. 

**Lewati validasi sertifikat**  
Pilih kotak centang **Lewati validasi sertifikat** untuk melewati validasi sertifikat kustom oleh. AWS Glue Jika Anda memilih untuk memvalidasi, AWS Glue memvalidasi algoritma tanda tangan dan algoritma kunci publik subjek untuk sertifikat. Jika sertifikat gagal validasi, maka setiap tugas ETL atau crawler yang menggunakan koneksi tersebut akan gagal.  
Satu-satunya algoritma tanda tangan yang diizinkan adalah SHA256with RSA, RSA, atau SHA384with RSA. SHA512with Untuk algoritme kunci publik subjek, panjang kunci minimal harus 2048.

**Lokasi keystore klien Kafka**  
Lokasi Amazon S3 dari file keystore klien untuk autentikasi sisi klien Kafka. Path harus dalam bentuk s3://bucket/prefix/filename.jks. Ini harus diakhiri dengan nama file dan ekstensi.jks.

**Kata sandi keystore klien Kafka (opsional)**  
Kata sandi untuk mengakses keystore yang disediakan.

**Kata sandi kunci klien Kafka (opsional)**  
Sebuah keystore dapat terdiri dari beberapa kunci, jadi ini adalah kata sandi untuk mengakses kunci klien yang akan digunakan dengan kunci sisi server Kafka.

## Properti koneksi Apache Kafka untuk otentikasi klien
<a name="connection-properties-authentication"></a>

AWS Glue mendukung kerangka kerja Simple Authentication and Security Layer (SASL) untuk otentikasi saat Anda membuat koneksi Apache Kafka. Kerangka SASL mendukung berbagai mekanisme otentikasi, dan AWS Glue menawarkan SCRAM (nama pengguna dan kata sandi), GSSAPI (protokol Kerberos), dan protokol PLAIN.

Gunakan AWS Glue Studio untuk mengkonfigurasi salah satu metode otentikasi klien berikut. Untuk informasi selengkapnya, lihat [Membuat koneksi untuk konektor](https://docs.aws.amazon.com/glue/latest/ug/connectors-chapter.html#creating-connections) di panduan AWS Glue Studio pengguna.
+ Tidak ada - Tidak ada otentikasi. Ini berguna jika membuat koneksi untuk tujuan pengujian. 
+ SASL/SCRAM-SHA-512 - Memilih metode otentikasi ini akan memungkinkan Anda untuk menentukan kredensi otentikasi. Ada dua opsi yang tersedia: 
  + Gunakan AWS Secrets Manager (disarankan) - jika Anda memilih opsi ini, Anda dapat menyimpan nama pengguna dan kata sandi Anda di AWS Secrets Manager dan membiarkan AWS Glue mengaksesnya bila diperlukan. Tentukan rahasia yang menyimpan kredensyal otentikasi SSL atau SASL. Untuk informasi selengkapnya, lihat [Menyimpan kredensi koneksi di AWS Secrets Manager](connection-properties-secrets-manager.md). 
  + Berikan nama pengguna dan kata sandi secara langsung.
+ SASL/GSSAPI (Kerberos) - if you select this option, you can select the location of the keytab file, krb5.conf file and enter the Kerberos principal name and Kerberos service name. The locations for the keytab file and krb5.conf file must be in an Amazon S3 location. Since MSK does not yet support SASL/GSSAPI, opsi ini hanya tersedia untuk cluster Apache Kafka yang dikelola pelanggan. Untuk informasi selengkapnya, lihat [Dokumentasi MIT Kerberos: Keytab](https://web.mit.edu/kerberos/krb5-latest/doc/basic/keytab_def.html). 
+ SASL/PLAIN - pilih metode otentikasi ini untuk menentukan kredensyal otentikasi. Ada dua opsi yang tersedia:
  + Gunakan AWS Secrets Manager (disarankan) - jika Anda memilih opsi ini, Anda dapat menyimpan kredensyal Anda di AWS Secrets Manager dan membiarkan AWS Glue mengakses informasi bila diperlukan. Tentukan rahasia yang menyimpan kredensyal otentikasi SSL atau SASL.
  + Berikan nama pengguna dan kata sandi secara langsung.
+ Otentikasi Klien SSL - jika Anda memilih opsi ini, Anda dapat memilih lokasi keystore klien Kafka dengan menjelajahi Amazon S3. Secara opsional, Anda dapat memasukkan kata sandi keystore klien Kafka dan kata sandi kunci klien Kafka. 

## BigQuery Koneksi Google
<a name="connection-properties-bigquery"></a>

Properti berikut digunakan untuk mengatur BigQuery koneksi Google yang digunakan dalam pekerjaan AWS Glue ETL. Untuk informasi selengkapnya, lihat [BigQuery koneksi](aws-glue-programming-etl-connect-bigquery-home.md).

AWS Rahasia  
**Nama Rahasia** dari sebuah rahasia di AWS Secrets Manager AWS Glue Pekerjaan ETL akan terhubung ke Google BigQuery menggunakan `credentials` kunci rahasia Anda.

## Koneksi Vertica
<a name="connection-properties-vertica"></a>

Properti berikut digunakan untuk mengatur koneksi Vertica yang digunakan dalam pekerjaan AWS Glue ETL. Lihat informasi yang lebih lengkap di [Koneksi Vertica](aws-glue-programming-etl-connect-vertica-home.md).

# Menyimpan kredensi koneksi di AWS Secrets Manager
<a name="connection-properties-secrets-manager"></a>

Kami menyarankan Anda menggunakan AWS Secrets Manager untuk menyediakan kredensil koneksi untuk penyimpanan data Anda. Menggunakan Secrets Manager dengan cara ini memungkinkan AWS Glue akses rahasia Anda saat runtime untuk pekerjaan ETL dan crawler berjalan, dan membantu menjaga kredensil Anda tetap aman.

**Prasyarat**

Untuk menggunakan Secrets Manager dengan AWS Glue, Anda harus memberikan [peran IAM Anda untuk AWS Glue](create-an-iam-role.md) izin untuk mengambil nilai rahasia. Kebijakan AWS terkelola `AWSGlueServiceRole` tidak menyertakan AWS Secrets Manager izin. Misalnya kebijakan IAM, lihat [Contoh: Izin untuk mengambil nilai rahasia](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#auth-and-access_examples_read) di *AWS Secrets Manager**Panduan Pengguna*.

Bergantung pada pengaturan jaringan Anda, Anda mungkin juga perlu membuat titik akhir VPC untuk membuat koneksi pribadi antara VPC dan Secrets Manager. Untuk informasi selengkapnya, silakan lihat [Menggunakan sebuah titik akhir VPC AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/vpc-endpoint-overview.html).

**Untuk membuat rahasia untuk AWS Glue**

1. Ikuti petunjuk di [Buat dan kelola rahasia](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets.html) di *Panduan AWS Secrets Manager Pengguna*. Contoh berikut JSON menunjukkan cara menentukan kredensil Anda di tab **Plaintext** saat Anda membuat rahasia untuk. AWS Glue

   ```
   {
     "username": "EXAMPLE-USERNAME",
     "password": "EXAMPLE-PASSWORD"
   }
   ```

1. Kaitkan rahasia Anda dengan koneksi menggunakan AWS Glue Studio antarmuka. Untuk petunjuk terperinci, lihat [Membuat koneksi untuk konektor](https://docs.aws.amazon.com/glue/latest/ug/connectors-chapter.html#creating-connections) di *Panduan AWS Glue Studio Pengguna.*

# Menambahkan AWS Glue koneksi
<a name="console-connections"></a>

 Anda dapat terhubung ke sumber data di AWS Glue untuk Spark secara terprogram. Untuk informasi selengkapnya, lihat [Jenis dan opsi koneksi untuk ETL di AWS Glue untuk Spark](aws-glue-programming-etl-connect.md) 

Anda juga dapat menggunakan AWS Glue konsol untuk menambah, mengedit, menghapus, dan menguji koneksi. Untuk informasi tentang AWS Glue koneksi, lihat[Menghubungkan ke data](glue-connections.md).

**Topics**
+ [Menghubungkan ke Adobe Analytics](connecting-to-adobe-analytics.md)
+ [Menghubungkan ke Adobe Marketo Engage](connecting-to-data-adobe-marketo-engage.md)
+ [Menghubungkan ke Amazon Redshift di AWS Glue Studio](connecting-to-data-redshift.md)
+ [Menghubungkan ke Asana](connecting-to-asana.md)
+ [Menghubungkan ke Azure Cosmos DB di AWS Glue Studio](connecting-to-data-azurecosmos.md)
+ [Menghubungkan ke Azure SQL di AWS Glue Studio](connecting-to-data-azuresql.md)
+ [Menghubungkan ke Blackbaud Raiser's Edge NXT](connecting-to-data-blackbaud.md)
+ [Menghubungkan ke CircleCI](connecting-to-data-circleci.md)
+ [Menghubungkan ke Datadog](connecting-to-datadog.md)
+ [Menghubungkan ke Docusign Monitor](connecting-to-data-docusign-monitor.md)
+ [Menghubungkan ke Domo](connecting-to-data-domo.md)
+ [Menghubungkan ke Dynatrace](connecting-to-data-dynatrace.md)
+ [Menghubungkan ke Iklan Facebook](connecting-to-data-facebook-ads.md)
+ [Menghubungkan ke Wawasan Halaman Facebook](connecting-to-data-facebook-page-insights.md)
+ [Menghubungkan ke Freshdesk](connecting-to-data-freshdesk.md)
+ [Menghubungkan ke Freshsales](connecting-to-data-freshsales.md)
+ [Menyambung ke Google Ads](connecting-to-googleads.md)
+ [Menghubungkan ke Google Analytics 4](connecting-to-googleanalytics.md)
+ [Menghubungkan ke Google BigQuery di AWS Glue Studio](connecting-to-data-bigquery.md)
+ [Menghubungkan ke Google Search Console](connecting-to-data-google-search-console.md)
+ [Menghubungkan ke Google Sheets](connecting-to-googlesheets.md)
+ [Menghubungkan ke HubSpot](connecting-to-data-hubspot.md)
+ [Menghubungkan ke Iklan Instagram](connecting-to-data-instagram-ads.md)
+ [Menghubungkan ke Interkom di AWS Glue Studio](connecting-to-data-intercom.md)
+ [Menghubungkan ke Jira Cloud](connecting-to-data-jira-cloud.md)
+ [Menghubungkan ke Kustomer](connecting-to-data-kustomer.md)
+ [Menghubungkan ke LinkedIn](connecting-to-linkedin.md)
+ [Menghubungkan ke Mailchimp](connecting-to-mailchimp.md)
+ [Menghubungkan ke Microsoft Dynamics 365 CRM](connecting-to-microsoft-dynamics-365.md)
+ [Menghubungkan ke Microsoft Teams](connecting-to-microsoft-teams.md)
+ [Menghubungkan ke Mixpanel](connecting-to-mixpanel.md)
+ [Menghubungkan ke Senin](connecting-to-monday.md)
+ [Menghubungkan ke MongoDB di AWS Glue Studio](connecting-to-data-mongodb.md)
+ [Menghubungkan ke Oracle NetSuite](connecting-to-data-oracle-netsuite.md)
+ [Menghubungkan ke OpenSearch Layanan di AWS Glue Studio](connecting-to-data-opensearch.md)
+ [Menghubungkan ke Okta](connecting-to-okta.md)
+ [Menghubungkan ke PayPal](connecting-to-data-paypal.md)
+ [Menghubungkan ke Pendo](connecting-to-pendo.md)
+ [Menghubungkan ke Pipedrive](connecting-to-pipedrive.md)
+ [Menghubungkan ke Productboard](connecting-to-productboard.md)
+ [Menghubungkan ke QuickBooks](connecting-to-data-quickbooks.md)
+ [Menghubungkan ke REST API](connecting-to-data-rest-api.md)
+ [Menghubungkan ke Salesforce](connecting-to-data-salesforce.md)
+ [Menghubungkan ke Salesforce Marketing Cloud](connecting-to-data-salesforce-marketing-cloud.md)
+ [Menghubungkan ke Salesforce Commerce Cloud](connecting-to-salesforce-commerce-cloud.md)
+ [Menghubungkan ke Keterlibatan Akun Cloud Pemasaran Salesforce](connecting-to-data-salesforce-marketing-cloud-account-engagement.md)
+ [Menyambung ke SAP HANA di AWS Glue Studio](connecting-to-data-saphana.md)
+ [Menghubungkan ke SAP OData](connecting-to-data-sap-odata.md)
+ [Menghubungkan ke SendGrid](connecting-to-data-sendgrid.md)
+ [Menghubungkan ke ServiceNow](connecting-to-data-servicenow.md)
+ [Menghubungkan ke Slack di AWS Glue Studio](connecting-to-data-slack.md)
+ [Menghubungkan ke Smartsheet](connecting-to-smartsheet.md)
+ [Menghubungkan ke Iklan Snapchat di AWS Glue Studio](connecting-to-data-snapchat-ads.md)
+ [Menghubungkan ke Snowflake di AWS Glue Studio](connecting-to-data-snowflake.md)
+ [Menghubungkan ke Stripe di AWS Glue Studio](connecting-to-data-stripe.md)
+ [Menghubungkan ke Teradata Vantage di AWS Glue Studio](connecting-to-data-teradata.md)
+ [Menghubungkan ke Twilio](connecting-to-data-twilio.md)
+ [Menghubungkan ke Vertica di AWS Glue Studio](connecting-to-data-vertica.md)
+ [Menghubungkan ke WooCommerce](connecting-to-data-woocommerce.md)
+ [Menyambung ke Zendesk](connecting-to-data-zendesk.md)
+ [Menyambung ke Zoho CRM](connecting-to-data-zoho-crm.md)
+ [Menghubungkan ke Rapat Zoom](connecting-to-data-zoom-meetings.md)
+ [Menambahkan koneksi JDBC menggunakan driver JDBC Anda sendiri](console-connections-jdbc-drivers.md)

# Menghubungkan ke Adobe Analytics
<a name="connecting-to-adobe-analytics"></a>

Adobe Analytics adalah platform analisis data yang kuat yang mengumpulkan data dari pengalaman digital multi-saluran yang mendukung perjalanan pelanggan dan menyediakan alat untuk menganalisis data. Ini adalah platform yang biasa digunakan oleh pemasar dan analis bisnis untuk tujuan analisis bisnis. Jika Anda pengguna Adobe Analytics, Anda dapat terhubung AWS Glue ke akun Adobe Analytics Anda. Kemudian, Anda dapat menggunakan Adobe Analytics sebagai sumber data dalam Pekerjaan ETL Anda. Jalankan pekerjaan ini untuk mentransfer data antara Adobe Analytics dan AWS layanan atau aplikasi lain yang didukung.

**Topics**
+ [AWS Glue dukungan untuk Adobe Analytics](adobe-analytics-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](adobeanalytics-configuring-iam-permissions.md)
+ [Mengkonfigurasi Adobe Analytics](adobeanalytics-configuring.md)
+ [Mengkonfigurasi koneksi Adobe Analytics](adobeanalytics-configuring-connections.md)
+ [Membaca dari entitas Adobe Analytics](adobeanalytics-reading-from-entities.md)
+ [Opsi koneksi Adobe Analytics](adobeanalytics-connection-options.md)
+ [Membuat akun Adobe Analytics](adobeanalytics-create-account.md)
+ [Batasan](adobeanalytics-connector-limitations.md)

# AWS Glue dukungan untuk Adobe Analytics
<a name="adobe-analytics-support"></a>

AWS Glue mendukung Adobe Analytics sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi Adobe Analytics API yang didukung**  
 v2.0 

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="adobeanalytics-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 Adobe Analytics
<a name="adobeanalytics-configuring"></a>

Sebelum Anda dapat menggunakan AWS Glue untuk mentransfer dari Adobe Analytics, Anda harus memenuhi persyaratan berikut:

## Persyaratan minimum
<a name="adobeanalytics-configuring-min-requirements"></a>
+ Anda memiliki akun Adobe Analytics dengan email dan kata sandi. Untuk informasi selengkapnya tentang membuat akun, lihat [Membuat akun Adobe Analytics](adobeanalytics-create-account.md). 
+  Akun Adobe Analytics Anda diaktifkan untuk akses API. Akses API diaktifkan secara default untuk edisi Select, Prime, dan Ultimate. 

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

# Mengkonfigurasi koneksi Adobe Analytics
<a name="adobeanalytics-configuring-connections"></a>

 Adobe Analytics mendukung jenis `AUTHORIZATION_CODE` hibah untuk`OAuth2`.

Jenis hibah ini dianggap “berkaki tiga” `OAuth` karena bergantung pada pengalihan pengguna ke server otorisasi pihak ketiga untuk mengautentikasi pengguna. Pengguna dapat memilih untuk membuat aplikasi terhubung mereka sendiri di Adobe Analytics dan memberikan ID klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue konsol. Dalam skenario ini, mereka masih akan diarahkan ke Adobe Analytics untuk masuk dan memberi wewenang AWS Glue untuk mengakses sumber daya mereka. 

Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses berumur pendek, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran. 

 [Untuk dokumentasi Adobe Analytics publik tentang cara membuat aplikasi yang terhubung untuk OAuth alur AUTHORIZATION\$1CODE, lihat Adobe Analytics. APIs](https://adobedocs.github.io/analytics-2.0-apis/) 

Untuk mengonfigurasi koneksi Adobe Analytics:

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 kunci `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` sebagai. 
**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 **jenis Koneksi**, pilih Adobe Analytics.

   1. Berikan Adobe Analytics yang ingin Anda sambungkan. `x_api_key, instanceUrl`

   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`. 

# Membaca dari entitas Adobe Analytics
<a name="adobeanalytics-reading-from-entities"></a>

 **Prasyarat** 

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

 **Entitas yang didukung** 


| Entitas | Dapat disaring | Mendukung Batas | Mendukung Order By | Mendukung Pilih\$1 | Mendukung Partisi | 
| --- | --- | --- | --- | --- | --- | 
| Anotasi | Ya | Ya | Ya | Ya | Tidak | 
| Metrik yang Dihitung | Ya | Ya | Ya | Ya | Tidak | 
| Fungsi Metrik Terhitung | Ya | Tidak | Tidak | Ya | Tidak | 
| Saham Metadata Komponen | Ya | Ya | Tidak | Ya | Tidak | 
| Rentang Tanggal | Ya | Ya | Tidak | Ya | Tidak | 
| Dimensi | Ya | Tidak | Tidak | Ya | Tidak | 
| Metrik-metrik | Ya | Tidak | Tidak | Ya | Tidak | 
| Proyek | Ya | Tidak | Tidak | Ya | Tidak | 
| Laporan Item Teratas | Ya | Ya | Tidak | Ya | Tidak | 
| Segmen | Ya | Ya | Ya | Ya | Tidak | 
| Log Penggunaan | Ya | Ya | Tidak | Ya | Tidak | 

 **Contoh** 

```
adobeAnalytics_read = glueContext.create_dynamic_frame.from_options( 
     connection_type="adobeanalytics", 
     connection_options={ 
        "connectionName": "connectionName", 
        "ENTITY_NAME": "annotation/ex*****", 
        "API_VERSION": "v2.0" 
 })
```

 **Entitas dan detail bidang Adobe Analytics** 
+ [Anotasi](https://adobedocs.github.io/analytics-2.0-apis/#/Annotations)
+ [Metrik yang Dihitung](https://adobedocs.github.io/analytics-2.0-apis/#/Calculated%20Metrics)
+ [Komponen Meta Data](https://adobedocs.github.io/analytics-2.0-apis/#/Component%20Meta%20Data)
+ [Rentang Tanggal](https://adobedocs.github.io/analytics-2.0-apis/#/Date%20Ranges)
+ [Dimensi](https://adobedocs.github.io/analytics-2.0-apis/#/Dimensions)
+ [Metrik-metrik](https://adobedocs.github.io/analytics-2.0-apis/#/Metrics)
+ [Proyek](https://adobedocs.github.io/analytics-2.0-apis/#/Projects)
+ [Laporan](https://adobedocs.github.io/analytics-2.0-apis/#/Reports)
+ [Segmen](https://adobedocs.github.io/analytics-2.0-apis/#/Segments)
+ [Pengguna](https://adobedocs.github.io/analytics-2.0-apis/#/Users)
+ [Log Penggunaan](https://adobedocs.github.io/analytics-2.0-apis/#/Usage%20Logs)

# Opsi koneksi Adobe Analytics
<a name="adobeanalytics-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Adobe Analytics:
+  `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Nama Objek Anda di Adobe Analytics. 
+  `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Versi Adobe Analytics Rest API yang ingin Anda gunakan. Misalnya: v2.0. 
+  `X_API_KEY`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Diperlukan untuk mengautentikasi pengembang atau aplikasi yang membuat permintaan ke API. 
+  `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. 

# Membuat akun Adobe Analytics
<a name="adobeanalytics-create-account"></a>

1. Mendaftar untuk program mitra pertukaran, dengan mengakses program [Adobe Partner](https://partners.adobe.com/exchangeprogram/creativecloud.html). 

1. Pilih **Bergabung dengan Program Pertukaran**. 

1. Daftarkan atau buat akun menggunakan alamat email perusahaan Anda. 

1. Dari kotak saran, pilih perusahaan yang sesuai yang memiliki langganan produk Adobe Analytics. 

1. Pastikan akun terdaftar dengan organisasi yang valid (dari daftar yang tersedia) yang memiliki langganan Adobe Analytics aktif. 

1. Setelah persetujuan administrasi perusahaan, aktifkan akun Anda dengan mengklik tautan di email persetujuan. 

**Memverifikasi apakah akun yang Anda buat memiliki akses ke layanan Adobe Analytics**

1. Masuk ke [Adobe Admin Console](https://adminconsole.adobe.com/).

1. Periksa nama organisasi di sudut kanan atas halaman untuk memastikan bahwa Anda telah masuk ke perusahaan yang benar.

1. Pilih **Produk** dan verifikasi apakah Adobe Analytics tersedia.
**catatan**  
Jika tidak ada organisasi yang tersedia, atau produk Adobe Analytics berwarna abu-abu atau tidak tersedia, kemungkinan akun Anda tidak terkait dengan organisasi yang tidak and/or memiliki langganan Adobe Analytics aktif. Hubungi admin sistem Anda untuk meminta akses layanan ini untuk akun Anda.

**Membuat proyek dan `OAuth2.0` kredensil**

1. Masuk ke akun Adobe Analytics tempat Anda ingin [aplikasi OAuth 2.0](https://developer.adobe.com/developer-console/docs/guides/services/services-add-api-oauth/) dibuat.

1. Pilih **Project** dan kemudian **Buat proyek baru**. 

1. Untuk menambahkan proyek, pilih **Tambahkan ke proyek**, lalu pilih **API**.

1. Pilih **Adobe Analytics API**.

1. Pilih **OAUTH sebagai otentikasi** pengguna.

1. Pilih **Web** sebagai `OAUTH` dan berikan URI pengalihan. 

   Untuk mengarahkan URI dan polanya, lihat berikut ini:
   + `OAuth 2.0`URI pengalihan default — URI pengalihan default adalah URL halaman yang akan diakses Adobe selama proses otentikasi. Sebagai contoh, `https://ap-southeast-2.console.aws.amazon.com/appflow/oauth`. 
   + OAuth 2.0 Pola URI Pengalihan — Pola URI Pengalihan adalah jalur URI (atau daftar jalur yang dipisahkan koma) yang dapat dialihkan Adobe (jika diminta) saat alur login selesai. Sebagai contoh, `https://ap-southeast-2\\.console\\.aws\\.amazon\\.com`.

1. Tambahkan cakupan berikut: 
   + `openid`
   + `read_organizations`
   + `additional_info.projectedProductContext`
   + `additional_info.job_function`

1. Pilih **Simpan kredensi**.

1. Setelah aplikasi dibuat, salin `Client Secret` nilai `Client ID` dan ke file teks.

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

Berikut ini adalah batasan untuk konektor Adobe Analytics:
+ Adobe Analytics tidak mendukung partisi berbasis bidang dan berbasis rekaman. Partisi berbasis bidang tidak didukung karena Anda tidak dapat menanyakan bidang yang Anda partisi. Partisi berbasis rekaman tidak dapat didukung karena tidak ada ketentuan untuk mendapatkan 'offset' untuk pagination.
+ Dalam `Report Top Item` entitas, parameter `startDate` dan `endDate` kueri tidak berfungsi seperti yang diharapkan. Respons tidak difilter berdasarkan parameter ini, yang menyebabkan masalah dengan filter dan aliran tambahan untuk entitas ini. 
+ Untuk`Annotation`,,`Calculated Metrics`,`Calculated Metrics Function`,`Date Ranges`,`Dimension`, `Metric``Project`, dan `Segment` entitas`Report Top Items`, parameter `locale` kueri menentukan bahasa mana yang akan digunakan untuk bagian respons yang dilokalkan dan tidak memfilter catatan. Misalnya, `locale="ja_JP"` akan menampilkan data dalam bahasa Jepang. 
+ `Report Top Item`entity — filter aktif `dateRange` dan `lookupNoneValues` bidang saat ini tidak berfungsi. 
+ `Segment`entity: dengan nilai filter`includeType=“templates”`, filter pada bidang lain tidak berfungsi. 
+ `Date Range`entity — filter di `curatedRsid` lapangan tidak berfungsi. 
+ `Metric entity`entity — filter pada bidang tersegmentable dengan nilai “false” memberikan hasil untuk nilai true dan false.

# Menghubungkan ke Adobe Marketo Engage
<a name="connecting-to-data-adobe-marketo-engage"></a>

Adobe Marketo Engage adalah platform otomatisasi pemasaran yang memungkinkan pemasar mengelola program dan kampanye multi-saluran yang dipersonalisasi kepada prospek dan pelanggan.

**Topics**
+ [AWS Glue dukungan untuk Adobe Marketo Engage](adobe-marketo-engage-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](adobe-marketo-engage-configuring-iam-permissions.md)
+ [Mengkonfigurasi Adobe Marketo Engage](adobe-marketo-engage-configuring.md)
+ [Mengkonfigurasi koneksi Adobe Marketo Engage](adobe-marketo-engage-configuring-connections.md)
+ [Membaca dari entitas Adobe Marketo Engage](adobe-marketo-engage-reading-from-entities.md)
+ [Menulis ke entitas Adobe Marketo Engage](adobe-marketo-engage-writing-to-entities.md)
+ [Opsi koneksi Adobe Marketo Engage](adobe-marketo-engage-connection-options.md)
+ [Keterbatasan dan catatan untuk konektor Adobe Marketo Engage](adobe-marketo-engage-connector-limitations.md)

# AWS Glue dukungan untuk Adobe Marketo Engage
<a name="adobe-marketo-engage-support"></a>

AWS Glue mendukung Adobe Marketo Engage sebagai berikut:

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

**Didukung sebagai target?**  
Ya. Anda dapat menggunakan pekerjaan AWS Glue ETL untuk menulis data ke Adobe Marketo.

**Versi Adobe Marketo Engage API yang didukung**  
Versi Adobe Marketo Engage API berikut didukung:
+ v1

Untuk dukungan entitas per versi tertentu, lihat Entitas yang didukung untuk Sumber.

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="adobe-marketo-engage-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 Adobe Marketo Engage
<a name="adobe-marketo-engage-configuring"></a>

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

## Persyaratan minimum
<a name="adobe-marketo-engage-configuring-min-requirements"></a>

Berikut ini adalah persyaratan minimum:
+ Anda memiliki akun Adobe Marketo Engage dengan kredensi klien.
+ Akun Adobe Marketo Engage Anda memiliki akses API dengan lisensi yang valid.

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

## Mendapatkan kredensi OAuth 2.0
<a name="adobe-marketo-engage-configuring-creating-adobe-marketo-engage-oauth2-credentials"></a>

Untuk mendapatkan kredensional API untuk melakukan panggilan terautentikasi ke instans Anda, lihat [Adobe](https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/rest-api) Marketo Rest API

# Mengkonfigurasi koneksi Adobe Marketo Engage
<a name="adobe-marketo-engage-configuring-connections"></a>

Adobe Marketo Engage mendukung jenis hibah KREDENSIAL KLIEN untuk. OAuth2
+ Jenis hibah ini dianggap OAuth 2.0 berkaki 2 karena digunakan oleh klien untuk mendapatkan token akses di luar konteks pengguna. AWS Glue dapat menggunakan ID klien dan rahasia klien untuk mengautentikasi Adobe Marketo Engage APIs yang disediakan oleh layanan khusus yang Anda tentukan.
+ Setiap layanan kustom dimiliki oleh pengguna khusus API yang memiliki serangkaian peran dan izin yang mengizinkan layanan untuk melakukan tindakan tertentu. Token akses dikaitkan dengan satu layanan kustom.
+ Jenis hibah ini menghasilkan token akses yang berumur pendek, dan dapat diperbarui dengan memanggil titik akhir identitas.
+ Untuk dokumentasi Adobe Marketo Engage publik untuk OAuth 2.0 dengan kredensi klien, lihat [Otentikasi](https://developers.adobe-marketo-engage.com/rest-api/authentication/) di Panduan Pengembang Adobe Marketo Engage.

Untuk mengonfigurasi koneksi Adobe Marketo Engage:

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

   1. 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 Adobe Marketo Engage.

   1. Berikan contoh Adobe Marketo Engage yang ingin Anda sambungkan. `INSTANCE_URL`

   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 Adobe Marketo Engage
<a name="adobe-marketo-engage-reading-from-entities"></a>

**Prasyarat**

Objek Adobe Marketo Engage yang ingin Anda baca. Anda akan memerlukan nama objek seperti lead atau aktivitas atau customobjects. Tabel berikut menunjukkan entitas yang didukung.

**Entitas yang didukung untuk sumber (sinkron)**:


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih\$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| memimpin | Ya | Ya | Tidak | Ya | Tidak | 
| aktivitas | Ya | Ya | Tidak | Ya | Tidak | 
| customobjects | Ya | Ya | Tidak | Ya | Tidak | 

**Entitas yang didukung untuk sumber (asinkron**):


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih\$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| memimpin | Ya | Tidak | Tidak | Ya | Ya | 
| aktivitas | Ya | Tidak | Tidak | Ya | Tidak | 
| customobjects | Ya | Tidak | Tidak | Ya | Ya | 

**Contoh:**

```
adobe-marketo-engage_read = glueContext.create_dynamic_frame.from_options(
    connection_type="adobe-marketo-engage",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "leads",
        "API_VERSION": "v2",
        "INSTANCE_URL": "https://539-t**-6**.mktorest.com"
    }
```

Entitas dan detail **bidang Adobe Marketo Engage**:

**Entitas dengan metadata statis**: 

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

**Entitas dengan metadata dinamis**:

Untuk entitas berikut, Adobe Marketo Engage menyediakan titik akhir untuk mengambil metadata secara dinamis, sehingga dukungan operator ditangkap pada tingkat tipe data untuk setiap entitas.

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

## 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 yang 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:

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

Contoh:

```
adobe-marketo-engage_read = glueContext.create_dynamic_frame.from_options(
    connection_type="adobe-marketo-engage",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "leads",
        "API_VERSION": "v1",
        "PARTITION_FIELD": "createdAt"
        "LOWER_BOUND": "2024-07-01T00:00:00.000Z"
        "UPPER_BOUND": "2024-07-02T00:00:00.000Z"
        "NUM_PARTITIONS": "10"
    }
```

# Menulis ke entitas Adobe Marketo Engage
<a name="adobe-marketo-engage-writing-to-entities"></a>

**Prasyarat**
+ Objek Adobe Marketo yang ingin Anda tulis. Anda akan membutuhkan nama objek seperti `leads` atau`customobjects`.
+ Konektor Adobe Marketo mendukung tiga operasi penulisan:
  + INSERT
  + MENEGAKKAN
  + UPDATE
+ Untuk `UPSERT` dan `UPDATE` menulis operasi, Anda harus memberikan `ID_FIELD_NAMES` opsi untuk menentukan bidang ID untuk catatan. Saat bekerja dengan `leads` entitas, gunakan `email` `ID_FIELD_NAMES` untuk `UPSERT` operasi dan `id` untuk `UPDATE` operasi. Untuk `customobjects` entitas, gunakan `marketoGUID` `ID_FIELD_NAMES` untuk keduanya `UPDATE` dan `UPSERT` operasi.

**Entitas yang didukung untuk Destination (Synchronous)**


| Nama entitas | Akan didukung sebagai Konektor Tujuan | Dapat Dimasukkan | Dapat Diperbarui | Dapat Ditegaskan | 
| --- | --- | --- | --- | --- | 
| memimpin | Ya | Ya (Massal) | Ya (Massal) | Ya (Massal) | 
| customobjects | Ya | Ya (Massal) | Ya (Massal) | Ya (Massal) | 

**Contoh:**

**Operasi INSERT:**

```
marketo_write = glueContext.write_dynamic_frame.from_options(
    frame=frameToWrite,
    connection_type="marketo",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "leads",
        "API_VERSION": "v1",
        "WRITE_OPERATION": "INSERT"
    }
```

**Operasi UPDATE:**

```
marketo_write = glueContext.write_dynamic_frame.from_options(
    frame=frameToWrite,
    connection_type="marketo",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "leads",
        "API_VERSION": "v1",
        "WRITE_OPERATION": "UPDATE",
        "ID_FIELD_NAMES": "id"
    }
```

**catatan**  
Untuk `customobjects` entitas `leads` dan, Adobe Marketo menyediakan titik akhir untuk mengambil metadata secara dinamis sehingga bidang yang dapat ditulis diidentifikasi dari respons API Marketo.

# Opsi koneksi Adobe Marketo Engage
<a name="adobe-marketo-engage-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Adobe Marketo Engage:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama objek Anda di Adobe Marketo Engage.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Adobe Marketo Engage Rest API versi yang ingin Anda gunakan. Misalnya: v1.
+ `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.
+ `TRANSFER_MODE`(String) - Default: SINKRONISASI. Digunakan untuk membaca asinkron.
+ `WRITE_OPERATION`(String) - Default: SISIPKAN. Digunakan untuk menulis. Nilai harus INSERT, UPDATE, UPSERT.
+ `ID_FIELD_NAMES`(String) - Default: null. Diperlukan untuk UPDATE dan UPSERT.

# Keterbatasan dan catatan untuk konektor Adobe Marketo Engage
<a name="adobe-marketo-engage-connector-limitations"></a>

Berikut ini adalah batasan atau catatan untuk konektor Adobe Marketo Engage:
+ 'SincedateTime' dan 'activityTypeId' adalah parameter filter wajib untuk entitas Aktivitas Sinkronisasi.
+ Langganan dialokasikan 50.000 panggilan API per hari (yang disetel ulang setiap hari pada pukul 12:00 CST). Kapasitas harian tambahan dapat dibeli sebagai bagian dari langganan Adobe Marketo Engage. Untuk referensi, lihat [Adobe Marketo Rest API](https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/rest-api).
+ Rentang waktu maksimum untuk filter rentang tanggal (`createdAt`atau`updatedAt`) adalah 31 hari. Untuk referensi, lihat [Ekstrak Massal - Pengembang Marketo](https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/bulk-extract/bulk-extract).
+ Langganan dialokasikan maksimal 10 pekerjaan ekstrak massal dalam antrian pada waktu tertentu. Untuk referensi, lihat [Ekstrak Massal - Pengembang Marketo](https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/bulk-extract/bulk-extract).
+ Secara default, pekerjaan ekstrak dibatasi hingga 500 MB per hari (yang disetel ulang setiap hari pada pukul 12:00 CST). Kapasitas harian tambahan dapat dibeli sebagai bagian dari langganan Adobe Marketo Engage. Untuk referensi, lihat [Ekstrak Massal - Pengembang Marketo](https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/bulk-extract/bulk-extract).
+ Jumlah maksimum pekerjaan ekspor bersamaan adalah 2. Untuk referensi, lihat [Ekstrak Massal - Pengembang Marketo](https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/bulk-extract/bulk-extract).
+ Jumlah maksimum pekerjaan ekspor antrian (termasuk pekerjaan yang saat ini mengekspor) adalah 10. Untuk referensi, lihat [Ekstrak Massal - Pengembang Marketo](https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/bulk-extract/bulk-extract).
+ Ukuran file maksimum yang diizinkan adalah 1 GB untuk diekstrak dari pekerjaan Massal.
+ Setelah pekerjaan asinkron dibuat, periode penyimpanan file akan menjadi 7 hari sebelum kedaluwarsa. Untuk referensi, lihat [Ekstrak Massal - Pengembang Marketo](https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/bulk-extract/bulk-extract).
+ `createdAt`atau `updatedAt` merupakan parameter filter wajib untuk entitas Async Leads.
+ `createdAt`adalah parameter filter wajib untuk entitas Aktivitas Async.
+ `updatedAt`adalah parameter filter wajib untuk entitas Objek Kustom Async.
+ Saat menggunakan konektor AWS Glue SaaS, pengguna tidak dapat mengidentifikasi catatan spesifik mana yang gagal selama operasi penulisan ke platform SaaS tujuan jika terjadi kegagalan sebagian.
+ Saat menggunakan operasi tulis Sinkronisasi, bidang apa pun dengan nilai nol dalam file input akan secara otomatis dijatuhkan dan tidak dikirim ke platform SaaS.
+ Anda dapat membuat atau memperbarui hingga 300 catatan dalam satu batch untuk Sync write.

Untuk informasi selengkapnya, lihat [Adobe Marketo Engage Integration Best Practices](https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/marketo-integration-best-practices) dan [Bulk](https://https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/bulk-extract/bulk-activity-extract) Extract.

# Menghubungkan ke Amazon Redshift di AWS Glue Studio
<a name="connecting-to-data-redshift"></a>

**catatan**  
 Anda dapat menggunakan Spark AWS Glue untuk membaca dan menulis ke tabel di Amazon Redshift database di luar. AWS Glue Studio Untuk mengonfigurasi Amazon Redshift AWS Glue pekerjaan secara terprogram, lihat[Koneksi Redshift](aws-glue-programming-etl-connect-redshift-home.md). 

 AWS Gluemenyediakan dukungan bawaan untuk Amazon Redshift. AWS Glue Studiomenyediakan antarmuka visual untuk terhubung, membuat pekerjaan integrasi data Amazon Redshift, dan menjalankannya pada runtime Spark AWS Glue Studio tanpa server. 

**Topics**
+ [Membuat Amazon Redshift koneksi](creating-redshift-connection.md)
+ [Membuat simpul Amazon Redshift sumber](creating-redshift-source-node.md)
+ [Membuat node Amazon Redshift target](creating-redshift-target-node.md)
+ [Opsi lanjutan](creating-redshift-connection-advanced-options.md)

# Membuat Amazon Redshift koneksi
<a name="creating-redshift-connection"></a>

## Izin diperlukan
<a name="creating-redshift-connection-permissions"></a>

 Izin tambahan diperlukan untuk menggunakan Amazon Redshift cluster dan lingkungan tanpa Amazon Redshift server. Untuk informasi selengkapnya tentang cara menambahkan izin ke pekerjaan ETL, lihat [Meninjau izin IAM yang diperlukan](https://docs.aws.amazon.com/glue/latest/ug/setting-up.html#getting-started-min-privs-job) untuk pekerjaan ETL. 
+  pergeseran merah: DescribeClusters 
+  redshift-tanpa server: ListWorkgroups 
+  redshift-tanpa server: ListNamespaces 

## Ikhtisar
<a name="w2aac25c27c13c11b5"></a>

 Saat menambahkan Amazon Redshift koneksi, Anda dapat memilih Amazon Redshift koneksi yang ada atau membuat koneksi baru saat menambahkan **sumber Data - Node Redshift masuk**. AWS Glue Studio 

 AWS Gluemendukung Amazon Redshift cluster dan lingkungan tanpa Amazon Redshift server. Saat Anda membuat koneksi, lingkungan Amazon Redshift tanpa server menampilkan label **tanpa server** di sebelah opsi koneksi. 

 Untuk informasi selengkapnya tentang cara membuat Amazon Redshift sambungan, lihat [Memindahkan data ke dan dari Amazon Redshift](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-redshift.html#aws-glue-programming-etl-redshift-using). 

# Membuat simpul Amazon Redshift sumber
<a name="creating-redshift-source-node"></a>

## Izin diperlukan
<a name="creating-redshift-source-node-permissions"></a>

 AWS Glue Studio pekerjaan yang menggunakan sumber Amazon Redshift data memerlukan izin tambahan. Untuk informasi selengkapnya tentang cara menambahkan izin ke pekerjaan ETL, lihat [Meninjau izin IAM yang diperlukan](https://docs.aws.amazon.com/glue/latest/ug/setting-up.html#getting-started-min-privs-job) untuk pekerjaan ETL. 

 Izin berikut diperlukan untuk menggunakan Amazon Redshift koneksi. 
+  data pergeseran merah: ListSchemas 
+  data pergeseran merah: ListTables 
+  data pergeseran merah: DescribeTable 
+  data pergeseran merah: ExecuteStatement 
+  data pergeseran merah: DescribeStatement 
+  data pergeseran merah: GetStatementResult 

## Menambahkan sumber Amazon Redshift data
<a name="creating-redshift-source-node-add"></a>

**Untuk menambahkan **Sumber Data — Amazon Redshift** node:**

1.  Pilih jenis Amazon Redshift akses: 
   +  Koneksi data langsung (disarankan) - pilih opsi ini jika Anda ingin mengakses Amazon Redshift data Anda secara langsung. Ini adalah opsi yang disarankan dan juga default. 
   +  Data Catalog tables— pilih opsi ini jika Anda memiliki tabel Katalog Data yang ingin Anda gunakan. 

1.  Jika Anda memilih Koneksi data langsung, pilih koneksi untuk sumber Amazon Redshift data Anda. Ini mengasumsikan bahwa koneksi sudah ada dan Anda dapat memilih dari koneksi yang ada. Jika Anda perlu membuat koneksi, pilih **Buat koneksi Redshift**. Untuk informasi selengkapnya, lihat [Ikhtisar penggunaan konektor dan koneksi](https://docs.aws.amazon.com/glue/latest/ug/connectors-chapter.html#using-connectors-overview). 

    Setelah Anda memilih koneksi, Anda dapat melihat properti koneksi dengan mengklik **Lihat properti**. Informasi tentang koneksi terlihat, termasuk URL, grup keamanan, subnet, zona ketersediaan, deskripsi, dan stempel waktu yang dibuat (UTC) dan terakhir diperbarui (UTC). 

1.  Pilih opsi Amazon Redshift sumber: 
   +  **Pilih satu tabel** — ini adalah tabel yang berisi data yang ingin Anda akses dari satu Amazon Redshift tabel. 
   +  **Masukkan kueri kustom** — memungkinkan Anda mengakses kumpulan data dari beberapa Amazon Redshift tabel berdasarkan kueri kustom Anda. 

1.  Jika Anda memilih satu tabel, pilih Amazon Redshift skema. Daftar skema yang tersedia untuk dipilih ditentukan oleh tabel yang dipilih. 

    Atau, pilih **Masukkan kueri khusus**. Pilih opsi ini untuk mengakses dataset kustom dari beberapa Amazon Redshift tabel. Saat Anda memilih opsi ini, masukkan Amazon Redshift kueri. 

    Saat menghubungkan ke lingkungan Amazon Redshift tanpa server, tambahkan izin berikut ke kueri kustom: 

   ```
               GRANT SELECT ON ALL TABLES IN <schema> TO PUBLIC
   ```

    Anda dapat memilih **skema Infer** untuk membaca skema berdasarkan kueri yang Anda masukkan. Anda juga dapat memilih **editor kueri Open Redshift untuk memasukkan kueri**. Amazon Redshift Untuk informasi selengkapnya, lihat [Menanyakan database menggunakan editor kueri](https://docs.aws.amazon.com/redshift/latest/mgmt/query-editor.html). 

1.  Di **Performa dan keamanan**, pilih direktori pementasan Amazon S3 dan peran IAM. 
   +  **Direktori pementasan Amazon S3** — pilih lokasi Amazon S3 untuk data pementasan sementara. 
   +  Peran **IAM — pilih peran** IAM yang dapat menulis ke lokasi Amazon S3 yang Anda pilih. 

1.  Dalam **parameter Custom Redshift - opsional**, masukkan parameter dan nilai. 

# Membuat node Amazon Redshift target
<a name="creating-redshift-target-node"></a>

## Izin diperlukan
<a name="creating-redshift-target-node-permissions"></a>

 AWS Glue Studio pekerjaan menggunakan target Amazon Redshift data memerlukan izin tambahan. Untuk informasi selengkapnya tentang cara menambahkan izin ke pekerjaan ETL, lihat [Meninjau izin IAM yang diperlukan](https://docs.aws.amazon.com/glue/latest/ug/setting-up.html#getting-started-min-privs-job) untuk pekerjaan ETL. 

 Izin berikut diperlukan untuk menggunakan Amazon Redshift koneksi. 
+  data pergeseran merah: ListSchemas 
+  data pergeseran merah: ListTables 

## Menambahkan node Amazon Redshift target
<a name="w2aac25c27c13c15b5"></a>

**Untuk membuat node Amazon Redshift target:**

1.  Pilih Amazon Redshift tabel yang ada sebagai target, atau masukkan nama tabel baru. 

1.  Saat Anda menggunakan **target Data - Node target Redshift**, Anda dapat memilih dari opsi berikut: 
   +  **APPEND** - Jika tabel sudah ada, dump semua data baru ke dalam tabel sebagai insert. Jika tabel tidak ada, buat dan kemudian masukkan semua data baru. 

      Selain itu, centang kotak jika Anda ingin memperbarui (UPSERT) catatan yang ada di tabel target. Tabel harus ada terlebih dahulu, jika tidak operasi akan gagal. 
   +  **MERGE** - AWS Glue akan memperbarui atau menambahkan data ke tabel target Anda berdasarkan kondisi yang Anda tentukan. 
**catatan**  
 Untuk menggunakan tindakan penggabunganAWS Glue, Anda harus mengaktifkan fungsionalitas Amazon Redshift gabungan. Untuk petunjuk tentang cara mengaktifkan penggabungan untuk Amazon Redshift instans Anda, lihat [MENGGABUNGKAN (pratinjau)](https://docs.aws.amazon.com/redshift/latest/dg/r_MERGE.html). 

      Pilih opsi: 
     + **Pilih kunci dan tindakan sederhana** — pilih kolom yang akan digunakan sebagai kunci yang cocok antara data sumber dan kumpulan data target Anda. 

       Tentukan opsi berikut jika dicocokkan:
       + Perbarui catatan dalam kumpulan data target Anda dengan data dari sumber.
       + Hapus catatan dalam kumpulan data target Anda.

       Tentukan opsi berikut jika tidak cocok:
       + Masukkan data sumber sebagai baris baru ke dalam kumpulan data target Anda.
       + Jangan lakukan apa-apa.
     + **Masukkan pernyataan MERGE kustom** — Anda kemudian dapat memilih pernyataan **Validasi Gabungan untuk memverifikasi bahwa pernyataan** tersebut valid atau tidak valid.
   +  **TRUNCATE** — Jika tabel sudah ada, potong data tabel dengan terlebih dahulu membersihkan isi tabel target. Jika truncate berhasil, maka masukkan semua data. Jika tabel tidak ada, buat tabel dan masukkan semua data. Jika truncate tidak berhasil, operasi akan gagal. 
   +  **DROP** — Jika tabel sudah ada, hapus metadata tabel dan data. Jika penghapusan berhasil, maka masukkan semua data. Jika tabel tidak ada, buat tabel dan masukkan semua data. Jika drop tidak berhasil, operasi akan gagal. 
   +  **CREATE** - Buat tabel baru dengan nama default. Jika nama tabel sudah ada, buat tabel baru dengan nama postfix dari nama `job_datetime` untuk keunikan. Ini akan memasukkan semua data ke dalam tabel baru. Jika tabel ada, nama tabel akhir akan memiliki postfix yang ditambahkan. Jika tabel tidak ada, tabel akan dibuat. Dalam kedua kasus, tabel baru akan dibuat. 

# Opsi lanjutan
<a name="creating-redshift-connection-advanced-options"></a>

 Lihat [Menggunakan konektor Amazon Redshift Spark pada AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-redshift.html#aws-glue-programming-etl-redshift-using). 

# Menghubungkan ke Asana
<a name="connecting-to-asana"></a>

Asana adalah solusi kolaborasi tim berbasis cloud yang membantu tim mengatur, merencanakan, dan menyelesaikan tugas dan proyek. Jika Anda pengguna Asana, akun Anda berisi data tentang ruang kerja, proyek, tugas, tim, dan lainnya. Anda dapat mentransfer data dari Asana ke AWS layanan tertentu atau aplikasi lain yang didukung.

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

# AWS Glue dukungan untuk Asana
<a name="asana-support"></a>

AWS Glue mendukung Asana sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi API Asana yang didukung**  
 1.0 

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="asana-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 Asana
<a name="asana-configuring"></a>

Sebelum Anda dapat menggunakan AWS Glue untuk mentransfer dari Asana, Anda harus memenuhi persyaratan berikut:

## Persyaratan minimum
<a name="asana-configuring-min-requirements"></a>
+ Anda memiliki akun Asana dengan email dan kata sandi. Untuk informasi selengkapnya tentang membuat akun, lihat [Membuat akun Asana](asana-create-account.md). 
+ Anda harus memiliki AWS Akun yang dibuat dengan akses layanan ke AWS Glue. 
+ Pastikan Anda telah membuat salah satu sumber daya berikut di akun Asana Anda: 
  + Aplikasi Pengembang yang mendukung `OAuth 2.0` otentikasi. Untuk instruksi instuksi lainnya, lihat [OAuth](https://developers.asana.com/docs/oauth)di dokumentasi Asana Developers. Alternatif lainnya, lihat [Membuat akun Asana](asana-create-account.md). 
  + Token akses pribadi. Untuk informasi selengkapnya, lihat Token akses pribadi [https://developers.asana.com/docs/personal-access-token](https://developers.asana.com/docs/personal-access-token) di dokumentasi Asana Developers. 

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

# Mengkonfigurasi koneksi Asana
<a name="asana-configuring-connections"></a>

Asana mendukung jenis `AUTHORIZATION_CODE` hibah untuk`OAuth2`. 

Jenis hibah ini dianggap “berkaki tiga” `OAuth` karena bergantung pada pengalihan pengguna ke server otorisasi pihak ketiga untuk mengautentikasi pengguna. Pengguna dapat memilih untuk membuat aplikasi terhubung mereka sendiri di Asana dan memberikan ID klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue konsol. Dalam skenario ini, mereka masih akan diarahkan ke Asana untuk masuk dan memberi wewenang AWS Glue untuk mengakses sumber daya mereka. 

Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses berumur pendek, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran. 

Untuk dokumentasi Asana publik tentang membuat aplikasi yang terhubung untuk `AUTHORIZATION_CODE OAuth` aliran, lihat [Asana APIs](https://developers.asana.com/docs/oauth). 

Untuk mengkonfigurasi koneksi Asana:

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 kunci `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` sebagai. 
   + 
**catatan**  
Anda harus membuat rahasia untuk 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 **jenis Koneksi**, pilih Asana.

   1. Menyediakan lingkungan Asana.

   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`. 

# Membaca dari entitas Asana
<a name="asana-reading-from-entities"></a>

 **Prasyarat** 

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

 **Entitas yang didukung untuk sumber** 


| Entitas | Dapat disaring | Mendukung Batas | Mendukung Order By | Mendukung Pilih \$1 | Mendukung Partisi | 
| --- | --- | --- | --- | --- | --- | 
|  Ruang kerja  | Tidak | Ya | Tidak | Ya | Tidak | 
| Tag | Tidak | Ya | Tidak | Ya | Tidak | 
| Pengguna | Tidak | Ya | Tidak | Ya | Tidak | 
|  Portofolio  | Tidak | Ya | Tidak | Ya | Tidak | 
| Tim | Tidak | Ya | Tidak | Ya | Tidak | 
| Proyek | Ya | Ya | Tidak | Ya | Tidak | 
| Bagian | Tidak | Ya | Tidak | Ya | Tidak | 
| Tugas  | Ya | Tidak | Tidak | Ya | Ya | 
| Tujuan | Ya | Ya | Tidak | Ya | Tidak | 
|  AuditLogEvent  | Ya | Ya | Tidak | Ya | Tidak | 
|  Pembaruan Status  | Ya | Ya | Tidak | Ya | Tidak | 
|  Bidang Kustom  | Tidak | Ya | Tidak | Ya | Tidak | 
|  Ringkasan Proyek  | Ya | Tidak | Tidak | Ya | Ya | 

 **Contoh** 

```
read_read = glueContext.create_dynamic_frame.from_options(
    connection_type="Asana",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "task/workspace:xxxx",
        "API_VERSION": "1.0",
        "PARTITION_FIELD": "created_at",
        "LOWER_BOUND": "2024-02-05T14:09:30.115Z",
        "UPPER_BOUND": "2024-06-07T13:30:00.134Z",
        "NUM_PARTITIONS": "3"
    }
```

 **Entitas Asana dan detail lapangan** 
+ [Ruang kerja](https://developers.asana.com/docs/workspaces)
+ [Tag](https://developers.asana.com/docs/tags)
+ [Pengguna](https://developers.asana.com/docs/users)
+ [Portofolio](https://developers.asana.com/docs/portfolios)
+ [Tim](https://developers.asana.com/docs/teams)
+ [Proyek](https://developers.asana.com/docs/get-all-projects-in-a-workspace)
+ [Bagian](https://developers.asana.com/docs/get-sections-in-a-project)
+ [Tugas](https://developers.asana.com/docs/search-tasks-in-a-workspace) 
+ [Tujuan](https://developers.asana.com/docs/get-goals)
+ [AuditLogEvent](https://developers.asana.com/docs/audit-log-api)
+ [Pembaruan Status](https://developers.asana.com/reference/status-updates)
+ [Bidang Kustom](https://developers.asana.com/reference/custom-fields)
+ [Ringkasan Proyek](https://developers.asana.com/reference/project-briefs)

 **Mempartisi kueri** 

Opsi percikan tambahan`PARTITION_FIELD`,, `LOWER_BOUND``UPPER_BOUND`, `NUM_PARTITIONS` dapat diberikan 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 percikan secara bersamaan. 
+ `PARTITION_FIELD`: nama bidang yang akan digunakan untuk mempartisi kueri. 
+ `LOWER_BOUND`: nilai batas bawah inklusif dari bidang partisi yang dipilih. 

  Untuk tanggal, kami menerima format tanggal Spark yang digunakan dalam kueri Spark SQL. Contoh nilai yang valid:`2024-06-07T13:30:00.134Z`. 
+ `UPPER_BOUND`: nilai batas atas eksklusif dari bidang partisi yang dipilih. 
+ `NUM_PARTITIONS`: jumlah partisi. 

 Detail dukungan bidang partisi berdasarkan entitas ditangkap dalam tabel berikut. 


| Nama Entitas | Bidang Partisi | Tipe data | 
| --- | --- | --- | 
| Tugas |  dibuat\$1at  | DateTime | 
| Tugas |  dimodifikasi\$1at  | DateTime | 

 **Contoh** 

```
read_read = glueContext.create_dynamic_frame.from_options(
    connection_type="Asana",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "task/workspace:xxxx",
        "API_VERSION": "1.0",
        "PARTITION_FIELD": "created_at",
        "LOWER_BOUND": "2024-02-05T14:09:30.115Z",
        "UPPER_BOUND": "2024-06-07T13:30:00.134Z",
        "NUM_PARTITIONS": "3"
    }
```

# Opsi koneksi Asana
<a name="asana-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Asana:
+  `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Nama Objek Anda di Asana. 
+  `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Versi API Asana Rest yang ingin Anda gunakan. Misalnya: 1.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. 

# Membuat akun Asana
<a name="asana-create-account"></a>

1. Mendaftar untuk [Akun Asana](https://asana.com/create-account) dan pilih **Daftar**.

1. Setelah masuk, Anda akan diarahkan ke halaman [Pengaturan Akun](https://app.asana.com/0/account_setup). Selesaikan langkah-langkah berikut:
   + Tinjau formulir pengaturan akun.
   + Isi semua detail yang relevan untuk membuat akun Asana Anda.
   + Periksa ulang informasi untuk akurasi.

1. Pilih **Buat Akun** atau **Kirim** (teks tombol yang tepat mungkin berbeda) untuk menyelesaikan pengaturan akun Anda.

**Membuat Aplikasi di Asana untuk `OAuth2.0`**

1. Masuk ke akun Asana menggunakan [Kredenal Pelanggan Asana](https://app.asana.com/-/login) Anda. 

1. Pilih ikon profil pengguna Anda di sudut kanan atas dan pilih **Pengaturan Saya** dari menu tarik-turun.

1. Pilih tab **Aplikasi** dan kemudian pilih **Kelola Aplikasi Pengembang**.

1. Pilih **Buat aplikasi baru** dan masukkan detail yang relevan. 

1. Pilih **Buat Aplikasi**.

1. Di halaman **Aplikasi Saya**: 

   1. Pilih **OAuth**dan di bagian **Kredensial Aplikasi**, catat ID Klien dan Rahasia Klien Anda.

   1. Di URLs bagian **Redirect**, tambahkan URL pengalihan yang diperlukan.
**catatan**  
Masukkan URI Redirect menggunakan format ini:`https://{aws-region-code}.console.aws.amazon.com/gluestudio/oauth`. Contoh: Untuk AS Timur (Virginia N.), gunakan: `https://us-east-1.console.aws.amazon.com/gluestudio/oauth`

**Membuat Aplikasi di Asana untuk `PAT` Token**

1. Masuk ke akun Asana menggunakan [Kredenal Pelanggan Asana](https://app.asana.com/-/login) Anda. 

1. Pilih ikon profil pengguna Anda di sudut kanan atas dan pilih **Pengaturan Profil Saya** dari menu tarik-turun.

1. Pilih tab **Aplikasi** dan kemudian pilih **Akun layanan**.

1. Pilih **Buat aplikasi baru** dan masukkan detail yang relevan. 

1. Pilih **Tambahkan akun layanan**.

1. Halaman berikutnya menampilkan token Anda, menyalin token Anda dan menyimpannya dengan aman. 
**penting**  
Token ini hanya akan ditampilkan sekali. Pastikan Anda menyalinnya dan menyimpannya dengan aman. 

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

Berikut ini adalah batasan untuk konektor Asana:
+ Akun Layanan di Domain Perusahaan hanya dapat mengakses titik akhir API log audit. Otentikasi dengan token akses pribadi Akun Layanan diperlukan untuk mengakses titik akhir ini.
+ Entitas Sasaran hanya dapat diakses untuk akun pengguna dengan paket Premium atau lebih tinggi.
+ `Audit Log Event Entity`— Di konektor, `start_at` dan `end_at` bidang digabungkan menjadi satu bidang “start\$1end\$1at” untuk mendukung penyaringan dan transfer tambahan.
+ Partisi tidak dapat didukung untuk `Date` bidang, meskipun mendukung operator greater-than-or-equal -to dan less-than-or-equal -to. Skenario: Membuat pekerjaan dengan `partitionField` as `due_on` (datatype: date), `lowerBound` as, as`2019-09-14`, dan `upperBound` as`2019-09-16`. `numPartition` `2` Bagian filter dari URL endpoint dibuat sebagai berikut:
  + partisi1: due\$1on.before=2019-09-14&due\$1on.after=2019-09-14
  + partisi2: due\$1on.before=2019-09-15 & due\$1on.after=2019-09-15 Keluaran:
  + Di partisi1, kami mendapatkan data dengan due\$1date sebagai 2019-09-14 dan 2019-09-15
  + Di partisi2, kami mendapatkan data yang sama dengan due\$1date seperti 2019-09-15 (yang ada di partisi1) bersama dengan data lain, menyebabkan duplikasi data.
+ Pemfilteran dan partisi tidak dapat didukung pada bidang yang sama karena kesalahan permintaan buruk dilemparkan dari ujung SaaS.
+ Entitas Tugas membutuhkan minimal 1 bidang dalam kriteria filter. Ada batasan dengan Asana di mana pagination tidak diidentifikasi tanpa menyortir catatan berdasarkan bidang berbasis waktu. Oleh karena itu, bidang created\$1at digunakan bersama dengan pagination untuk membedakan kumpulan catatan berikutnya. Bidang Created\$1AT ditandai sebagai wajib di filter, dengan nilai default 2000-01-01T 00:00:00 Z jika tidak disediakan. Untuk informasi selengkapnya tentang Pagination, lihat [Tugas di ruang kerja](https://developers.asana.com/reference/searchtasksforworkspace).

# Menghubungkan ke Azure Cosmos DB di AWS Glue Studio
<a name="connecting-to-data-azurecosmos"></a>

 AWS Gluemenyediakan dukungan bawaan untuk Azure Cosmos DB. AWS Glue Studiomenyediakan antarmuka visual untuk terhubung ke Azure Cosmos DB untuk NoSQL, pekerjaan integrasi data penulis, dan menjalankannya pada runtime Spark tanpa server. AWS Glue Studio 

**Topics**
+ [Membuat koneksi Azure Cosmos DB](creating-azurecosmos-connection.md)
+ [Membuat simpul sumber Azure Cosmos DB](creating-azurecosmos-source-node.md)
+ [Membuat node target Azure Cosmos DB](creating-azurecosmos-target-node.md)
+ [Opsi lanjutan](#creating-azurecosmos-connection-advanced-options)

# Membuat koneksi Azure Cosmos DB
<a name="creating-azurecosmos-connection"></a>

**Prasyarat**:
+ Di Azure, Anda perlu mengidentifikasi atau membuat Kunci DB Azure Cosmos untuk digunakan oleh,. AWS Glue`cosmosKey` Untuk informasi selengkapnya, lihat [Akses aman ke data di Azure Cosmos DB](https://learn.microsoft.com/en-us/azure/cosmos-db/secure-access-to-data?tabs=using-primary-key) di dokumentasi Azure.

**Untuk mengonfigurasi koneksi ke Azure Cosmos DB:**

1. Di AWS Secrets Manager, buat rahasia menggunakan Azure Cosmos DB Key Anda. Untuk membuat rahasia di Secrets Manager, ikuti tutorial yang tersedia di [Buat AWS Secrets Manager rahasia](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret.html) dalam AWS Secrets Manager dokumentasi. Setelah membuat rahasia, simpan nama Rahasia, *secretName* untuk langkah selanjutnya. 
   + Saat memilih **pasangan kunci/nilai**, buat pasangan untuk kunci `spark.cosmos.accountKey` dengan nilainya. *cosmosKey*

1. Di AWS Glue konsol, buat koneksi dengan mengikuti langkah-langkah di[Menambahkan AWS Glue koneksi](console-connections.md). Setelah membuat koneksi, pertahankan nama koneksi,*connectionName*, untuk penggunaan masa depan di AWS Glue. 
   + Saat memilih **jenis Koneksi**, pilih Azure Cosmos DB.
   + Saat memilih **AWS Rahasia**, berikan*secretName*.

# Membuat simpul sumber Azure Cosmos DB
<a name="creating-azurecosmos-source-node"></a>

## Prasyarat yang dibutuhkan
<a name="creating-azurecosmos-source-node-prerequisites"></a>
+ Koneksi AWS Glue Azure Cosmos DB, dikonfigurasi dengan AWS Secrets Manager rahasia, seperti yang dijelaskan di bagian sebelumnya,. [Membuat koneksi Azure Cosmos DB](creating-azurecosmos-connection.md)
+ Izin yang sesuai pada pekerjaan Anda untuk membaca rahasia yang digunakan oleh koneksi.
+ Azure Cosmos DB untuk wadah NoSQL yang ingin Anda baca. Anda akan memerlukan informasi identifikasi untuk wadah.

  Sebuah Azure Cosmos untuk wadah NoSQL diidentifikasi oleh database dan wadahnya. Anda harus memberikan nama database*cosmosDBName*, dan wadah*cosmosContainerName*, saat menghubungkan ke Azure Cosmos untuk NoSQL API.

## Menambahkan sumber data Azure Cosmos DB
<a name="creating-azurecosmos-source-node-add"></a>

**Untuk menambahkan **sumber Data — Azure Cosmos DB node**:**

1.  Pilih koneksi untuk sumber data Azure Cosmos DB Anda. Karena Anda telah membuatnya, itu harus tersedia di dropdown. Jika Anda perlu membuat koneksi, pilih **Buat koneksi Azure Cosmos DB**. Untuk informasi lebih lanjut lihat bagian sebelumnya,[Membuat koneksi Azure Cosmos DB](creating-azurecosmos-connection.md). 

    Setelah Anda memilih koneksi, Anda dapat melihat properti koneksi dengan mengklik **Lihat properti**. 

1. Pilih **Nama Database Cosmos DB** — berikan nama database yang ingin Anda baca. *cosmosDBName*

1. Pilih **Azure Cosmos DB Container** — berikan nama wadah yang ingin Anda baca,. *cosmosContainerName*

1. Secara opsional, pilih **Azure Cosmos DB Custom Query** — berikan kueri SQL SELECT untuk mengambil informasi spesifik dari Azure Cosmos DB.

1.  Di **properti Custom Azure Cosmos**, masukkan parameter dan nilai sesuai kebutuhan. 

# Membuat node target Azure Cosmos DB
<a name="creating-azurecosmos-target-node"></a>

## Prasyarat yang dibutuhkan
<a name="creating-azurecosmos-target-node-prerequisites"></a>
+ Koneksi AWS Glue Azure Cosmos DB, dikonfigurasi dengan AWS Secrets Manager rahasia, seperti yang dijelaskan di bagian sebelumnya,. [Membuat koneksi Azure Cosmos DB](creating-azurecosmos-connection.md)
+ Izin yang sesuai pada pekerjaan Anda untuk membaca rahasia yang digunakan oleh koneksi.
+ Tabel Azure Cosmos DB yang ingin Anda tulis. Anda akan memerlukan informasi identifikasi untuk wadah. **Anda harus membuat wadah sebelum memanggil metode koneksi.**

  Sebuah Azure Cosmos untuk wadah NoSQL diidentifikasi oleh database dan wadahnya. Anda harus memberikan nama database*cosmosDBName*, dan wadah*cosmosContainerName*, saat menghubungkan ke Azure Cosmos untuk NoSQL API.

## Menambahkan target data Azure Cosmos DB
<a name="creating-azurecosmos-target-node-add"></a>

**Untuk menambahkan **target Data — Azure Cosmos DB node**:**

1.  Pilih koneksi untuk sumber data Azure Cosmos DB Anda. Karena Anda telah membuatnya, itu harus tersedia di dropdown. Jika Anda perlu membuat koneksi, pilih **Buat koneksi Azure Cosmos DB**. Untuk informasi lebih lanjut lihat bagian sebelumnya,[Membuat koneksi Azure Cosmos DB](creating-azurecosmos-connection.md). 

    Setelah Anda memilih koneksi, Anda dapat melihat properti koneksi dengan mengklik **Lihat properti**. 

1. Pilih **Nama Database Cosmos DB** — berikan nama database yang ingin Anda baca,*cosmosDBName*.

1. Pilih **Azure Cosmos DB Container** — berikan nama wadah yang ingin Anda baca,. *cosmosContainerName*

1.  Di **properti Custom Azure Cosmos**, masukkan parameter dan nilai sesuai kebutuhan. 

## Opsi lanjutan
<a name="creating-azurecosmos-connection-advanced-options"></a>

Anda dapat memberikan opsi lanjutan saat membuat node Azure Cosmos DB. Opsi ini sama dengan yang tersedia saat pemrograman AWS Glue untuk skrip Spark.

Lihat [Koneksi Azure Cosmos DB](aws-glue-programming-etl-connect-azurecosmos-home.md). 

# Menghubungkan ke Azure SQL di AWS Glue Studio
<a name="connecting-to-data-azuresql"></a>

 AWS Gluemenyediakan dukungan bawaan untuk Azure SQL. AWS Glue Studiomenyediakan antarmuka visual untuk terhubung ke Azure SQL, pekerjaan integrasi data penulis, dan menjalankannya pada runtime Spark tanpa AWS Glue Studio server. 

**Topics**
+ [Membuat koneksi Azure SQL](creating-azuresql-connection.md)
+ [Membuat node sumber Azure SQL](creating-azuresql-source-node.md)
+ [Membuat node target Azure SQL](creating-azuresql-target-node.md)
+ [Opsi lanjutan](#creating-azuresql-connection-advanced-options)

# Membuat koneksi Azure SQL
<a name="creating-azuresql-connection"></a>

Untuk terhubung ke Azure SQL dari AWS Glue, Anda harus membuat dan menyimpan kredenal Azure SQL Anda secara AWS Secrets Manager rahasia, lalu mengaitkan rahasia itu dengan koneksi Azure SQL. AWS Glue 

**Untuk mengkonfigurasi koneksi ke Azure SQL:**

1. Di AWS Secrets Manager, buat rahasia menggunakan kredenal Azure SQL Anda. Untuk membuat rahasia di Secrets Manager, ikuti tutorial yang tersedia di [Buat AWS Secrets Manager rahasia](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret.html) dalam AWS Secrets Manager dokumentasi. Setelah membuat rahasia, simpan nama Rahasia, *secretName* untuk langkah selanjutnya. 
   + Saat memilih **pasangan kunci/nilai**, buat pasangan untuk kunci `user` dengan nilainya. *azuresqlUsername*
   + Saat memilih **pasangan kunci/nilai**, buat pasangan untuk kunci `password` dengan nilainya. *azuresqlPassword*

1. Di AWS Glue konsol, buat koneksi dengan mengikuti langkah-langkah di[Menambahkan AWS Glue koneksi](console-connections.md). Setelah membuat koneksi, pertahankan nama koneksi,*connectionName*, untuk penggunaan masa depan di AWS Glue. 
   + Saat memilih **jenis Koneksi**, pilih Azure SQL.
   + Saat menyediakan URL **Azure SQL, berikan URL** endpoint JDBC.

      URL harus dalam format berikut:`jdbc:sqlserver://databaseServerName:databasePort;databaseName=azuresqlDBname;`.

     AWS Glue membutuhkan properti URL berikut: 
     + `databaseName`— Database default di Azure SQL untuk terhubung ke.

     [Untuk informasi selengkapnya tentang JDBC URLs untuk Instans Terkelola Azure SQL, lihat dokumentasi Microsoft.](https://learn.microsoft.com/en-us/sql/connect/jdbc/building-the-connection-url?view=azuresqldb-mi-current)
   + Saat memilih **AWS Rahasia**, berikan*secretName*.

# Membuat node sumber Azure SQL
<a name="creating-azuresql-source-node"></a>

## Prasyarat yang dibutuhkan
<a name="creating-azuresql-source-node-prerequisites"></a>
+ Koneksi AWS Glue Azure SQL, dikonfigurasi dengan AWS Secrets Manager rahasia, seperti yang dijelaskan di bagian sebelumnya,. [Membuat koneksi Azure SQL](creating-azuresql-connection.md)
+ Izin yang sesuai pada pekerjaan Anda untuk membaca rahasia yang digunakan oleh koneksi.
+ Tabel Azure SQL yang ingin Anda baca,. *tableName*

  Tabel Azure SQL diidentifikasi oleh database, skema, dan nama tabelnya. Anda harus memberikan nama database dan nama tabel saat menghubungkan ke Azure SQL. Anda juga harus memberikan skema jika bukan default, “publik”. Database disediakan melalui properti URL di*connectionName*, skema dan nama tabel melalui. `dbtable`

## Menambahkan sumber data Azure SQL
<a name="creating-azuresql-source-node-add"></a>

**Untuk menambahkan **sumber Data — Azure SQL node**:**

1.  Pilih koneksi untuk sumber data Azure SQL Anda. Karena Anda telah membuatnya, itu harus tersedia di dropdown. Jika Anda perlu membuat koneksi, pilih **Buat koneksi SQL Azure**. Untuk informasi lebih lanjut lihat bagian sebelumnya,[Membuat koneksi Azure SQL](creating-azuresql-connection.md). 

    Setelah Anda memilih koneksi, Anda dapat melihat properti koneksi dengan mengklik **Lihat properti**. 

1.  Pilih opsi **Azure SQL Source:** 
   +  **Pilih satu tabel** — akses semua data dari satu tabel. 
   +  **Masukkan kueri kustom** — akses kumpulan data dari beberapa tabel berdasarkan kueri kustom Anda. 

1.  Jika Anda memilih satu tabel, masukkan*tableName*. 

    Jika Anda memilih **Masukkan kueri kustom, masukkan kueri** TransactSQL SELECT. 

1.  Di **properti Custom Azure SQL**, masukkan parameter dan nilai sesuai kebutuhan. 

# Membuat node target Azure SQL
<a name="creating-azuresql-target-node"></a>

## Prasyarat yang dibutuhkan
<a name="creating-azuresql-target-node-prerequisites"></a>
+ Koneksi AWS Glue Azure SQL, dikonfigurasi dengan AWS Secrets Manager rahasia, seperti yang dijelaskan di bagian sebelumnya,. [Membuat koneksi Azure SQL](creating-azuresql-connection.md)
+ Izin yang sesuai pada pekerjaan Anda untuk membaca rahasia yang digunakan oleh koneksi.
+ Tabel Azure SQL yang ingin Anda tulis,. *tableName*

  Tabel Azure SQL diidentifikasi oleh database, skema, dan nama tabelnya. Anda harus memberikan nama database dan nama tabel saat menghubungkan ke Azure SQL. Anda juga harus memberikan skema jika bukan default, “publik”. Database disediakan melalui properti URL di*connectionName*, skema dan nama tabel melalui. `dbtable`

## Menambahkan target data Azure SQL
<a name="creating-azuresql-target-node-add"></a>

**Untuk menambahkan **target Data - Azure SQL node**:**

1.  Pilih koneksi untuk sumber data Azure SQL Anda. Karena Anda telah membuatnya, itu harus tersedia di dropdown. Jika Anda perlu membuat koneksi, pilih **Buat koneksi SQL Azure**. Untuk informasi lebih lanjut lihat bagian sebelumnya,[Membuat koneksi Azure SQL](creating-azuresql-connection.md). 

    Setelah Anda memilih koneksi, Anda dapat melihat properti koneksi dengan mengklik **Lihat properti**. 

1. Konfigurasikan **nama Tabel** dengan menyediakan*tableName*.

1.  Di **properti Custom Azure SQL**, masukkan parameter dan nilai sesuai kebutuhan. 

## Opsi lanjutan
<a name="creating-azuresql-connection-advanced-options"></a>

Anda dapat memberikan opsi lanjutan saat membuat node Azure SQL. Opsi ini sama dengan yang tersedia saat pemrograman AWS Glue untuk skrip Spark.

Lihat [Koneksi Azure SQL](aws-glue-programming-etl-connect-azuresql-home.md). 

# Menghubungkan ke Blackbaud Raiser's Edge NXT
<a name="connecting-to-data-blackbaud"></a>

Blackbaud Raiser's Edge NXT adalah solusi perangkat lunak penggalangan dana dan manajemen donor berbasis cloud yang komprehensif yang dibangun khusus untuk organisasi nirlaba dan seluruh komunitas sosial yang baik. Konektor ini dibangun di atas SKY API Blackbaud Raiser Edge NXT dan menyediakan operasi untuk membantu mengelola entitas yang ditemukan dalam Raisers Edge NXT.

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

# AWS Glue dukungan untuk Blackbaud Raiser's Edge NXT
<a name="blackbaud-support"></a>

AWS Glue mendukung Blackbaud Raiser's Edge NXT sebagai berikut:

**Didukung sebagai sumber?**  
Ya. Anda dapat menggunakan pekerjaan AWS Glue ETL untuk menanyakan data dari Blackbaud Raiser's Edge NXT.

**Didukung sebagai target?**  
Tidak.

**Versi API Edge NXT Blackbaud Raiser yang didukung**  
Versi API Edge NXT Blackbaud Raiser berikut didukung:
+ v1

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="blackbaud-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 Blackbaud Raiser's Edge NXT
<a name="blackbaud-configuring"></a>

Sebelum Anda dapat menggunakan AWS Glue untuk mentransfer data dari Blackbaud Raiser's Edge NXT, Anda harus memenuhi persyaratan ini:

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

Berikut ini adalah persyaratan minimum:
+ Anda memiliki akun Edge NXT Blackbaud Raiser.
+ Anda telah membuat Token Akses di akun NXT Edge Blackbaud Raiser Anda dengan read/write cakupan yang sesuai yang ditetapkan untuk mengakses. APIs Untuk informasi selengkapnya, lihat [Otorisasi](https://developer.blackbaud.com/skyapi/docs/authorization).

Jika Anda memenuhi persyaratan ini, Anda siap untuk terhubung AWS Glue ke akun Edge NXT Blackbaud Raiser Anda.

# Mengkonfigurasi koneksi Edge NXT Blackbaud Raiser
<a name="blackbaud-configuring-connections"></a>

Blackbaud Raiser's Edge NXT mendukung jenis hibah AUTHORIZATION\$1CODE untuk. OAuth2
+ 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. AWS Glue Konsol akan mengarahkan pengguna ke Blackbaud Raiser's Edge NXT di mana pengguna harus masuk dan mengizinkan AWS Glue izin yang diminta untuk mengakses instance Edge NXT Blackbaud Raiser mereka.
+ Pengguna dapat memilih untuk membuat aplikasi mereka sendiri yang terhubung di Blackbaud Raiser's Edge NXT dan memberikan ID Klien, Kunci Langganan, dan URL Instance mereka sendiri saat membuat koneksi melalui konsol. AWS Glue Dalam skenario ini, mereka masih akan diarahkan ke Blackbaud Raiser's Edge NXT untuk masuk dan memberi wewenang untuk mengakses sumber daya mereka. AWS Glue 
+ Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses berumur pendek, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran.
+ [Untuk dokumentasi Edge NXT Blackbaud Raiser publik tentang membuat aplikasi yang terhubung untuk alur Kode Otorisasi, lihat Otorisasi. OAuth ](https://developer.blackbaud.com/skyapi/docs/authorization)

Untuk mengonfigurasi koneksi Edge NXT Blackbaud Raiser:

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

   1. Untuk aplikasi tersambung yang dikelola pelanggan, Secret harus berisi kunci API aplikasi yang terhubung dengan `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` sebagai kunci.

   1. Catatan: Anda harus membuat rahasia untuk koneksi Anda 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 **Sumber Data**, pilih Blackbaud Raiser's Edge NXT.

   1. Berikan akun Blackbaud Raiser's Edge NXT yang ingin Anda sambungkan. `INSTANCE_URL`

   1. Menyediakan aplikasi klien yang dikelola pengguna`clientId`.

   1. Berikan kunci berlangganan yang terkait dengan akun Anda.

   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 Edge NXT Blackbaud Raiser
<a name="blackbaud-reading-from-entities"></a>

**Prasyarat**

Objek Blackbaud Raiser's Edge NXT yang ingin Anda baca. Anda akan membutuhkan nama objek.

**Entitas yang didukung untuk sumber**:


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih \$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| Alamat Konstituen | Ya | Ya | Tidak | Ya | Ya | 
| Pendidikan Konstituante | Ya | Ya | Tidak | Ya | Ya | 
| Alamat Email Konstituen | Ya | Ya | Tidak | Ya | Ya | 
| Telepon Konstituen | Ya | Ya | Tidak | Ya | Ya | 
| Catatan Konstituen | Ya | Ya | Tidak | Ya | Ya | 
| Hubungan Konstituen | Ya | Ya | Tidak | Ya | Ya | 
| Kehadiran online konstituen | Ya | Ya | Tidak | Ya | Ya | 
| Peluang | Ya | Ya | Tidak | Ya | Ya | 
| Banding | Ya | Ya | Tidak | Ya | Ya | 
| Kampanye | Ya | Ya | Tidak | Ya | Ya | 
| Dana | Ya | Ya | Tidak | Ya | Ya | 
| Paket | Ya | Ya | Tidak | Ya | Ya | 
| Hadiah Batch | Ya | Ya | Tidak | Ya | Tidak | 
| Peserta Acara | Ya | Ya | Ya | Ya | Ya | 
| Penugasan Penggalangan Dana Konstituen | Tidak | Tidak | Tidak | Ya | Tidak | 
| Hadiah | Ya | Ya | Ya | Ya | Ya | 
| Keanggotaan | Ya | Ya | Tidak | Ya | Ya | 
| Tindakan | Ya | Ya | Tidak | Ya | Tidak | 
| Konstituen | Ya | Ya | Ya | Ya | Ya | 
| Barang Konstituen | Ya | Ya | Tidak | Ya | Ya | 
| Peristiwa | Ya | Ya | Ya | Ya | Ya | 
| Bidang kustom hadiah | Ya | Ya | Tidak | Ya | Ya | 

**Contoh:**

```
blackbaud_read = glueContext.create_dynamic_frame.from_options(
    connection_type="BLACKBAUD",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v1",
        "SUBSCRIPTION_KEY": <Subscription key associated with one's developer account>
    }
```

## Entitas dan detail bidang Edge NXT Blackbaud Raiser
<a name="blackbaud-reading-entity-field-details"></a>

Untuk informasi selengkapnya tentang entitas dan detail bidang, lihat:
+ [Tindakan](https://developer.blackbaud.com/skyapi/renxt/constituent/entities#Action)
+ [Konstituen](https://developer.blackbaud.com/skyapi/renxt/constituent/entities#Constituent)
+ [Alamat Konstituen](https://developer.blackbaud.com/skyapi/renxt/constituent/entities#Address)
+ [Keanggotaan Konstituen](https://developer.blackbaud.com/skyapi/renxt/constituent/entities#Membership)
+ [Penugasan Penggalangan Dana Konstituen](https://developer.blackbaud.com/skyapi/renxt/constituent/entities#FundraiserAssignment)
+ [Pendidikan Konstituante](https://developer.blackbaud.com/skyapi/renxt/constituent/entities#Education)
+ [Alamat Email Konstituen](https://developer.blackbaud.com/skyapi/renxt/constituent/entities#EmailAddress)
+ [Telepon Konstituen](https://developer.blackbaud.com/skyapi/renxt/constituent/entities#Phone)
+ [Catatan Konstituen](https://developer.blackbaud.com/skyapi/renxt/constituent/entities#Note)
+ [Kehadiran Online Konstituen](https://developer.blackbaud.com/skyapi/renxt/constituent/entities#OnlinePresence)
+ [Hubungan Konstituen](https://developer.blackbaud.com/skyapi/renxt/constituent/entities#Relationship)
+ [Peristiwa](https://developer.blackbaud.com/skyapi/renxt/event/entities#Event)
+ [Peserta Acara](https://developer.blackbaud.com/skyapi/renxt/event/entities#Participant)
+ [Banding](https://developer.blackbaud.com/skyapi/renxt/fundraising/entities#Appeal)
+ [Kampanye](https://developer.blackbaud.com/skyapi/renxt/fundraising/entities#Campaign)
+ [Dana](https://developer.blackbaud.com/skyapi/renxt/fundraising/entities#Fund)
+ [Package](https://developer.blackbaud.com/skyapi/renxt/fundraising/entities#Package)
+ [Hadiah](https://developer.blackbaud.com/skyapi/renxt/gift/entities#Gift)
+ [Bidang Kustom Hadiah](https://developer.blackbaud.com/skyapi/renxt/gift/entities#CustomField)
+ [Hadiah Batch](https://developer.blackbaud.com/skyapi/renxt/gift-batch/entities#GiftBatch)
+ [Kesempatan](https://developer.blackbaud.com/skyapi/renxt/opportunity/entities#Opportunity)
+ [Kode Konstituen](https://developer.sky.blackbaud.com/api#api=56b76470069a0509c8f1c5b3)

**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="blackbaud-reading-partitioning-queries"></a>

**Partisi berbasis lapangan**:

Blackbaud Raiser's Edge NXT tidak mendukung partisi berbasis bidang atau berbasis rekaman.

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 Blackbaud Raiser's Edge NXT 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.

Contoh:

```
blackbaud_read = glueContext.create_dynamic_frame.from_options(
    connection_type="BLACKBAUD",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v1",
        "NUM_PARTITIONS": "2",
        "SUBSCRIPTION_KEY": <Subscription key associated with one's developer account>
    }
```

# Opsi koneksi Edge NXT Blackbaud Raiser
<a name="blackbaud-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Blackbaud Raiser's Edge NXT:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama objek Anda di Blackbaud Raiser's Edge NXT.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Versi API Blackbaud Raiser Edge NXT Rest yang ingin Anda gunakan.
+ `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.
+ `NUM_PARTITIONS`(Integer) - Default: 1. Digunakan untuk Baca. Jumlah partisi untuk dibaca. Nilai contoh: 10.
+ `SUBSCRIPTION_KEY`(String) - (Diperlukan) Default: kosong. Digunakan untuk Baca. Kunci berlangganan yang terkait dengan akun pengembang seseorang.

# Batasan NXT Edge Blackbaud Raiser
<a name="blackbaud-connection-limitations"></a>

Berikut ini adalah batasan atau catatan untuk Blackbaud Raiser's Edge NXT:
+ SaaS hanya mendukung `EQUAL_TO` operator, yang mengembalikan hasil yang dibuat atau dimodifikasi pada atau setelah tanggal yang ditentukan. Selain itu, bidang “id” adalah tipe data String. Juga tidak ada identifikasi bidang yang tidak dapat dibatalkan. Oleh karena itu, partisi berbasis lapangan tidak didukung.
+ Incremental pull hanya didukung oleh `Event` entitas dengan frekuensi harian, bulanan dan mingguan.
+ Entitas Penugasan Penggalangan Dana Konstituen mengembalikan maksimal 20 catatan.
+ Partisi berbasis rekaman:
  + Tidak didukung oleh`Action`, `Constituent Fundraiser Assignment` atau `Gift Batch` entitas.
  + Partisi berbasis rekaman dengan predikat filter hanya didukung oleh entitas dan. `Event` `Event Participant` Jika predikat filter digunakan dengan entitas lain yang didukung berbasis rekaman, pengecualian akan dilemparkan.
+ Dalam `Gift Custom Field` entitas, bidang 'nilai' harus digunakan bersama dengan bidang 'kategori', yang jika tidak mengarah ke respons tanpa filter. Jadi, untuk memaksa pengguna memasukkan bidang 'kategori' sambil memfilter dengan bidang 'nilai', pengecualian akan dilemparkan jika persyaratan yang disebutkan di atas belum diikuti.
+ `last_modified`Bidang `date_added` dan untuk semua entitas yang berlaku tidak mendukung operator komparatif apa pun. Mereka hanya mendukung yang setara dengan operator. Juga, tidak ada bidang yang dapat dipasangkan dengan bidang yang disebutkan di atas untuk menyediakan berbagai catatan. Oleh karena itu, bidang ini hanya dapat dikueri dan tidak dapat mendukung transfer tambahan.
+ `added_by`Bidang dalam `Gift Batch` entitas tidak akan dianggap dapat disaring karena mungkin tidak memancarkan hasil yang benar.
+ Ada latensi sekitar 30 menit untuk catatan yang akan diambil melalui `/GET Gift List` titik akhir setelah penyisipan data dalam entitas. `Gift`
+ Support untuk transfer tambahan telah dibatalkan untuk entitas Hadiah karena keterbatasan dari ujung sumber data. 
+ Ada latensi 10 menit untuk bidang status di entitas Peluang.
+ `Fundraiser Assignment`Entitas memiliki `Constituent` entitas dependen. Konektor memuat paling banyak 5.000 IDs untuk dipilih, untuk menghindari ukuran respons melebihi ukuran muatan maksimum yang diizinkan.

# Menghubungkan ke CircleCI
<a name="connecting-to-data-circleci"></a>

CircleCI adalah integrasi berkelanjutan dan platform pengiriman berkelanjutan. Akun CircleCI Anda berisi data tentang proyek, pipeline, alur kerja, dan lainnya. Jika Anda pengguna CircleCI, Anda dapat terhubung AWS Glue ke akun CircleCI Anda. Kemudian, Anda dapat menggunakan CircleCI sebagai sumber data dalam pekerjaan ETL Anda. Jalankan pekerjaan ini untuk mentransfer data antara CircleCI AWS dan layanan atau aplikasi lain yang didukung.

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

# AWS Glue dukungan untuk CircleCI
<a name="circleci-support"></a>

AWS Glue mendukung CircleCI sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi CircleCI API yang didukung**  
Versi API CircleCI berikut didukung:
+ v2

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="circleci-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 CircleCI
<a name="circleci-configuring"></a>

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

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

Berikut ini adalah persyaratan minimum:
+ Anda memiliki akun dengan CircleCI yang berisi data yang ingin Anda transfer. 
+ Di pengaturan pengguna untuk akun Anda, Anda telah membuat token API pribadi. Untuk informasi selengkapnya, lihat [Membuat token API pribadi](https://circleci.com/docs/managing-api-tokens/#creating-a-personal-api-token).
+ Anda memberikan token API pribadi AWS Glue saat membuat koneksi.

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

# Mengkonfigurasi koneksi CircleCI
<a name="circleci-configuring-connections"></a>

CircleCI mendukung otentikasi kustom.

Untuk mengkonfigurasi koneksi CircleCI:

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

   1. Untuk aplikasi tersambung yang dikelola pelanggan, Secret harus berisi kunci API aplikasi yang terhubung dengan `Circle-Token` sebagai kunci.

   1. Catatan: Anda harus membuat rahasia untuk koneksi Anda 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 **Sumber Data**, pilih CircleCI.

   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 CircleCI
<a name="circleci-reading-from-entities"></a>

**Prasyarat**

Objek CircleCI yang ingin Anda baca. Anda akan membutuhkan nama objek.

**Entitas yang didukung untuk sumber**:


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih\$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| Konteks | Ya | Tidak | Tidak | Ya | Tidak | 
| Metrik Ringkasan Organisasi | Ya | Tidak | Tidak | Ya | Tidak | 
| Pipa | Tidak | Tidak | Tidak | Ya | Tidak | 
| Alur Kerja Pipa | Ya | Tidak | Tidak | Ya | Tidak | 
| Cabang Proyek | Ya | Tidak | Tidak | Ya | Tidak | 
| Uji Flaky Proyek | Tidak | Tidak | Tidak | Ya | Tidak | 
| Metrik Ringkasan Proyek | Ya | Tidak | Tidak | Ya | Tidak | 
| Jadwal | Tidak | Tidak | Tidak | Ya | Tidak | 
| Workflow Job Timeseries | Ya | Tidak | Tidak | Ya | Tidak | 
| Alur Kerja Metrik Dan Trend | Ya | Tidak | Tidak | Ya | Tidak | 
| Alur Kerja Jalankan Terbaru | Ya | Tidak | Tidak | Ya | Tidak | 
| Metrik Ringkasan Alur Kerja | Ya | Tidak | Tidak | Ya | Tidak | 
| Metrik Uji Alur Kerja | Ya | Tidak | Tidak | Ya | Tidak | 

**Contoh:**

```
circleci_read = glueContext.create_dynamic_frame.from_options(
    connection_type="circleci",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "context/e7ea2945-dccb-4205-b673-8391fe1b3a4c",
        "API_VERSION": "v2"
    }
```

## Entitas CircleCI dan detail bidang
<a name="circleci-reading-from-entities-field-details"></a>

Untuk informasi selengkapnya tentang entitas dan detail bidang, lihat:
+ [Konteks](https://circleci.com/docs/api/v2/#operation/listContexts)
+ [Metrik Ringkasan Proyek](https://circleci.com/docs/api/v2/#operation/getProjectWorkflowsPageData)
+ [Workflow Job Timeseries](https://circleci.com/docs/api/v2/#operation/getJobTimeseries)
+ [Metrik Ringkasan Organisasi](https://circleci.com/docs/api/v2/#operation/getOrgSummaryData)
+ [Cabang Proyek](https://circleci.com/docs/api/v2/#operation/getAllInsightsBranches)
+ [Tes Flaky Proyek](https://circleci.com/docs/api/v2/#operation/getFlakyTests)
+ [Alur Kerja Terbaru Berjalan](https://circleci.com/docs/api/v2/#operation/getProjectWorkflowRuns)
+ [Metrik Ringkasan Alur Kerja](https://circleci.com/docs/api/v2/#operation/getProjectWorkflowMetrics)
+ [Metrik dan Tren Alur Kerja](https://circleci.com/docs/api/v2/#operation/getWorkflowSummary)
+ [Metrik Uji Alur Kerja](https://circleci.com/docs/api/v2/#operation/getProjectWorkflowTestMetrics)
+ [Pipa](https://circleci.com/docs/api/v2/#operation/listPipelinesForProject)
+ [Alur Kerja Pipeline](https://circleci.com/docs/api/v2/#operation/listWorkflowsByPipelineId)
+ [Jadwal](https://circleci.com/docs/api/v2/#operation/listSchedulesForProject)

Entitas dengan metadata statis:

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

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

**Mempartisi kueri**

CircleCI tidak mendukung partisi berbasis lapangan atau berbasis rekaman.

# Opsi koneksi CircleCI
<a name="circleci-connection-options"></a>

Berikut ini adalah opsi koneksi untuk CircleCI:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama objek Anda di CircleCI.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Versi CircleCI Rest API yang ingin Anda gunakan.
+ `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.

# Batasan CircleCI
<a name="circleci-connection-limitations"></a>

Berikut ini adalah batasan atau catatan untuk CircleCI:
+ CircleCI tidak mendukung partisi berbasis bidang atau berbasis rekaman.
+ Bidang filter yang berisi '-' (tanda hubung) hanya akan berfungsi jika dibungkus dalam backticks. Misalnya: `workflow-name` = “abc”
+ Jenis GitLab VCS tidak dapat didukung karena tidak ada cara terprogram untuk mengambil 'ID Proyek' yang diperlukan untuk jalur entitas VCS. GitLab 

# Menghubungkan ke Datadog
<a name="connecting-to-datadog"></a>

Datadog adalah platform pemantauan dan analitik untuk aplikasi skala cloud, termasuk infrastruktur, aplikasi, layanan, dan alat.

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

# AWS Glue dukungan untuk Datadog
<a name="datadog-support"></a>

AWS Glue mendukung Datadog sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi API Datadog yang didukung**  
 
+ v1
+ v2

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="datadog-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 Datadog
<a name="datadog-configuring"></a>

Sebelum Anda dapat menggunakan AWS Glue untuk mentransfer dari Datadog, Anda harus memenuhi persyaratan berikut:

## Persyaratan minimum
<a name="datadog-configuring-min-requirements"></a>
+ Anda memiliki akun Datadog dengan DD-API-KEY dan. DD-APPLICATION-KEY Untuk informasi selengkapnya tentang membuat akun, lihat [Membuat akun Datadog](datadog-create-account.md). 
+  Akun Datadog Anda memiliki akses API dengan lisensi yang valid.

   

Datadog mendukung enam berikut. URLs Semua klien API Datadog dikonfigurasi secara default untuk menggunakan situs US1 Datadog. APIs Jika Anda berada di situs Datadog EU, Anda harus memilih https://api.datadoghq.eu URL dengan `DD-API-KEY` dan `DD-APPLICATION-KEY` dari situs Datadog EU untuk mengakses. APIs Demikian pula, untuk situs lain, Anda harus memilih masing-masing URLs dengan situs masing-masing. `DD-API-KEY and DD-APPLICATION-KEY` 
+ US1 URL API - [https://api.datadoghq.com](https://api.datadoghq.com) https://api.datadoghq.com
+ URL API UE - [https://api.datadoghq.eu](https://api.datadoghq.eu)
+ US3 URL API - [https://api.us3.datadoghq.com](https://api.us3.datadoghq.com) 
+ US5 URL API - [https://api.us5.datadoghq.com](https://api.us5.datadoghq.com)
+ URL API S1-FED — [https://api.ddog-gov.com](https://api.ddog-gov.com)
+ URL API Jepang - [https://api.ap1.datadoghq.com](https://api.ap1.datadoghq.com)

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

# Mengkonfigurasi koneksi Datadog
<a name="datadog-configuring-connections"></a>

Datadog mendukung otentikasi kustom. Berikut adalah langkah-langkah untuk mengkonfigurasi koneksi Datadog:

Untuk mengkonfigurasi koneksi Datadog:

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 `API_KEY` dan `APPLICATION_KEY` sebagai kunci. 
**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 **jenis Koneksi**, pilih Datadog.

   1. Berikan Datadog yang ingin Anda sambungkan. `Instance_Url`

   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`. 

# Membaca dari entitas Datadog
<a name="datadog-reading-from-entities"></a>

 **Prasyarat** 

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

 **Entitas yang didukung** 


| Entitas | Dapat disaring | Mendukung Batas | Mendukung Order By | Mendukung Pilih\$1 | Mendukung Partisi | 
| --- | --- | --- | --- | --- | --- | 
|  Timeseries Metrik  | Ya | Tidak | Tidak | Ya | Tidak | 
|  Kueri Log  | Ya | Ya | Ya | Ya | Tidak | 

 **Contoh** 

```
Datadog_read = glueContext.create_dynamic_frame.from_options(
    connection_type="datadog",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "log-queries",
        "API_VERSION": "v2",
        "INSTANCE_URL": "https://api.datadoghq.com",
        "FILTER_PREDICATE": "from = `2023-10-03T09:00:26Z`"
    }
```

 **Entitas Datadog dan detail bidang** 

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

# Opsi koneksi Datadog
<a name="datadog-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Datadog:
+  `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Nama Objek Anda di Datadog.
+  `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Datadog Rest API versi yang ingin Anda gunakan. `v1`versi mendukung `metrics-timeseries` entitas sedangkan, `v2` versi mendukung `log-queries` entitas.
+  `INSTANCE_URL`(String) - (Diperlukan) Digunakan untuk Baca. Contoh URL Datadog. Contoh URL Datadog bervariasi per wilayah. 
+  `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. 

# Membuat akun Datadog
<a name="datadog-create-account"></a>

1. Pergi ke [https://www.datadoghq.com/](https://api.datadoghq.com). 

1. Pilih **MULAI GRATIS**.

1. Masukkan informasi yang diperlukan dan daftar. 

1. Instal **Installer Agen Datadog** seperti yang disarankan. 

1. Pastikan akun terdaftar dengan organisasi yang valid (dari daftar yang tersedia) yang memiliki langganan Datadog aktif. 

1. **Setelah masuk ke akun Datadog Anda, arahkan kursor ke nama pengguna Anda di sudut kanan atas untuk melihat detail Kunci:**

   1. Untuk mendapatkan kunci API Anda, pilih **Kunci API**.

   1. Untuk mendapatkan kunci aplikasi Anda, pilih **Kunci Aplikasi**.

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

Berikut ini adalah batasan untuk konektor Datadog:
+ Datadog tidak mendukung partisi berbasis bidang atau berbasis rekaman.
+ `from`adalah parameter filter wajib untuk `Log Queries` entitas.
+ `from_to_date`dan `query` merupakan parameter filter wajib untuk `Metrics Timeseries` entitas.

# Menghubungkan ke Docusign Monitor
<a name="connecting-to-data-docusign-monitor"></a>

Docusign Monitor membantu organisasi melindungi perjanjian mereka dengan pelacakan round-the-clock aktivitas. Monitor API mengirimkan informasi pelacakan aktivitas ini secara langsung ke tumpukan keamanan atau alat visualisasi data yang ada—memungkinkan tim mendeteksi aktivitas yang tidak sah, menyelidiki insiden, dan merespons ancaman terverifikasi dengan cepat. Ini juga memberikan fleksibilitas, tim keamanan perlu menyesuaikan dasbor dan peringatan untuk memenuhi kebutuhan bisnis tertentu.

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

# AWS Glue dukungan untuk Docusign Monitor
<a name="docusign-monitor-support"></a>

AWS Glue mendukung Docusign Monitor sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi API Docusign Monitor yang didukung**  
Versi Docusign Monitor API berikut didukung:
+ v2.0

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="docusign-monitor-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 Monitor Docusign
<a name="docusign-monitor-configuring"></a>

Sebelum dapat digunakan AWS Glue untuk mentransfer data dari Docusign Monitor ke tujuan yang didukung, Anda harus memenuhi persyaratan berikut:

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

Berikut ini adalah persyaratan minimum:
+ Anda memiliki akun Docusign tempat Anda menggunakan produk Perangkat Lunak Docusign di Monitor Docusign.
+ Di konsol pengembang untuk akun Docusign Anda, Anda telah membuat aplikasi integrasi OAuth 2.0 untuk AWS Glue.

  Aplikasi ini menyediakan kredensi klien yang AWS Glue digunakan untuk mengakses data Anda dengan aman saat melakukan panggilan yang diautentikasi ke akun Anda. Untuk informasi selengkapnya, lihat [OAuth 2.0](https://developers.docusign.com/platform/webhooks/connect/validation-and-security/oauth-connect/) di dokumentasi Docusign Monitor.

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

# Mengkonfigurasi koneksi Docusign Monitor
<a name="docusign-monitor-configuring-connections"></a>

Docusign Monitor mendukung jenis hibah AUTHORIZATION\$1CODE.
+ 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 dapat memilih untuk membuat aplikasi mereka sendiri yang terhubung di Docusign Monitor dan memberikan ID klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue konsol. Dalam skenario ini, mereka masih akan diarahkan ke Docusign Monitor untuk login dan otorisasi AWS Glue untuk mengakses sumber daya mereka.
+ Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses berumur pendek, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran.
+ Untuk dokumentasi Docusign Monitor publik tentang membuat aplikasi yang terhubung untuk OAuth alur Kode Otorisasi, lihat [OAuth untuk Docusign](https://developers.docusign.com/platform/webhooks/connect/validation-and-security/oauth-connect/) Connect.

Untuk mengonfigurasi koneksi Docusign Monitor:

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

   1. Untuk aplikasi tersambung yang dikelola pelanggan, Secret harus berisi kunci API aplikasi yang terhubung dengan `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` sebagai kunci.

   1. Catatan: Anda harus membuat rahasia untuk koneksi Anda di AWS Glue.

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

   1. Di bawah **Koneksi**, pilih **Buat koneksi**.

   1. Saat memilih **Sumber Data**, pilih Docusign Monitor.

   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. Menyediakan Aplikasi **Klien Terkelola Pengguna ClientId dari aplikasi** Docusign Monitor.

   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 Docusign Monitor
<a name="docusign-monitor-reading-from-entities"></a>

**Prasyarat**

Objek Docusign Monitor yang ingin Anda baca.

**Entitas yang didukung untuk sumber**:


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih\$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| Pemantauan Data | Ya | Ya | Tidak | Ya | Tidak | 

**Contoh:**

```
docusignmonitor_read = glueContext.create_dynamic_frame.from_options(
    connection_type="docusign_monitor",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "monitoring-data",
        "API_VERSION": "v2.0"
    }
```

## Docusign Monitor entitas dan detail bidang
<a name="docusign-monitor-reading-from-entities-field-details"></a>

Entitas dengan metadata statis:

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

**Mempartisi kueri**

Docusign Monitor tidak mendukung partisi berbasis lapangan atau berbasis rekaman.

# Opsi koneksi Docusign Monitor
<a name="docusign-monitor-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Docusign Monitor:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama objek Anda di Docusign Monitor.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Docusign Monitor Rest API versi yang ingin Anda gunakan.
+ `SELECTED_FIELDS`(Daftar<String>) - Default: kosong (SELECT \$1). Digunakan untuk Baca. Kolom yang ingin Anda pilih untuk objek.
+ `QUERY`(String) - Default: kosong. Digunakan untuk Baca. Kueri SQL Spark penuh.
+ `FILTER_PREDICATE`(String) - Default: kosong. Digunakan untuk Baca. Itu harus dalam format Spark SQL.

# Batasan Docusign Monitor
<a name="docusign-monitor-connection-limitations"></a>

Berikut ini adalah batasan atau catatan untuk Docusign Monitor:
+ Saat filter diterapkan menggunakan `cursor` bidang, API akan mengambil catatan selama tujuh hari berikutnya mulai dari tanggal yang ditentukan.
+ Jika tidak ada filter yang disediakan, API akan mengambil catatan selama tujuh hari sebelumnya dari tanggal permintaan API saat ini.
+ Docusign Monitor tidak mendukung partisi berbasis lapangan atau berbasis rekaman.
+ Docusign Monitor tidak mendukung fitur Order By.

# Menghubungkan ke Domo
<a name="connecting-to-data-domo"></a>

Domo adalah alat dash-boarding berbasis cloud. Dengan platform aplikasi perusahaan Domo, fondasi yang Anda butuhkan untuk memperluas Domo sudah ada, sehingga Anda dapat membangun solusi khusus Anda lebih cepat.

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

# AWS Glue dukungan untuk Domo
<a name="domo-support"></a>

AWS Glue mendukung Domo sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi Domo API yang didukung**  
Versi Domo API berikut didukung:
+ v1

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="domo-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 Domo
<a name="domo-configuring"></a>

Sebelum Anda dapat menggunakan AWS Glue untuk mentransfer data dari Domo ke tujuan yang didukung, Anda harus memenuhi persyaratan ini:

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

Berikut ini adalah persyaratan minimum:
+ Anda memiliki akun Domo yang diaktifkan untuk akses API.
+ Anda memiliki aplikasi di bawah akun pengembang Domo Anda yang menyediakan kredensi klien yang AWS Glue digunakan untuk mengakses data Anda dengan aman saat melakukan panggilan yang diautentikasi ke akun Anda. Untuk informasi selengkapnya, lihat [Membuat aplikasi pengembang Domo](#domo-configuring-creating-developer-app).

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

## Membuat aplikasi pengembang Domo
<a name="domo-configuring-creating-developer-app"></a>

Untuk mendapatkan ID Klien dan Rahasia Klien, Anda membuat akun pengembang.

1. Buka [halaman login pengembang Domo](https://developer.domo.com/manage-clients).

1. Pilih **Login**.

1. Berikan nama domain dan klik **Lanjutkan**.

1. Arahkan kursor ke **Akun Saya** dan pilih **Klien Baru**.

1. Berikan Nama dan Deskripsi dan pilih ruang lingkup (“data”) dan pilih **Buat**.

1. Ambil **Client Id** dan **Client Secret** yang dihasilkan dari klien baru yang dibuat.

# Mengkonfigurasi koneksi Domo
<a name="domo-configuring-connections"></a>

Domo mendukung jenis hibah CLIENT\$1CREDENTIALS untuk. OAuth2
+ Jenis hibah ini dianggap berkaki dua OAuth karena hanya aplikasi klien yang mengautentikasi dirinya ke server, tanpa keterlibatan kepada pengguna.
+ Pengguna dapat memilih untuk membuat aplikasi mereka sendiri yang terhubung di Domo dan memberikan ID klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue konsol.
+ [Untuk dokumentasi Domo publik tentang membuat aplikasi yang terhubung untuk OAuth alur Kode Otorisasi, lihat OAuth Otentikasi.](https://developer.domo.com/portal/1845fc11bbe5d-api-authentication)

Untuk mengkonfigurasi koneksi Domo:

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

   1. Untuk aplikasi terhubung yang dikelola pelanggan, Rahasia harus berisi token akses aplikasi yang terhubung,`client_id`, dan`client_secret`.

   1. Catatan: Anda harus membuat rahasia untuk koneksi Anda di AWS Glue.

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

   1. Di bawah **Koneksi**, pilih **Buat koneksi**.

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

   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 Domo
<a name="domo-reading-from-entities"></a>

**Prasyarat**

Objek Domo yang ingin Anda baca. Anda akan memerlukan nama objek seperti Data Set atau Kebijakan Izin Data. Tabel berikut menunjukkan entitas yang didukung.

**Entitas yang didukung untuk sumber**:


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih\$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| Kumpulan Data | Ya | Ya | Ya | Ya | Ya | 
| Kebijakan Izin Data | Tidak | Tidak | Tidak | Ya | Tidak | 

**Contoh:**

```
Domo_read = glueContext.create_dynamic_frame.from_options(
    connection_type="domo",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "dataset",
        "API_VERSION": "v1"
    }
```

## Entitas domo dan detail bidang
<a name="domo-reading-from-entities-field-details"></a>

Entitas dengan metadata statis:

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

Untuk entitas berikut, Domo menyediakan titik akhir untuk mengambil metadata secara dinamis, sehingga dukungan operator ditangkap pada tingkat tipe data untuk entitas.

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

## Mempartisi kueri
<a name="domo-reading-from-partitioning"></a>

**Partisi berbasis lapangan**

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:

  ```
  "2023-01-15T11:18:39.205Z"
  ```

  Untuk bidang Tanggal, kami menerima nilai dalam format ISO.

  Contoh nilai valid:

  ```
  "2023-01-15"
  ```
+ `UPPER_BOUND`: nilai batas atas **eksklusif** dari bidang partisi yang dipilih.

  Contoh nilai valid:

  ```
  "2023-02-15T11:18:39.205Z"
  ```
+ `NUM_PARTITIONS`: jumlah partisi.

Detail dukungan bidang partisi berdasarkan entitas ditangkap dalam tabel berikut:

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

Contoh:

```
Domo_read = glueContext.create_dynamic_frame.from_options(
    connection_type="domo",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "dataset",
        "API_VERSION": "v1",
        "PARTITION_FIELD": "permissionTime"
        "LOWER_BOUND": "2023-01-15T11:18:39.205Z"
        "UPPER_BOUND": "2023-02-15T11:18:39.205Z"
        "NUM_PARTITIONS": "2"
    }
```

**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 catatan, jumlah total catatan yang ada ditanyakan dari Domo, dan dibagi dengan nomor yang disediakan. `NUM_PARTITIONS` Jumlah catatan yang dihasilkan kemudian diambil secara bersamaan oleh setiap sub-kueri.

Contoh:

```
Domo_read = glueContext.create_dynamic_frame.from_options(
    connection_type="domo",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "dataset",
        "API_VERSION": "v1",
        "NUM_PARTITIONS": "2"
    }
```

# Opsi koneksi Domo
<a name="domo-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Domo:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama objek Anda di Domo.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Domo Rest API versi yang ingin Anda gunakan.
+ `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 membaca. Bidang yang akan digunakan untuk mempartisi kueri.
+ `LOWER_BOUND`(String) - Digunakan untuk membaca. Nilai batas bawah inklusif dari bidang partisi yang dipilih.
+ `UPPER_BOUND`(String) - Digunakan untuk membaca. Nilai batas atas eksklusif dari bidang partisi yang dipilih. 
+ `NUM_PARTITIONS`(Integer) - Default: 1. Digunakan untuk membaca. Jumlah partisi untuk dibaca.

# Keterbatasan domo
<a name="domo-connection-limitations"></a>

Berikut ini adalah batasan atau catatan untuk Domo:
+ Karena keterbatasan SDK, filtrasi tidak berfungsi seperti yang diharapkan untuk bidang yang dapat dikueri yang dimulai dengan '\$1' (misalnya: \$1BATCH\$1ID).
+ Karena keterbatasan API, filtrasi berfungsi pada tanggal sebelum tanggal yang Anda berikan. Ini juga mempengaruhi tarikan inkremental. Untuk mengatasi batasan ini, pilih tanggal sesuai dengan zona waktu Anda terhadap UTC, untuk mendapatkan data untuk tanggal yang diperlukan.

# Menghubungkan ke Dynatrace
<a name="connecting-to-data-dynatrace"></a>

Dynatrace adalah platform yang menawarkan analitik dan otomatisasi untuk observabilitas dan keamanan yang komprehensif. Ini mengkhususkan diri dalam memantau dan mengoptimalkan kinerja aplikasi, infrastruktur, dan pengalaman pengguna.

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

# AWS Glue Dukungan untuk Dynatrace
<a name="dynatrace-support"></a>

AWS Glue mendukung Dynatrace sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi API Dynatrace yang didukung**  
Versi API Dynatrace berikut didukung:
+ v2

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="dynatrace-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 Dynatrace
<a name="dynatrace-configuring"></a>

Sebelum Anda dapat menggunakan AWS Glue untuk mentransfer data dari Dynatrace, Anda harus memenuhi persyaratan berikut:

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

Berikut ini adalah persyaratan minimum:
+ Anda memiliki akun Dynatrace.
+ Anda telah membuat Token Akses di akun Dynatrace Anda dengan read/write cakupan yang sesuai yang ditetapkan untuk mengakses. APIs Untuk informasi selengkapnya, lihat [Menghasilkan token](https://docs.dynatrace.com/docs/discover-dynatrace/references/dynatrace-api/basics/dynatrace-api-authentication#create-token).

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

# Mengkonfigurasi koneksi Dynatrace
<a name="dynatrace-configuring-connections"></a>

Dynatrace mendukung otentikasi kustom.

Untuk mengonfigurasi koneksi Dynatrace:

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

   1. Untuk aplikasi tersambung yang dikelola pelanggan, Secret harus berisi kunci API aplikasi yang terhubung dengan `apiToken` sebagai kunci.

   1. Catatan: Anda harus membuat rahasia untuk koneksi Anda 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 **Sumber Data**, pilih Dynatrace.

   1. Berikan akun Dynatrace yang ingin Anda sambungkan. `INSTANCE_URL`

   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 Dynatrace
<a name="dynatrace-reading-from-entities"></a>

**Prasyarat**

Objek Dynatrace yang ingin Anda baca. Anda akan membutuhkan nama objek seperti “masalah”.

**Entitas yang didukung untuk sumber**:


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih\$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| Masalah | Ya | Ya | Ya | Ya | Tidak | 

**Contoh:**

```
Dynatrace_read = glueContext.create_dynamic_frame.from_options(
    connection_type="Dynatrace",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "problem",
        "API_VERSION": "v2",
        "INSTANCE_URL": "https://[instanceName].live.dynatrace.com"
    }
```

**Entitas Dynatrace dan detail bidang**:

Dynatrace menyediakan titik akhir untuk mengambil metadata secara dinamis untuk entitas yang didukung. Dengan demikian, dukungan operator ditangkap pada tingkat tipe data.

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

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

Dynatrace tidak mendukung partisi berbasis bidang atau berbasis rekaman.

# Opsi koneksi Dynatrace
<a name="dynatrace-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Dynatrace:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama objek Anda di Dynatrace.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Versi Dynatrace Rest API yang ingin Anda gunakan.
+ `INSTANCE_URL`(String) - Digunakan untuk Baca. URL instance Dynatrace yang valid.
+ `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.

# Batasan Dynatrace
<a name="dynatrace-connection-limitations"></a>

Berikut ini adalah batasan atau catatan untuk Dynatrace:
+ Dynatrace tidak mendukung partisi berbasis bidang atau berbasis rekaman.
+ Untuk fitur Select All, jika Anda memberikan “field” di filter maka itu tidak akan memungkinkan catatan menjadi lebih dari 10 per halaman.
+ Ukuran halaman maksimum yang didukung adalah 500. Jika Anda memilih salah satu bidang [`evidenceDetails, impactAnalysis, recentComments`] saat membuat alur maka catatan per halaman akan default menjadi 10.

# Menghubungkan ke Iklan Facebook
<a name="connecting-to-data-facebook-ads"></a>

Facebook Ads adalah platform periklanan digital yang kuat yang digunakan oleh bisnis dari semua ukuran untuk menjangkau audiens target mereka dan mencapai berbagai tujuan pemasaran. Platform ini memungkinkan pengiklan untuk membuat iklan yang disesuaikan yang dapat ditampilkan di seluruh keluarga aplikasi dan layanan Facebook, termasuk Facebook dan Messenger. Dengan kemampuan penargetan canggihnya, Iklan Facebook memungkinkan bisnis menjangkau demografi, minat, perilaku, dan lokasi tertentu.

**Topics**
+ [AWS Glue dukungan untuk Iklan Facebook](facebook-ads-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](facebook-ads-configuring-iam-permissions.md)
+ [Mengkonfigurasi Iklan Facebook](facebook-ads-configuring.md)
+ [Mengonfigurasi koneksi Iklan Facebook](facebook-ads-configuring-connections.md)
+ [Membaca dari entitas Iklan Facebook](facebook-ads-reading-from-entities.md)
+ [Opsi koneksi Iklan Facebook](facebook-ads-connection-options.md)
+ [Keterbatasan dan catatan untuk konektor Iklan Facebook](facebook-ads-connector-limitations.md)

# AWS Glue dukungan untuk Iklan Facebook
<a name="facebook-ads-support"></a>

AWS Glue mendukung Iklan Facebook sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi API Iklan Facebook yang didukung**  
Versi API Iklan Facebook berikut didukung:
+ v17.0
+ v18.0
+ v19.0
+ v20.0

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="facebook-ads-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 Iklan Facebook
<a name="facebook-ads-configuring"></a>

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

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

Berikut ini adalah persyaratan minimum:
+ Akun Standar Facebook diakses langsung melalui Facebook.
+ Otentikasi pengguna diperlukan untuk menghasilkan token akses.
+ Konektor SDK Iklan Facebook akan menerapkan OAuth alur *Token Akses Pengguna*.
+ Kami OAuth2 menggunakan.0 untuk mengautentikasi permintaan API kami ke Iklan Facebook. Otentikasi berbasis web ini berada di bawah arsitektur Multi-Factor Authentication (MFA) Authentication, yang merupakan superset dari 2FA.
+ Pengguna perlu memberikan izin untuk mengakses titik akhir. [https://developers.facebook.com/docs/permissions](https://developers.facebook.com/docs/permissions)

## Mendapatkan kredensi OAuth 2.0
<a name="facebook-ads-configuring-creating-facebook-ads-oauth2-credentials"></a>

Untuk mendapatkan kredensi API sehingga Anda dapat melakukan panggilan yang diautentikasi ke instans Anda, lihat [REST API di Panduan Pengembang](https://developers.facebook-ads.com/rest-api/) Iklan Facebook.

# Mengonfigurasi koneksi Iklan Facebook
<a name="facebook-ads-configuring-connections"></a>

Iklan Facebook mendukung jenis hibah AUTHORIZATION\$1CODE untuk. OAuth2
+ 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 masih dapat memilih untuk membuat aplikasi terhubung mereka sendiri di Iklan Facebook dan memberikan ID klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue konsol. Dalam skenario ini, mereka masih akan diarahkan ke Iklan Facebook untuk masuk dan memberi wewenang AWS Glue untuk mengakses sumber daya mereka.
+ Jenis hibah ini menghasilkan token akses. Token pengguna sistem yang kedaluwarsa berlaku selama 60 hari dari tanggal yang dibuat atau diperbarui. Untuk membuat kontinuitas, pengembang harus menyegarkan token akses dalam waktu 60 hari. Gagal melakukannya mengakibatkan kehilangan token akses dan mengharuskan pengembang mendapatkan yang baru untuk mendapatkan kembali akses API. Lihat [Segarkan Token Akses](https://developers.facebook.com/docs/marketing-api/system-users/install-apps-and-generate-tokens/).
+ Untuk dokumentasi Iklan Facebook publik tentang cara membuat aplikasi yang terhubung untuk OAuth alur Kode Otorisasi, lihat [Menggunakan OAuth 2.0 untuk Mengakses Google APIs](https://developers.google.com/identity/protocols/oauth2) di panduan Google for Developers.

Untuk mengonfigurasi koneksi Iklan Facebook:

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 Iklan Facebook.

   1. Berikan contoh Iklan Facebook yang ingin Anda sambungkan. `INSTANCE_URL`

   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 Iklan Facebook
<a name="facebook-ads-reading-from-entities"></a>

**Prasyarat**

Objek Iklan Facebook yang ingin Anda baca. Anda akan membutuhkan nama objek. Tabel berikut menunjukkan entitas yang didukung.

**Entitas yang didukung untuk sumber**:


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih \$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| Kampanye | Ya | Ya | Tidak | Ya | Ya | 
| Set Iklan | Ya | Ya | Tidak | Ya | Ya | 
| Iklan | Ya | Ya | Tidak | Ya | Ya | 
| Iklan Kreatif | Tidak | Ya | Tidak | Ya | Tidak | 
| Wawasan - Akun | Tidak | Ya | Tidak | Ya | Tidak | 
| AdAccounts | Ya | Ya | Tidak | Ya | Tidak | 
| Wawasan - Iklan | Ya | Ya | Tidak | Ya | Ya | 
| Wawasan - AdSet | Ya | Ya | Tidak | Ya | Ya | 
| Wawasan - Kampanye | Ya | Ya | Tidak | Ya | Ya | 

**Contoh:**

```
FacebookAds_read = glueContext.create_dynamic_frame.from_options(
    connection_type="FacebookAds",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v20.0"
    }
```

## Entitas dan detail bidang Iklan Facebook
<a name="facebook-ads-reading-entity-and-field-details"></a>

Untuk informasi selengkapnya tentang entitas dan detail bidang, lihat:
+ [Akun Iklan](https://developers.facebook.com/docs/marketing-api/reference/ad-account)
+ [Kampanye](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)
+ [Set Iklan](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign)
+ [Iklan](https://developers.facebook.com/docs/marketing-api/reference/adgroup)
+ [Iklan Kreatif](https://developers.facebook.com/docs/marketing-api/reference/ad-creative)
+ [Akun Iklan Insight](https://developers.facebook.com/docs/marketing-api/reference/ad-account/insights)
+ [Iklan Wawasan](https://developers.facebook.com/docs/marketing-api/reference/adgroup/insights/)
+ [Wawasan AdSets](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign/insights)
+ [Kampanye Wawasan](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group/insights)

Untuk informasi selengkapnya, lihat [API Pemasaran](https://developers.facebook.com/docs/marketing-api/reference/v21.0).

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

## Mempartisi kueri
<a name="facebook-ads-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 ini, kami menerima format stempel waktu Spark yang digunakan dalam kueri Spark SQL.

  Contoh nilai valid:

  ```
  "2022-01-01"
  ```
+ `UPPER_BOUND`: nilai batas atas **eksklusif** dari bidang partisi yang dipilih.
+ `NUM_PARTITIONS`: jumlah partisi.

Contoh:

```
FacebookADs_read = glueContext.create_dynamic_frame.from_options(
    connection_type="FacebookAds",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v20.0",
        "PARTITION_FIELD": "created_time"
        "LOWER_BOUND": "2022-01-01"
        "UPPER_BOUND": "2024-01-02"
        "NUM_PARTITIONS": "10"
    }
```

# Opsi koneksi Iklan Facebook
<a name="facebook-ads-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Iklan Facebook:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk membaca. Nama objek Anda di Iklan Facebook.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk membaca. Versi Facebook Ads Rest API yang ingin Anda gunakan. Misalnya: v1.
+ `SELECTED_FIELDS`(Daftar<String>) - Default: kosong (SELECT \$1). Digunakan untuk membaca. Kolom yang ingin Anda pilih untuk objek.
+ `FILTER_PREDICATE`(String) - Default: kosong. Digunakan untuk membaca. Itu harus dalam format Spark SQL.
+ `QUERY`(String) - Default: kosong. Digunakan untuk membaca. Kueri SQL Spark penuh.
+ `PARTITION_FIELD`(String) - Digunakan untuk membaca. Bidang yang akan digunakan untuk mempartisi kueri.
+ `LOWER_BOUND`(String) - Digunakan untuk membaca. Nilai batas bawah inklusif dari bidang partisi yang dipilih.
+ `UPPER_BOUND`(String) - Digunakan untuk membaca. Nilai batas atas eksklusif dari bidang partisi yang dipilih. 
+ `NUM_PARTITIONS`(Integer) - Default: 1. Digunakan untuk membaca. Jumlah partisi untuk dibaca.
+ `TRANSFER_MODE`(String) - Default: SINKRONISASI. Digunakan untuk membaca asinkron.

# Keterbatasan dan catatan untuk konektor Iklan Facebook
<a name="facebook-ads-connector-limitations"></a>

Berikut ini adalah batasan atau catatan untuk konektor Iklan Facebook:
+ Karena Iklan Facebook mendukung metadata dinamis, semua bidang dapat ditanyakan. Semua bidang mendukung filtrasi dan catatan diambil jika data tersedia, atau Facebook mengembalikan respons Bad request (400) dengan pesan kesalahan yang tepat.
+ Hitungan panggilan aplikasi adalah jumlah panggilan yang dapat dilakukan pengguna selama jendela satu jam bergulir 200 dikalikan dengan jumlah pengguna. Untuk detail batas tarif, lihat Batas [Tarif, dan Batas](https://developers.facebook.com/docs/graph-api/overview/rate-limiting/) [Tarif Kasus Penggunaan Bisnis](https://developers.facebook.com/docs/graph-api/overview/rate-limiting/#buc-rate-limits).

# Menghubungkan ke Wawasan Halaman Facebook
<a name="connecting-to-data-facebook-page-insights"></a>

Facebook Pages memungkinkan perusahaan dan kelompok kepentingan lainnya untuk membuat halaman untuk jejaring sosial Facebook.com. Perusahaan menggunakan halaman ini untuk berbagi jam buka, membuat pengumuman, dan terlibat dengan pelanggan secara online. Jika Anda adalah pengguna Facebook Page Insights, Anda dapat terhubung AWS Glue ke akun Facebook Page Insights Anda. Anda dapat menggunakan Facebook Page Insights sebagai sumber data dalam pekerjaan ETL Anda. Jalankan pekerjaan ini untuk mentransfer data dari Facebook Page Insights ke AWS layanan atau aplikasi lain yang didukung.

**Topics**
+ [AWS Glue dukungan untuk Facebook Page Insights](facebook-page-insights-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](facebook-page-insights-configuring-iam-permissions.md)
+ [Mengkonfigurasi Wawasan Halaman Facebook](facebook-page-insights-configuring.md)
+ [Mengkonfigurasi koneksi Facebook Page Insights](facebook-page-insights-configuring-connections.md)
+ [Membaca dari entitas Facebook Page Insights](facebook-page-insights-reading-from-entities.md)
+ [Opsi koneksi Facebook Page Insights](facebook-page-insights-connection-options.md)
+ [Keterbatasan dan catatan untuk konektor Facebook Page Insights](facebook-page-insights-connector-limitations.md)

# AWS Glue dukungan untuk Facebook Page Insights
<a name="facebook-page-insights-support"></a>

AWS Glue mendukung Wawasan Halaman Facebook sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi API Wawasan Halaman Facebook yang didukung**  
Versi API Facebook Page Insights berikut didukung:
+ v17
+ v18
+ v19
+ v20
+ v21

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="facebook-page-insights-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 Wawasan Halaman Facebook
<a name="facebook-page-insights-configuring"></a>

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

## Persyaratan minimum
<a name="facebook-page-insights-configuring-min-requirements"></a>

Berikut ini adalah persyaratan minimum:
+ Akun Standar Facebook diakses langsung melalui Facebook.
+ Otentikasi pengguna diperlukan untuk menghasilkan token akses.
+ Konektor Facebook Page Insights mengimplementasikan alur Token OAuth Akses Pengguna.
+ Konektor menggunakan OAuth2 .0 untuk mengautentikasi permintaan API kami ke Facebook Page Insights. Ini termasuk dalam arsitektur Multi-Factor Authentication (MFA), yang merupakan superset dari 2FA. Ini adalah otentikasi berbasis web.
+ Pengguna perlu memberikan izin untuk mengakses titik akhir. Untuk mengakses data pengguna, otorisasi endpoint ditangani melalui izin dan fitur.

# Mengkonfigurasi koneksi Facebook Page Insights
<a name="facebook-page-insights-configuring-connections"></a>

Untuk mengonfigurasi koneksi Wawasan Halaman Facebook:

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 Wawasan Halaman Facebook.

   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 URL kode otorisasi.

   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 Facebook Page Insights
<a name="facebook-page-insights-reading-from-entities"></a>

**Prasyarat**

Objek Wawasan Halaman Facebook yang ingin Anda baca. Anda akan membutuhkan nama objek.

**Entitas yang didukung untuk sumber**:


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih\$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| Konten Halaman | Ya | Tidak | Ya | Ya | Ya | 
| Klik Halaman CTA | Ya | Tidak | Tidak | Ya | Ya | 
| Keterlibatan Halaman | Ya | Tidak | Tidak | Ya | Ya | 
| Tayangan Halaman | Ya | Tidak | Tidak | Ya | Ya | 
| Postingan Halaman | Ya | Tidak | Tidak | Ya | Ya | 
| Keterlibatan Posting Halaman | Tidak | Tidak | Tidak | Ya | Tidak | 
| Reaksi Posting Halaman | Tidak | Tidak | Tidak | Ya | Tidak | 
| Reaksi Halaman | Ya | Tidak | Tidak | Ya | Ya | 
| Cerita | Ya | Tidak | Tidak | Ya | Ya | 
| Demografi Pengguna Halaman | Ya | Tidak | Tidak | Ya | Ya | 
| Tampilan Video Halaman | Ya | Tidak | Tidak | Ya | Ya | 
| Tampilan Halaman | Ya | Tidak | Tidak | Ya | Ya | 
| Halaman Video Postingan | Ya | Tidak | Tidak | Ya | Ya | 
| Halaman | Tidak | Ya | Tidak | Ya | Tidak | 
| Umpan | Ya | Ya | Tidak | Ya | Ya | 

**Contoh:**

```
facebookPageInsights_read = glueContext.create_dynamic_frame. from options(
    connection_type="facebookpageinsights",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v21"
   }
```

**Detail bidang Wawasan Halaman Facebook**:

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

## Mempartisi kueri
<a name="facebook-page-insights-reading-partitioning-queries"></a>

Partisi **berbasis filter**:

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 bidang Datetime, kami menerima format stempel waktu Spark yang digunakan dalam kueri Spark SQL.

  Contoh nilai valid:

  ```
  "2024-09-30T01:01:01.000Z"
  ```
+ `UPPER_BOUND`: nilai batas atas **eksklusif** dari bidang partisi yang dipilih.
+ `NUM_PARTITIONS`: jumlah partisi.

Contoh:

```
facebookPageInsights_read = glueContext.create_dynamic_frame.from_options(
     connection_type="facebookpageinsights",
     connection_options={
         "connectionName": "connectionName",
         "ENTITY_NAME": "entityName",
         "API_VERSION": "v21",
         "PARTITION_FIELD": "created_Time"
         "LOWER_BOUND": "2024-10-27T07:00:00+0000"
         "UPPER_BOUND": "2024-10-27T07:00:00+0000"
         "NUM_PARTITIONS": "10"
     }
```

# Opsi koneksi Facebook Page Insights
<a name="facebook-page-insights-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Facebook Page Insights:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama objek Anda di Facebook Page Insights.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Facebook Page Insights Rest API versi yang ingin Anda gunakan.
+ `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.
+ `INSTANCE_URL`(String) - (Diperlukan) Digunakan untuk Baca. URL instans Wawasan Halaman Facebook yang valid.

# Keterbatasan dan catatan untuk konektor Facebook Page Insights
<a name="facebook-page-insights-connector-limitations"></a>

Berikut ini adalah batasan atau catatan untuk konektor Facebook Page Insights:
+ Sebagian besar metrik akan diperbarui setiap 24 jam sekali.
+ Hanya dua tahun terakhir data wawasan yang tersedia.
+ Hanya 90 hari wawasan yang dapat dilihat pada satu waktu saat menggunakan `until` parameter `since` dan.

# Menghubungkan ke Freshdesk
<a name="connecting-to-data-freshdesk"></a>

Freshdesk adalah perangkat lunak dukungan pelanggan berbasis cloud yang kaya fitur dan mudah digunakan. Dengan beberapa saluran dukungan yang tersedia, termasuk obrolan langsung, email, telepon, dan media sosial, Anda dapat membantu pelanggan melalui metode komunikasi pilihan mereka. Jika Anda adalah pengguna Freshdesk, Anda dapat terhubung AWS Glue ke akun Freshdesk Anda. Anda dapat menggunakan Freshdesk sebagai sumber data dalam pekerjaan ETL Anda. Jalankan pekerjaan ini untuk mentransfer data dari Freshdesk ke AWS layanan atau aplikasi lain yang didukung.

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

# AWS Glue dukungan untuk Freshdesk
<a name="freshdesk-support"></a>

AWS Glue mendukung Freshdesk sebagai berikut:

**Didukung sebagai sumber?**  
Ya — Sinkronisasi dan Async. Anda dapat menggunakan pekerjaan AWS Glue ETL untuk meminta data dari Freshdesk.

**Didukung sebagai target?**  
Tidak.

**Versi Freshdesk API yang didukung**  
Versi Freshdesk API berikut didukung:
+ v2

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="freshdesk-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 Freshdesk
<a name="freshdesk-configuring"></a>

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

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

Berikut ini adalah persyaratan minimum:
+ Akun Freshdesk. Anda dapat memilih dari edisi Gratis, Pertumbuhan, Pro atau Perusahaan.
+ Kunci API pengguna Freshdesk.

# Mengkonfigurasi koneksi Freshdesk
<a name="freshdesk-configuring-connections"></a>

Freshdesk mendukung otentikasi kustom.

Untuk dokumentasi Freshdesk publik tentang pembuatan kunci API yang diperlukan untuk otorisasi kustom, lihat otentikasi [Freshdesk](https://developer.freshdesk.com/api/#authentication).

Berikut ini adalah langkah-langkah untuk mengkonfigurasi koneksi Freshdesk:
+ Di AWS Secrets Manager, buat rahasia dengan detail berikut:
  + Untuk aplikasi terkoneksi yang dikelola pelanggan — rahasianya harus berisi kunci API aplikasi yang terhubung dengan `apiKey` sebagai kunci. Perhatikan bahwa Anda harus membuat rahasia per koneksi di AWS Glue.
+ Dalam AWS Glue Studio, buat koneksi di bawah **Koneksi Data** dengan mengikuti langkah-langkah di bawah ini:
  + Saat memilih **sumber Data**, pilih Freshdesk.
  + Berikan contoh Freshdesk yang ingin Anda sambungkan. `INSTANCE_URL`
  + 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": "*"
        }
      ]
    }
    ```

------
  + Pilih `secretName` yang ingin Anda gunakan untuk koneksi ini AWS Glue untuk memasukkan token.
  + Pilih opsi jaringan jika Anda ingin menggunakan jaringan Anda.
+ Berikan peran IAM yang terkait dengan izin AWS Glue pekerjaan Anda untuk membaca`secretName`.
+ Dalam konfigurasi AWS Glue pekerjaan Anda, berikan `connectionName` sebagai **koneksi jaringan tambahan**.

# Membaca dari entitas Freshdesk
<a name="freshdesk-reading-from-entities"></a>

**Prasyarat**

Objek Freshdesk yang ingin Anda baca. Anda akan membutuhkan nama objek.

**Entitas yang didukung untuk sumber Sinkronisasi**:


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih \$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| Agen | Ya | Ya | Tidak | Ya | Ya | 
| Jam Kerja | Tidak | Ya | Tidak | Ya | Ya | 
| Perusahaan | Ya | Ya | Tidak | Ya | Ya | 
| Kontak  | Ya | Ya | Tidak | Ya | Ya | 
| Percakapan | Tidak | Ya | Tidak | Ya | Tidak | 
| Konfigurasi Email | Tidak | Ya | Tidak | Ya | Tidak | 
| Kotak Masuk Email | Ya | Ya | Ya | Ya | Tidak | 
| Kategori Forum | Tidak | Ya | Tidak | Ya | Tidak | 
| Forum | Tidak | Ya | Tidak | Ya | Tidak | 
| Grup | Tidak | Ya | Tidak | Ya | Tidak | 
| Produk | Tidak | Ya | Tidak | Ya | Tidak | 
| Peran | Tidak | Ya | Tidak | Ya | Tidak | 
| Peringkat Kepuasan | Ya | Ya | Tidak | Ya | Tidak | 
| Keterampilan | Tidak | Ya | Tidak | Ya | Tidak | 
| Solusi | Ya | Ya | Tidak | Ya | Tidak | 
| Survei | Tidak | Ya | Tidak | Ya | Tidak | 
| Tiket | Ya | Ya | Ya | Ya | Ya | 
| Entri Waktu | Ya | Ya | Tidak | Ya | Tidak | 
| Topik | Tidak | Ya | Tidak | Ya | Tidak | 
| Komentar Topik | Tidak | Ya | Tidak | Ya | Tidak | 

**Entitas yang didukung untuk sumber Async**:


| Entitas | Versi API | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih \$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | --- | 
| Perusahaan | v2 | Tidak | Tidak | Tidak | Tidak | Tidak | 
| Kontak  | v2 | Tidak | Tidak | Tidak | Tidak | Tidak | 

**Contoh:**

```
freshdesk_read = glueContext.create_dynamic_frame.from_options(
    connection_type="freshdesk",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v2"
    }
```

**Entitas Freshdesk dan detail bidang**:


| Entitas | Bidang | 
| --- | --- | 
| Agen | https://developers.freshdesk.com/api/\$1list\$1all\$1agents | 
| Jam kerja | https://developers.freshdesk.com/api/\$1list\$1all\$1business\$1hours | 
| Komentar | https://developers.freshdesk.com/api/\$1comment\$1attributess | 
| Perusahaan | https://developers.freshdesk.com/api/\$1companies | 
| Kontak  | https://developers.freshdesk.com/api/\$1list\$1all\$1contacts | 
| Percakapan | https://developers.freshdesk.com/api/\$1list\$1all\$1ticket\$1notes | 
| Konfigurasi email | https://developers.freshdesk.com/api/\$1list\$1all\$1email\$1configs | 
| Kotak masuk email | https://developers.freshdesk.com/api/\$1list\$1all\$1email\$1mailboxes | 
| Forum-kategori | https://developers.freshdesk.com/api/\$1category\$1attributes | 
| Forum | https://developers.freshdesk.com/api/\$1forum\$1attributes | 
| Grup | https://developers.freshdesk.com/api/\$1list\$1all\$1groups | 
| Produk | https://developers.freshdesk.com/api/\$1list\$1all\$1products | 
| Peran | https://developers.freshdesk.com/api/\$1list\$1all\$1roles | 
| Peringkat kepuasan | https://developers.freshdesk.com/api/\$1view\$1all\$1satisfaction\$1ratingss | 
| Keterampilan | https://developers.freshdesk.com/api/\$1list\$1all\$1skills | 
| Solusi | https://developers.freshdesk.com/api/\$1solution\$1content | 
| Survei | https://developers.freshdesk.com/api/\$1list\$1all\$1survey | 
| Tiket | https://developers.freshdesk.com/api/\$1list\$1all\$1tickets | 
| Entri waktu | https://developers.freshdesk.com/api/\$1list\$1all\$1time\$1entries | 
| Topik | https://developers.freshdesk.com/api/\$1topic\$1attributes | 

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

Partisi **berbasis filter**:

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 bidang Datetime, kami menerima format stempel waktu Spark yang digunakan dalam kueri Spark SQL.

  Contoh nilai valid:

  ```
  "2024-09-30T01:01:01.000Z"
  ```
+ `UPPER_BOUND`: nilai batas atas **eksklusif** dari bidang partisi yang dipilih.
+ `NUM_PARTITIONS`: jumlah partisi.

Contoh:

```
freshDesk_read = glueContext.create_dynamic_frame.from_options(
     connection_type="freshdesk",
     connection_options={
         "connectionName": "connectionName",
         "ENTITY_NAME": "entityName",
         "API_VERSION": "v2",
         "PARTITION_FIELD": "Created_Time"
         "LOWER_BOUND": " 2024-10-27T23:16:08Z“
         "UPPER_BOUND": " 2024-10-27T23:16:08Z"
         "NUM_PARTITIONS": "10"
     }
```

# Opsi koneksi Freshdesk
<a name="freshdesk-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Freshdesk:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama objek Anda di Freshdesk.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Versi Freshdesk Rest API yang ingin Anda gunakan.
+ `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.
+ `INSTANCE_URL`(String) - (Diperlukan) Digunakan untuk Baca. URL instance Freshdesk yang valid.
+ `TRANSFER_MODE`(String) - Digunakan untuk menunjukkan apakah jenis pengolahan seperti `SYNC` atau `ASYNC` diatur ke secara `SYNC` default. (Opsional)

# Keterbatasan dan catatan untuk konektor Freshdesk
<a name="freshdesk-connector-limitations"></a>

Berikut ini adalah batasan atau catatan untuk konektor Freshdesk:
+ `Tickets`Entitas `Company``Contacts`,, dan dengan filtrasi memiliki batasan pagination. Mereka hanya mengembalikan 30 catatan per halaman dan nilai halaman dapat diatur hingga maksimum 10 (mengambil maksimum 300 catatan).
+ `Tickets`Entitas tidak mengambil catatan yang lebih lama dari 30 hari.
+ `Tickets`Entitas `Company``Contacts`,, dan mendukung tipe data 'Tanggal' dalam filtrasi. Anda harus memilih frekuensi pemicu 'Harian' dan seterusnya untuk ketiga entitas ini. Memilih 'Menit' atau 'Per Jam' dapat menyebabkan duplikat data. Juga, saat memilih bidang ini untuk filtrasi, hanya nilai tanggal yang harus dipilih, karena hanya akan mempertimbangkan bagian tanggal dari stempel waktu yang dipilih.
+ Jumlah panggilan API per menit didasarkan pada paket Anda. Batas ini diterapkan secara luas akun terlepas dari faktor-faktor seperti jumlah agen atau alamat IP yang digunakan untuk melakukan panggilan. Untuk semua pengguna uji coba, ada batas API default 50 panggilan/menit. Untuk lebih jelasnya, lihat [Freshdesk](https://developer.freshdesk.com/api/#ratelimit)
+ Untuk entitas apa pun, hanya satu Export/Async Job yang diproses dalam satu waktu. Pekerjaan baru hanya akan diproses setelah pekerjaan yang ada berhasil atau gagal. Untuk lebih jelasnya, lihat [Freshdesk](https://developers.freshdesk.com/api/#export_contact)
+ Bidang berikut didukung untuk panggilan API Sinkronisasi, tetapi tidak supported/allowed boleh diteruskan di badan permintaan API Async.
  + id
  + dibuat\$1at
  + updated\$1at
  + diperbarui\$1sejak
  + aktif
  + perusahaan\$1id
  + other\$1companies
  + avatar
  + view\$1all\$1tickets
  + dihapus
  + email lainnya\$1
  + status
  + tanda
  + tag

# Menghubungkan ke Freshsales
<a name="connecting-to-data-freshsales"></a>

Freshsales adalah CRM intuitif yang membantu tenaga penjualan mengeluarkan dugaan dari penjualan. Dengan telepon dan email bawaan, tugas, janji temu dan catatan, tenaga penjualan tidak perlu beralih di antara tab untuk menindaklanjuti prospek. Anda dapat mengelola penawaran Anda dengan lebih baik dengan tampilan pipeline dan mendorong lebih banyak penawaran ke penutupan. Jika Anda adalah pengguna Freshsales, Anda dapat terhubung AWS Glue ke akun Freshsales Anda. Anda dapat menggunakan Freshsales sebagai sumber data dalam pekerjaan ETL Anda. Jalankan pekerjaan ini untuk mentransfer data dari Freshsales ke AWS layanan atau aplikasi lain yang didukung.

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

# AWS Glue dukungan untuk Freshsales
<a name="freshsales-support"></a>

AWS Glue mendukung Freshsales sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi API Freshsales yang didukung**  
Versi API Freshsales berikut didukung:
+ v1.0

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="freshsales-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 Freshsales
<a name="freshsales-configuring"></a>

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

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

Berikut ini adalah persyaratan minimum:
+ Anda memiliki akun Freshsales.
+ Anda memiliki kunci API pengguna.

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

# Mengkonfigurasi koneksi Freshsales
<a name="freshsales-configuring-connections"></a>

Freshsales mendukung otentikasi kustom.

[Untuk dokumentasi Freshsales publik tentang pembuatan kunci API yang diperlukan untuk autentikasi kustom, lihat Autentikasi.](https://developer.freshsales.io/api/#authentication)

Untuk mengkonfigurasi koneksi Freshsales:

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

   1. Untuk aplikasi tersambung yang dikelola pelanggan, Secret harus berisi kunci API aplikasi yang terhubung dengan `apiSecretKey` sebagai kunci. Rahasia juga perlu berisi pasangan kunci-nilai lain dengan `apiKey` sebagai kunci dan `token` sebagai nilai.

   1. Catatan: Anda harus membuat rahasia untuk koneksi Anda 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 **Sumber Data**, pilih Freshsales.

   1. Berikan akun Freshsales yang ingin Anda sambungkan. `INSTANCE_URL`

   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 Freshsales
<a name="freshsales-reading-from-entities"></a>

**Prasyarat**

Objek Freshsales yang ingin Anda baca. Anda akan membutuhkan nama objek.

**Entitas yang didukung untuk sumber**:


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih \$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| Akun | Ya | Ya | Ya | Ya | Ya | 
| Kontak  | Ya | Ya | Ya | Ya | Ya | 

**Contoh:**

```
freshSales_read = glueContext.create_dynamic_frame.from_options(
     connection_type="freshsales",
     connection_options={
         "connectionName": "connectionName",
         "ENTITY_NAME": "entityName",
         "API_VERSION": "v1.0"
     }
```

**Entitas Freshsales dan detail bidang**:

Freshsales menyediakan titik akhir untuk mengambil metadata secara dinamis untuk entitas yang didukung. Dengan demikian, dukungan operator ditangkap pada tingkat tipe data.

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

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

Partisi **berbasis filter**:

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 bidang Datetime, kami menerima nilai dalam format ISO.

  Contoh nilai valid:

  ```
  "2024-09-30T01:01:01.000Z"
  ```
+ `UPPER_BOUND`: nilai batas atas **eksklusif** dari bidang partisi yang dipilih.
+ `NUM_PARTITIONS`: jumlah partisi.

Contoh:

```
freshSales_read = glueContext.create_dynamic_frame.from_options(
     connection_type="freshsales",
     connection_options={
         "connectionName": "connectionName",
         "ENTITY_NAME": "entityName",
         "API_VERSION": "v1",
         "PARTITION_FIELD": "Created_Time"
         "LOWER_BOUND": " 2024-10-15T21:16:25Z"
         "UPPER_BOUND": " 2024-10-20T21:25:50Z"
         "NUM_PARTITIONS": "10"
     }
```

# Opsi koneksi Freshsales
<a name="freshsales-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Freshsales:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama objek Anda di Freshsales.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Versi Freshsales Rest API yang ingin Anda gunakan.
+ `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.
+ `INSTANCE_URL`(String) - Digunakan untuk Baca. URL instance Freshsales yang valid.

# Keterbatasan Freshsales
<a name="freshsales-connection-limitations"></a>

Berikut ini adalah batasan atau catatan untuk Freshsales:
+ Di Freshsales, batas API Rate adalah 1000 permintaan API per jam per akun (lihat [Kesalahan](https://developer.freshsales.io/api/#error). Tetapi batas ini dapat diperpanjang dengan paket langganan Enterprise (lihat [perbandingan paket](https://www.freshworks.com/crm/pricing-compare/)).

# Menyambung ke Google Ads
<a name="connecting-to-googleads"></a>

 Google Ads API adalah antarmuka terprogram untuk Google Ads, yang digunakan untuk mengelola akun dan kampanye Google Ads yang besar atau kompleks. Jika Anda pengguna Google Ads, Anda dapat terhubung AWS Glue ke akun Google Ads Anda. Kemudian, Anda dapat menggunakan Google Ads sebagai sumber data di lowongan ETL Anda. Jalankan tugas ini untuk mentransfer data antara Google Ads dan AWS layanan atau aplikasi lain yang didukung. 

**Topics**
+ [AWS Glue dukungan untuk Google Ads](googleads-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](googleads-configuring-iam-permissions.md)
+ [Mengonfigurasi Google Ads](googleads-configuring.md)
+ [Mengonfigurasi koneksi Google Ads](googleads-configuring-connections.md)
+ [Membaca dari entitas Google Ads](googleads-reading-from-entities.md)
+ [Opsi koneksi Google Ads](googleads-connection-options.md)
+ [Membuat akun Google Ads](googleads-create-account.md)
+ [Batasan](googleads-connector-limitations.md)

# AWS Glue dukungan untuk Google Ads
<a name="googleads-support"></a>

AWS Glue mendukung Google Ads sebagai berikut:

**Didukung sebagai sumber?**  
Ya. Anda dapat menggunakan lowongan AWS Glue ETL untuk menanyakan data dari Google Ads.

**Didukung sebagai target?**  
Tidak.

**Versi Google Ads API yang didukung**  
v18

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="googleads-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": "*"
    }
  ]
}
```

------

Anda juga dapat menggunakan kebijakan IAM terkelola berikut untuk mengizinkan akses:
+  [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. 

# Mengonfigurasi Google Ads
<a name="googleads-configuring"></a>

Sebelum dapat digunakan AWS Glue untuk mentransfer dari Google Ads, Anda harus memenuhi persyaratan berikut:

## Persyaratan minimum
<a name="googleads-configuring-min-requirements"></a>
+  Anda memiliki akun Google Ads dengan Email dan Kata Sandi. Untuk informasi selengkapnya tentang cara membuat akun, lihat [Membuat akun Google Ads](googleads-create-account.md). 
+  Akun Google Ads Anda diaktifkan untuk akses API. Semua penggunaan Google Ads API tersedia tanpa biaya tambahan. 
+  Akun Google Ads memungkinkan Anda menginstal aplikasi yang terhubung. Jika Anda tidak memiliki akses ke fungsi ini, hubungi administrator Google Ads Anda. 

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

# Mengonfigurasi koneksi Google Ads
<a name="googleads-configuring-connections"></a>

 Google Ads mendukung jenis `AUTHORIZATION_CODE` hibah untuk OAuth2. 

 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. AWS Glue Konsol akan mengarahkan pengguna ke Google Ads tempat pengguna harus masuk dan mengizinkan izin AWS Glue yang diminta untuk mengakses instance Google Ads mereka. 

 Pengguna dapat memilih untuk membuat aplikasi tersambung mereka sendiri di Google Ads dan memberikan ID klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue Konsol. Dalam skenario ini, mereka masih akan diarahkan ke Google Ads untuk masuk dan memberi wewenang AWS Glue untuk mengakses sumber daya mereka. 

 Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses berumur pendek, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran. 

 Untuk informasi selengkapnya, lihat [dokumentasi Google Ads publik tentang cara membuat aplikasi yang terhubung untuk OAuth alur Kode Otorisasi](https://developers.google.com/workspace/guides/create-credentials). 

Untuk mengonfigurasi koneksi Google Ads:

1.  Di AWS Secrets Manager, buat rahasia dengan detail berikut. Diperlukan untuk membuat rahasia untuk setiap koneksi di AWS Glue. 

   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. Di AWS Glue Glue Studio, buat koneksi di bawah **Koneksi Data** dengan mengikuti langkah-langkah di bawah ini: 

   1. Saat memilih **jenis Koneksi**, pilih Google Ads.

   1. Berikan Google `developer token` Ads yang ingin Anda sambungkan.

   1. Berikan Google `MANAGER ID` Ads jika Anda ingin masuk sebagai pengelola.

   1.  Pilih peran 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 Google Ads
<a name="googleads-reading-from-entities"></a>

 **Prasyarat** 
+  Objek Google Ads yang ingin Anda baca. Lihat tabel entitas yang didukung di bawah ini untuk memeriksa entitas yang tersedia. 

 **Entitas yang didukung** 


| Entitas | Dapat disaring | Mendukung Batas | Mendukung Order By | Mendukung Pilih\$1 | Mendukung Partisi | 
| --- | --- | --- | --- | --- | --- | 
| Iklan Grup Iklan | Ya | Ya | Ya | Tidak | Ya | 
| Grup Iklan | Ya | Ya | Ya | Tidak | Ya | 
| Anggaran Kampanye | Ya | Ya | Ya | Ya | Ya | 
| Anggaran Akun | Ya | Tidak | Ya | Ya | Tidak | 
| Kampanye | Ya | Ya | Ya | Ya | Ya | 
| Akun | Ya | Tidak | Ya | Tidak | Tidak | 

 **Contoh** 

```
googleAds_read = glueContext.create_dynamic_frame.from_options(
    connection_type="googleads",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "campaign-3467***",
        "API_VERSION": "v16"
    }
```

 **Entitas Google Ads dan detail bidang** 


| Entitas | Field | Tipe data | Operator yang Didukung | 
| --- | --- | --- | --- | 
| Akun | ResourceName | String | \$1=, = | 
| Akun | callReportingEnabled | Boolean | \$1=, = | 
| Akun | callConversionReportingDiaktifkan | Boolean | \$1=, = | 
| Akun | callConversionAction | String | \$1=, = | 
| Akun | conversionTrackingId | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Akun | crossAccountConversionTrackingId | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Akun | payPerConversionEligibilityFailureReasons | Daftar |  | 
| Akun | id | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Akun | currencyCode | String | \$1 =, =, SEPERTI | 
| Akun | Zona Waktu | String | \$1 =, =, SEPERTI | 
| Akun | autoTaggingEnabled | Boolean | \$1=, = | 
| Akun | hasPartnersBadge | Boolean | \$1=, = | 
| Akun | manajer | Boolean | \$1=, = | 
| Akun | TestAccount | Boolean | \$1=, = | 
| Akun | date | Date | ANTARA, =, <, >, <=, >= | 
| Akun | CostMicros | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Akun | acceptedCustomerDataKetentuan | Boolean |  | 
| Akun | conversionTrackingStatus | String | \$1 =, =, SEPERTI | 
| Akun | enhancedConversionsForLeadsEnabled | Boolean |  | 
| Akun | googleAdsConversionPelanggan | String |  | 
| Akun | status | String | \$1=, = | 
| Akun | allConversionsByConversionDate | Ganda | \$1=, =, <, > | 
| Akun | allConversionsValueByConversionDate | Ganda | \$1=, =, <, > | 
| Akun | conversionsByConversionTanggal | Ganda | \$1=, =, <, > | 
| Akun | conversionsValueByConversionDate | Ganda | \$1=, =, <, > | 
| Akun | valuePerAllConversionsByConversionDate | Ganda | \$1=, =, <, > | 
| Akun | VideoViews | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Akun | mengeklik | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Akun | InvalidClicks | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Akun | costPerAllKonversi | Ganda | \$1=, =, <, > | 
| Akun | costPerConversion | Ganda | \$1=, =, <, > | 
| Akun | konversi | Ganda | \$1=, =, <, > | 
| Akun | absoluteTopImpressionPersentase | Ganda | \$1=, =, <, > | 
| Akun | kesan | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Akun | topImpressionPercentage | Ganda | \$1=, =, <, > | 
| Akun | Rata-rataECPC | Ganda | \$1=, =, <, > | 
| Akun | activeViewMeasurableCostMicros | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Akun | Rata-RataCost | Ganda | \$1=, =, <, > | 
| Akun | ctr | Ganda | \$1=, =, <, > | 
| Akun | activeViewCtr | Ganda | \$1=, =, <, > | 
| Akun | searchImpressionShare | Ganda | \$1=, =, <, > | 
| Akun | ConversionAction | String | \$1=, = | 
| Akun | conversionActionCategory | String | \$1=, = | 
| Akun | conversionActionName | String | \$1 =, =, SEPERTI | 
| Anggaran Akun | ResourceName | String | \$1=, = | 
| Anggaran Akun | status | String | \$1=, = | 
| Anggaran Akun | proposedEndTimeTipe | String | \$1=, = | 
| Anggaran Akun | approvedEndTimeTipe | String | \$1=, = | 
| Anggaran Akun | id | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Anggaran Akun | Pengaturan Penagihan | String | \$1=, = | 
| Anggaran Akun | name | String | \$1 =, =, SEPERTI | 
| Anggaran Akun | approvedStartDateWaktu |  DateTime | ANTARA, =, <, >, <=, >= | 
| Anggaran Akun | proposedSpendingLimitMikro | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Anggaran Akun | approvedSpendingLimitMikro | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Anggaran Akun | adjustedSpendingLimitMikro | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Anggaran Akun | amountServedMicros | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Grup Iklan | ResourceName | String | \$1 =, =, SEPERTI | 
| Grup Iklan | status | String | \$1 =, =, SEPERTI | 
| Grup Iklan | jenis | String | \$1 =, =, SEPERTI | 
| Grup Iklan | id | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Grup Iklan | name | String | \$1 =, =, SEPERTI | 
| Grup Iklan | kampanye | String | \$1=, = | 
| Grup Iklan | cpcBidMicros | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Grup Iklan | targetCpaMicros | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Grup Iklan | cpmBidMicros | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Grup Iklan | cpvBidMicros | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Grup Iklan | targetCpmMicros | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Grup Iklan | effectiveTargetCpaMikro | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Grup Iklan | date | Date | ANTARA, =, <, >, <=, >= | 
| Grup Iklan | CostMicros | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Grup Iklan | useAudienceGrouped | Boolean | \$1=, = | 
| Grup Iklan | effectiveCpcBidMikro | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Grup Iklan | allConversionsByConversionDate | Ganda | \$1=, =, <, > | 
| Grup Iklan | allConversionsValueByConversionDate | Ganda | \$1=, =, <, > | 
| Grup Iklan | conversionsByConversionTanggal | Ganda | \$1=, =, <, > | 
| Grup Iklan | conversionsValueByConversionDate | Ganda | \$1=, =, <, > | 
| Grup Iklan | valuePerAllConversionsByConversionDate | Ganda | \$1=, =, <, > | 
| Grup Iklan | valuePerConversionsByConversionDate | Ganda | \$1=, =, <, > | 
| Grup Iklan | Rata-RataCost | Ganda | \$1=, =, <, > | 
| Grup Iklan | costPerAllKonversi | Ganda | \$1=, =, <, > | 
| Grup Iklan | costPerConversion | Ganda | \$1=, =, <, > | 
| Grup Iklan | averagePageViews | Ganda | \$1=, =, <, > | 
| Grup Iklan | VideoViews | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Grup Iklan | mengeklik | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Grup Iklan | AllConsions | Ganda | \$1=, =, <, > | 
| Grup Iklan | Rata-rataECPC | Ganda | \$1=, =, <, > | 
| Grup Iklan | absoluteTopImpressionPersentase | Ganda | \$1=, =, <, > | 
| Grup Iklan | kesan | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Grup Iklan | topImpressionPercentage | Ganda | \$1=, =, <, > | 
| Grup Iklan | activeViewCtr | Ganda | \$1=, =, <, > | 
| Grup Iklan | ctr | Ganda | \$1=, =, <, > | 
| Grup Iklan | searchTopImpressionBagikan | Ganda | \$1=, =, <, > | 
| Grup Iklan | searchImpressionShare | Ganda | \$1=, =, <, > | 
| Grup Iklan | searchAbsoluteTopImpressionShare | Ganda | \$1=, =, <, > | 
| Grup Iklan | RelativeCTR | Ganda | \$1=, =, <, > | 
| Grup Iklan | ConversionAction | String | \$1=, = | 
| Grup Iklan | conversionActionCategory | String | \$1=, = | 
| Grup Iklan | conversionActionName | String | \$1 =, =, SEPERTI | 
| Grup Iklan | UpdateMask | String |  | 
| Grup Iklan | buat | Struct |  | 
| Grup Iklan | perbarui | Struct |  | 
| Grup Iklan | PrimaryStatus | String | \$1=, = | 
| Grup Iklan | primaryStatusReasons | Daftar |  | 
| Iklan Grup Iklan | ResourceName | String | \$1=, = | 
| Iklan Grup Iklan | id | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Iklan Grup Iklan | status | String | \$1=, = | 
| Iklan Grup Iklan | label | Daftar |  | 
| Iklan Grup Iklan | AdGroup | String | \$1=, = | 
| Iklan Grup Iklan | CostMicros | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Iklan Grup Iklan | Status Persetujuan | String | \$1=, = | 
| Iklan Grup Iklan | UlasanStatus | String | \$1=, = | 
| Iklan Grup Iklan | AdStrength | String | \$1=, = | 
| Iklan Grup Iklan | jenis | String | \$1=, = | 
| Iklan Grup Iklan | Nama bisnis | String | \$1 =, =, SEPERTI | 
| Iklan Grup Iklan | date | Date | ANTARA, =, <, >, <=, >= | 
| Iklan Grup Iklan | allConversionsByConversionDate | Ganda | \$1=, =, <, > | 
| Iklan Grup Iklan | allConversionsValueByConversionDate | Ganda | \$1=, =, <, > | 
| Iklan Grup Iklan | conversionsByConversionTanggal | Ganda | \$1=, =, <, > | 
| Iklan Grup Iklan | conversionsValueByConversionDate | Ganda | \$1=, =, <, > | 
| Iklan Grup Iklan | valuePerAllConversionsByConversionDate | Ganda | \$1=, =, <, > | 
| Iklan Grup Iklan | valuePerConversionsByConversionDate | Ganda | \$1=, =, <, > | 
| Iklan Grup Iklan | activeViewMeasurableCostMicros | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Iklan Grup Iklan | Rata-RataCost | Ganda | \$1=, =, <, > | 
| Iklan Grup Iklan | costPerAllKonversi | Ganda | \$1=, =, <, > | 
| Iklan Grup Iklan | costPerConversion | Ganda | \$1=, =, <, > | 
| Iklan Grup Iklan | mengeklik | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Iklan Grup Iklan | averagePageViews | Ganda | \$1=, =, <, > | 
| Iklan Grup Iklan | VideoViews | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Iklan Grup Iklan | AllConsions | Ganda | \$1=, =, <, > | 
| Iklan Grup Iklan | Rata-rataECPC | Ganda | \$1=, =, <, > | 
| Iklan Grup Iklan | topImpressionPercentage | Ganda | \$1=, =, <, > | 
| Iklan Grup Iklan | kesan | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Iklan Grup Iklan | absoluteTopImpressionPersentase | Ganda | \$1=, =, <, > | 
| Iklan Grup Iklan | activeViewCtr | Ganda | \$1=, =, <, > | 
| Iklan Grup Iklan | ctr | Ganda | \$1=, =, <, > | 
| Iklan Grup Iklan | ConversionAction | String | \$1=, = | 
| Iklan Grup Iklan | conversionActionCategory | String | \$1=, = | 
| Iklan Grup Iklan | conversionActionName | String | \$1 =, =, SEPERTI | 
| Iklan Grup Iklan | UpdateMask | String |  | 
| Iklan Grup Iklan | buat | Struct |  | 
| Iklan Grup Iklan | perbarui | Struct |  | 
| Iklan Grup Iklan | policyValidationParameter | Struct |  | 
| Iklan Grup Iklan | PrimaryStatus | String | \$1=, = | 
| Iklan Grup Iklan | primaryStatusReasons | Daftar |  | 
| Kampanye | ResourceName | String | \$1=, = | 
| Kampanye | status | String | \$1=, = | 
| Kampanye | BaseCampaign | String | \$1=, = | 
| Kampanye | name | String | \$1 =, =, SEPERTI | 
| Kampanye | id | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Kampanye | Kampanye Anggaran | String | \$1 =, =, SEPERTI | 
| Kampanye | StartDate | Date | ANTARA, =, <, >, <=, >= | 
| Kampanye | EndDate | Date | ANTARA, =, <, >, <=, >= | 
| Kampanye | adServingOptimizationStatus | String | \$1=, = | 
| Kampanye | advertisingChannelType | String | \$1=, = | 
| Kampanye | advertisingChannelSubTipe | String | \$1=, = | 
| Kampanye | ExperimentType | String | \$1=, = | 
| Kampanye | Status Penyajian | String | \$1=, = | 
| Kampanye | biddingStrategyType | String | \$1=, = | 
| Kampanye | domainName | String | \$1 =, =, SEPERTI | 
| Kampanye | languageCode | String | \$1 =, =, SEPERTI | 
| Kampanye | useSuppliedUrlsHanya | Boolean | \$1=, = | 
| Kampanye | positiveGeoTargetTipe | String | \$1=, = | 
| Kampanye | negativeGeoTargetTipe | String | \$1=, = | 
| Kampanye | Mode Pembayaran | String | \$1=, = | 
| Kampanye | optimizationGoalTypes | Daftar |  | 
| Kampanye | date | Date | ANTARA, =, <, >, <=, >= | 
| Kampanye | Rata-RataCost | Ganda |  | 
| Kampanye | mengeklik | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Kampanye | CostMicros | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Kampanye | kesan | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Kampanye | useAudienceGrouped | Boolean | \$1=, = | 
| Kampanye | activeViewMeasurableCostMicros | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Kampanye | costPerAllKonversi | Ganda | \$1=, =, <, > | 
| Kampanye | costPerConversion | Ganda | \$1=, =, <, > | 
| Kampanye | InvalidClicks | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Kampanye | publisherPurchasedClicks | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Kampanye | averagePageViews | Ganda | \$1=, =, <, > | 
| Kampanye | VideoViews | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Kampanye | allConversionsByConversionDate | Ganda | \$1=, =, <, > | 
| Kampanye | allConversionsValueByConversionDate | Ganda | \$1=, =, <, > | 
| Kampanye | conversionsByConversionTanggal | Ganda | \$1=, =, <, > | 
| Kampanye | conversionsValueByConversionDate | Ganda | \$1=, =, <, > | 
| Kampanye | valuePerAllConversionsByConversionDate | Ganda | \$1=, =, <, > | 
| Kampanye | valuePerConversionsByConversionDate | Ganda | \$1=, =, <, > | 
| Kampanye | AllConsions | Ganda | \$1=, =, <, > | 
| Kampanye | absoluteTopImpressionPersentase | Ganda | \$1=, =, <, > | 
| Kampanye | searchAbsoluteTopImpressionShare | Ganda | \$1=, =, <, > | 
| Kampanye | Rata-rataECPC | Ganda | \$1=, =, <, > | 
| Kampanye | searchImpressionShare | Ganda | \$1=, =, <, > | 
| Kampanye | searchTopImpressionBagikan | Ganda | \$1=, =, <, > | 
| Kampanye | activeViewCtr | Ganda | \$1=, =, <, > | 
| Kampanye | ctr | Ganda | \$1=, =, <, > | 
| Kampanye | RelativeCTR | Ganda | \$1=, =, <, > | 
| Kampanye | UpdateMask | String |  | 
| Kampanye | buat | Struct |  | 
| Kampanye | perbarui | Struct |  | 
| Anggaran Kampanye | ResourceName | String | \$1=, = | 
| Anggaran Kampanye | id | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Anggaran Kampanye | status | String | \$1=, = | 
| Anggaran Kampanye | DeliveryMethod | String | \$1=, = | 
| Anggaran Kampanye | periode | String | \$1=, = | 
| Anggaran Kampanye | jenis | String | \$1=, = | 
| Anggaran Kampanye | name | String | \$1 =, =, SEPERTI | 
| Anggaran Kampanye | AmountMicros | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Anggaran Kampanye | Dibagikan secara eksplisit | Boolean | \$1=, = | 
| Anggaran Kampanye | ReferensiCount | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Anggaran Kampanye | hasRecommendedBudget | Boolean | \$1=, = | 
| Anggaran Kampanye | date | Date | ANTARA, =, <, >, <=, >= | 
| Anggaran Kampanye | CostMicros | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Anggaran Kampanye | StartDate | Date | ANTARA, =, <, >, <=, >= | 
| Anggaran Kampanye | EndDate | Date | ANTARA, =, <, >, <=, >= | 
| Anggaran Kampanye | maximizeConversionValueTargetRoas | Ganda | \$1=, =, <, > | 
| Anggaran Kampanye | maximizeConversionsTargetCpaMicros | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Anggaran Kampanye | selectiveOptimizationConversionTindakan | String |  | 
| Anggaran Kampanye | Rata-RataCost | Ganda | \$1=, =, <, > | 
| Anggaran Kampanye | costPerAllKonversi | Ganda | \$1=, =, <, > | 
| Anggaran Kampanye | costPerConversion | Ganda | \$1=, =, <, > | 
| Anggaran Kampanye | VideoViews | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Anggaran Kampanye | mengeklik | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Anggaran Kampanye | AllConsions | Ganda | \$1=, =, <, > | 
| Anggaran Kampanye | valuePerAllKonversi | Ganda | \$1=, =, <, > | 
| Anggaran Kampanye | Rata-rataECPC | Ganda | \$1=, =, <, > | 
| Anggaran Kampanye | kesan | BigInteger | ANTARA, =,\$1 =, <, >, <=, >= | 
| Anggaran Kampanye | ctr | Ganda | \$1=, =, <, > | 
| Anggaran Kampanye | UpdateMask | String |  | 
| Anggaran Kampanye | buat | Struct |  | 
| Anggaran Kampanye | perbarui | Struct |  | 

 **Mempartisi kueri** 

 Opsi percikan tambahan`PARTITION_FIELD`,, `LOWER_BOUND``UPPER_BOUND`, `NUM_PARTITIONS` dapat diberikan 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 percikan secara bersamaan. 
+  `PARTITION_FIELD`: nama bidang yang akan digunakan untuk mempartisi kueri. 
+  `LOWER_BOUND`: nilai batas bawah inklusif dari bidang partisi yang dipilih. 

   Untuk tanggal, kami menerima format tanggal Spark yang digunakan dalam kueri Spark SQL. Contoh nilai yang valid:`"2024-02-06"`. 
+  `UPPER_BOUND`: nilai batas atas eksklusif dari bidang partisi yang dipilih. 
+  `NUM_PARTITIONS`: jumlah partisi. 

 Detail dukungan bidang partisi berdasarkan entitas ditangkap dalam tabel berikut. 


| Nama Entitas | Bidang Partisi | Tipe data | 
| --- | --- | --- | 
| Iklan Grup Iklan | date | Date | 
| Grup Iklan | date | Date | 
| Kampanye | date | Date | 
| Anggaran Kampanye | date | Date | 

 **Contoh** 

```
googleads_read = glueContext.create_dynamic_frame.from_options(
    connection_type="googleads",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "campaign-3467***",
        "API_VERSION": "v16",
        "PARTITION_FIELD": "date"
        "LOWER_BOUND": "2024-01-01"
        "UPPER_BOUND": "2024-06-05"
        "NUM_PARTITIONS": "10"
    }
)
```

# Opsi koneksi Google Ads
<a name="googleads-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Google Ads:
+  `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Nama Objek Anda di Google Ads. 
+  `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Versi Google Ads Rest API yang ingin Anda gunakan. Contoh: v16. 
+  `DEVELOPER_TOKEN`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Diperlukan untuk mengautentikasi pengembang atau aplikasi yang membuat permintaan ke API. 
+  `MANAGER_ID`(String) - Digunakan untuk Baca/Tulis. Pengenal unik yang memungkinkan Anda mengelola beberapa akun Google Ads. Ini adalah ID pelanggan dari manajer yang berwenang. Jika akses Anda ke akun pelanggan melalui akun manajer, `MANAGER_ID` diperlukan. Untuk informasi selengkapnya, lihat [login-customer-id](https://developers.google.com/google-ads/api/docs/concepts/call-structure#cid). 
+  `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. 

# Membuat akun Google Ads
<a name="googleads-create-account"></a>

1.  Masuk ke [Akun Pengembang Google Ads](https://console.cloud.google.com) dengan kredensialnya, lalu buka \$1. MyProject   
![\[Tangkapan layar menampilkan layar selamat datang untuk masuk ke Akun Pengembang Google Ads.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/google-ads-log-in-developer-account.png)

1.  Pilih **Proyek Baru** dan berikan informasi yang diperlukan untuk membuat proyek Google jika Anda tidak memiliki aplikasi terdaftar di dalamnya.   
![\[Tangkapan layar menunjukkan halaman pilih proyek. Pilih Proyek Baru di sudut kanan atas.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/google-ads-new-project.png)  
![\[Tangkapan layar menunjukkan jendela Proyek Baru untuk memasukkan nama proyek dan memilih lokasi.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/google-ads-new-project-name-location.png)

1.  Pilih **Tab Navigasi**, lalu **API dan Pengaturan**, dan **Buat Id Klien** dan **ClientSecret**yang akan memerlukan konfigurasi lebih lanjut untuk membuat koneksi antara AWS Glue dan GoogleAds. Untuk informasi selengkapnya, lihat [kredensial API](https://console.cloud.google.com/apis/credentials).   
![\[Tangkapan layar menunjukkan halaman konfigurasi APIs dan layanan.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/google-ads-apis-and-services.png)

1.  Pilih **CREATE CREDENTIALS** dan pilih **OAuth client** ID.   
![\[Tangkapan layar menunjukkan halaman konfigurasi APIs dan layanan dengan drop-down Buat Kredensial dan opsi ID klien Oauth disorot.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/google-ads-create-credentials.png)

1.  Pilih **jenis Aplikasi** sebagai **aplikasi Web**.   
![\[Screenshot menunjukkan halaman Create OAuth client ID dan Application type as Web application.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/google-ads-oauth-client-id-application-type.png)

1.  **Di bawah **Authorized Redirect URIs**, tambahkan OAuth Redirect URIs dan pilih Create.** Anda dapat menambahkan beberapa pengalihan URIs jika diperlukan.   
![\[Tangkapan layar menunjukkan halaman Buat ID OAuth klien dan bagian Pengalihan URIs Resmi. Di sini, tambahkan URIs dan pilih ADD URI jika diperlukan. Setelah selesai, pilih CREATE.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/google-ads-oauth-redirect-uris.png)

1.  **ID Klien** dan **Rahasia Klien** Anda akan dibuat saat membuat koneksi antara AWS Glue dan Google Ads.   
![\[Tangkapan layar menunjukkan halaman Buat ID OAuth klien dan bagian Pengalihan URIs Resmi. Di sini, tambahkan URIs dan pilih ADD URI jika diperlukan. Setelah selesai, pilih CREATE.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/google-ads-oauth-client-created.png)

1.  Tambahkan cakupan sesuai dengan kebutuhan aplikasi Anda berdasarkan, pilih **layar OAuth persetujuan** dan berikan informasi yang diperlukan dan tambahkan cakupan berdasarkan persyaratan.   
![\[Tangkapan layar menunjukkan halaman Perbarui cakupan yang dipilih. Pilih cakupan Anda sesuai kebutuhan.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/google-ads-selected-scopes.png)

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

Berikut ini adalah batasan untuk konektor Google Ads:
+ `MANAGER_ID`adalah input opsional saat membuat koneksi. Tetapi ketika Anda ingin mengakses pelanggan yang mendasari manajer tertentu, maka `MANAGER_ID` adalah masukan wajib. Tabel di bawah ini menjelaskan batasan akses berdasarkan `MANAGER_ID` apakah disertakan atau tidak dalam koneksi.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/googleads-connector-limitations.html)
+ Ketika akun manajer dipilih sebagai objek, hanya `Account` akan muncul sebagai sub-objek. Di konektor Google Ads, entitas seperti kampanye, iklan, dll., diambil berdasarkan akun klien individual, bukan akun manajer.
+ Anda tidak dapat mengambil metrik untuk akun manajer. Anda dapat mengambil metrik untuk akun klien individual sebagai gantinya.
+  Setiap akun dapat memiliki hingga 10.000 kampanye, termasuk kampanye aktif dan yang dijeda. Untuk informasi selengkapnya, lihat [Kampanye per akun](https://support.google.com/google-ads/answer/6372658). 
+  Saat membuat laporan, jika Anda memilih metrik tertentu untuk ditampilkan, setiap baris yang metrik yang dipilih semuanya nol tidak akan dikembalikan. Untuk informasi selengkapnya, lihat [Nol Metrik](https://developers.google.com/google-ads/api/docs/reporting/zero-metrics?hl=en#exclude_zero_metrics_by_segmenting). 
+  Dengan bidang berikut, alur Pemetaan Lengkap tidak akan berfungsi untuk entitas Iklan Akun, Grup Iklan, dan Grup Iklan, khususnya untuk ConversionAction,,. conversionActionCategory conversionActionName Untuk informasi selengkapnya, lihat [Segmen dan Metrik](https://developers.google.com/google-ads/api/docs/reporting/segmentation?hl=en#selectability_between_segments_and_metrics). 
+ Filter rentang tanggal wajib dilakukan saat `segments.date` bidang dipilih.

# Menghubungkan ke Google Analytics 4
<a name="connecting-to-googleanalytics"></a>

 Google Analytics 4 adalah layanan analitik yang melacak dan melaporkan metrik tentang interaksi pengunjung dengan aplikasi dan situs web Anda. Metrik ini mencakup tampilan halaman, pengguna aktif, dan acara. Jika Anda adalah pengguna Google Analytics 4, Anda dapat terhubung AWS Glue ke akun Google Analytics 4 Anda. Anda dapat menggunakan Google Analytics 4 sebagai sumber data dalam pekerjaan ETL Anda. Jalankan pekerjaan ini untuk mentransfer data dari Google Analytics 4 ke AWS layanan atau aplikasi lain yang didukung. 

**Topics**
+ [AWS Glue dukungan untuk Google Analytics 4](googleanalytics-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](googleanalytics-configuring-iam-permissions.md)
+ [Mengkonfigurasi Google Analytics 4](googleanalytics-configuring.md)
+ [Mengkonfigurasi koneksi Google Analytics 4](googleanalytics-configuring-connections.md)
+ [Membaca dari entitas Google Analytics 4](googleanalytics-reading-from-entities.md)
+ [Opsi koneksi Google Analytics 4](googleanalytics-connection-options.md)
+ [Membuat akun Google Analytics 4](googleanalytics-create-account.md)
+ [Langkah-langkah untuk membuat aplikasi klien dan kredensi OAuth 2.0](googleanalytics-client-app-oauth-credentials.md)
+ [Pertimbangan dan batasan](googleanalytics-connector-limitations.md)

# AWS Glue dukungan untuk Google Analytics 4
<a name="googleanalytics-support"></a>

AWS Glue mendukung Google Analytics 4 sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi Google Analytics 4 API yang didukung**  
 v1 Beta. 

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="googleanalytics-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": "*"
    }
  ]
}
```

------

Anda juga dapat menggunakan kebijakan IAM terkelola berikut untuk mengizinkan akses:
+  [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 Google Analytics 4
<a name="googleanalytics-configuring"></a>

Sebelum Anda dapat menggunakan AWS Glue untuk mentransfer dari Google Analytics 4, Anda harus memenuhi persyaratan ini:

## Persyaratan minimum
<a name="googleanalytics-configuring-min-requirements"></a>
+  Anda memiliki akun Google Analytics dengan satu atau beberapa aliran data yang mengumpulkan data yang ingin Anda transfer. 
+  Anda memiliki akun Google Cloud Platform dan proyek Google Cloud. 
+  Di project Google Cloud Anda, Anda telah mengaktifkan yang berikut ini APIs: 
  +  API Google Analytics 
  +  API Admin Google Analytics 
  +  API Data Google Analytics 
+  Di project Google Cloud, Anda telah mengonfigurasi layar OAuth persetujuan untuk pengguna eksternal. Untuk informasi tentang layar OAuth persetujuan, lihat [Menyiapkan layar OAuth persetujuan Anda](https://support.google.com/cloud/answer/10311615#) di Bantuan Google Cloud Platform Console. 
+  Di project Google Cloud Anda, Anda telah mengonfigurasi ID klien OAuth 2.0. Untuk informasi selengkapnya, lihat [Menyiapkan OAuth 2.0](https://support.google.com/cloud/answer/6158849?hl=en#zippy=). 

 Jika memenuhi persyaratan ini, Anda siap untuk terhubung AWS Glue ke akun Google Analytics 4 Anda. 

# Mengkonfigurasi koneksi Google Analytics 4
<a name="googleanalytics-configuring-connections"></a>

Untuk mengonfigurasi koneksi Google Sheet:

1.  Di AWS Secrets Manager, buat rahasia dengan detail berikut. Diperlukan untuk membuat rahasia untuk setiap koneksi di AWS Glue. 

   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. Di AWS Glue Glue Studio, buat koneksi di bawah **Koneksi Data** dengan mengikuti langkah-langkah di bawah ini: 

   1. Saat memilih **jenis Koneksi**, pilih Google Analytics 4.

   1. Berikan Google Analytics 4 yang ingin Anda sambungkan. `INSTANCE_URL`

   1.  Pilih peran 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`. 

 `AUTHORIZATION_CODE`jenis hibah. 

 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. AWS Glue Konsol akan mengarahkan pengguna ke Google Analytics 4 di mana pengguna harus masuk dan mengizinkan izin AWS Glue yang diminta untuk mengakses instans Google Analytics 4 mereka. 

 Pengguna masih dapat memilih untuk membuat aplikasi terhubung mereka sendiri di Google Analytics 4 dan memberikan id klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue Konsol. Dalam skenario ini, mereka masih akan diarahkan ke Google Analytics 4 untuk masuk dan memberi wewenang AWS Glue untuk mengakses sumber daya mereka. 

 Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses berumur pendek, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran. 

 Untuk informasi selengkapnya, lihat [Menggunakan Auth 2.0 untuk Mengakses Google APIs](https://developers.google.com/identity/protocols/oauth2). 

# Membaca dari entitas Google Analytics 4
<a name="googleanalytics-reading-from-entities"></a>

 **Prasyarat** 
+  Objek Google Analytics 4 yang ingin Anda baca. Lihat tabel entitas yang didukung di bawah ini untuk memeriksa entitas yang tersedia. 

 **Entitas yang didukung** 


| Entitas | Dapat disaring | Mendukung Batas | Mendukung Order By | Mendukung Pilih\$1 | Mendukung Partisi | 
| --- | --- | --- | --- | --- | --- | 
| Laporan Real-Time | Ya | Ya | Ya | Ya | Tidak | 
| Laporan Inti | Ya | Ya | Ya | Ya | Ya | 

 **Contoh** 

```
googleAnalytics4_read = glueContext.create_dynamic_frame.from_options(
    connection_type="GoogleAnalytics4",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v1beta"
    }
```

 **Detail entitas dan bidang Google Analytics 4** 


| Entitas | Field | Tipe data | Operator yang Didukung | 
| --- | --- | --- | --- | 
| Laporan Inti | Bidang Dinamis |  |  | 
| Laporan Inti | Bidang Dimensi | String | SEPERTI, = | 
| Laporan Inti | Bidang Dimensi | Date | SEPERTI, = | 
| Laporan Inti | Bidang Metrik | String | >, <, >=, <=, = ANTARA | 
| Laporan Inti | Dimensi Kustom dan Bidang Metrik Kustom | String | TA | 
| Laporan Real-Time | AppVersion | String | SEPERTI, = | 
| Laporan Real-Time | AudienceID | String | SEPERTI, = | 
| Laporan Real-Time | Nama Pemirsa | String | SEPERTI, = | 
| Laporan Real-Time | kota | String | SEPERTI, = | 
| Laporan Real-Time | CityID | String | SEPERTI, = | 
| Laporan Real-Time | negeri | String | SEPERTI, = | 
| Laporan Real-Time | CountryID | String | SEPERTI, = | 
| Laporan Real-Time | DeviceKategori | String | SEPERTI, = | 
| Laporan Real-Time | eventName | String | SEPERTI, = | 
| Laporan Real-Time | MinuteSago | String | SEPERTI, = | 
| Laporan Real-Time | platform | String | SEPERTI, = | 
| Laporan Real-Time | streamId | String | SEPERTI, = | 
| Laporan Real-Time | StreamName | String | SEPERTI, = | 
| Laporan Real-Time | unifiedScreenName | String | SEPERTI, = | 
| Laporan Real-Time | ActiveUsers | String | >, <, >=, <=, = ANTARA | 
| Laporan Real-Time | konversi | String | >, <, >=, <=, = ANTARA | 
| Laporan Real-Time | EventCount | String | >, <, >=, <=, = ANTARA | 
| Laporan Real-Time | screenPageViews | String | >, <, >=, <=, = ANTARA | 

 **Mempartisi kueri** 

1.  **Partisi berbasis filter** 

    Opsi percikan tambahan`PARTITION_FIELD`,, `LOWER_BOUND``UPPER_BOUND`, `NUM_PARTITIONS` dapat diberikan 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 percikan secara bersamaan. 
   +  `PARTITION_FIELD`: nama bidang yang akan digunakan untuk mempartisi kueri. 
   +  `LOWER_BOUND`: nilai batas bawah inklusif dari bidang partisi yang dipilih. 

      Untuk tanggal, kami menerima format tanggal Spark yang digunakan dalam kueri Spark SQL. Contoh nilai yang valid:`"2024-02-06"`. 
   +  `UPPER_BOUND`: nilai batas atas eksklusif dari bidang partisi yang dipilih. 
   +  `NUM_PARTITIONS`: jumlah partisi. 

    **Contoh** 

   ```
   googleAnalytics4_read = glueContext.create_dynamic_frame.from_options(
       connection_type="GoogleAnalytics4",
       connection_options={
           "connectionName": "connectionName",
           "ENTITY_NAME": "entityName",
           "API_VERSION": "v1beta",
           "PARTITION_FIELD": "date"
           "LOWER_BOUND": "2022-01-01"
           "UPPER_BOUND": "2024-01-02"
           "NUM_PARTITIONS": "10"
       }
   ```

1.  **Partisi berbasis rekaman** 

    Opsi percikan tambahan `NUM_PARTITIONS` dapat diberikan 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 percikan secara bersamaan. 
   +  `NUM_PARTITIONS`: jumlah partisi. 

    **Contoh** 

   ```
   googleAnalytics4_read = glueContext.create_dynamic_frame.from_options(
       connection_type="GoogleAnalytics4",
       connection_options={
           "connectionName": "connectionName",
           "ENTITY_NAME": "entityName",
           "API_VERSION": "v1beta",
           "NUM_PARTITIONS": "10"
       }
   ```

# Opsi koneksi Google Analytics 4
<a name="googleanalytics-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Google Analytics 4:
+  `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama Objek Anda di Google Analytics 4. 
+  `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Google Analytics 4 Rest API versi yang ingin Anda gunakan. 
+  `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. 
+  `INSTANCE_URL`(Integer) - Digunakan untuk Baca. (Opsional) 

# Membuat akun Google Analytics 4
<a name="googleanalytics-create-account"></a>

 Ikuti langkah-langkah untuk membuat akun Google Analytics 4: [https://support.google.com/analytics/jawaban/9304153? hl=id](https://support.google.com/analytics/answer/9304153?hl=en) 

# Langkah-langkah untuk membuat aplikasi klien dan kredensi OAuth 2.0
<a name="googleanalytics-client-app-oauth-credentials"></a>

 Untuk informasi selengkapnya, lihat dokumentasi [Google Analytics4 API](https://developers.google.com/analytics/devguides/reporting/data/v1). 

1.  Buat dan atur akun Anda dengan masuk ke Akun [Google Analytics](https://analytics.google.com/) Anda dengan kredensi Anda. Kemudian navigasikan ke **Admin** > **Buat Akun**. 

1.  Buat properti untuk akun yang telah Anda buat dengan memilih **Buat Properti**. Siapkan properti dengan detail yang diperlukan. Setelah semua detail yang diberikan id properti yang sesuai akan dihasilkan. 

1.  Tambahkan Data Stream untuk properti yang dibuat dengan memilih **Data Streams > Add** **Stream** > **Web** dari drop-down. Berikan detail situs web seperti URL dan bidang wajib lainnya. Setelah memberikan semua detail, **id aliran dan id** **pengukuran** yang sesuai akan dihasilkan. 

1.  Siapkan Google Analytics di situs web Anda dengan menyalin id pengukuran dan menambahkan ke konfigurasi situs web Anda. 

1.  Buat Laporan dari Google Analytics dengan menavigasi ke **Laporan dan membuat laporan** yang diperlukan. 

1.  Otorisasi aplikasi Anda dengan menavigasi ke [console.cloud.google.com]( https://console.cloud.google.com) dan cari Google Analytics Data API, lalu aktifkan API. 

   1.  Arahkan ke halaman API dan Layanan dan pilih **Kredensial>** **penyiapan OAuth 2.0** Klien. IDs 

   1.  Berikan URL pengalihan dengan menambahkan URL AWS Glue Pengalihan. 

1.  Salin id klien dan rahasia klien yang akan membutuhkan lebih lanjut untuk membuat koneksi. 

# Pertimbangan dan batasan
<a name="googleanalytics-connector-limitations"></a>

Berikut ini adalah batasan untuk konektor Google Analytics 4:
+  Untuk entitas Laporan Inti, hanya 9 bidang dimensi dan 10 bidang metrik yang diizinkan untuk mengirim permintaan. Jika jumlah bidang yang diizinkan terlampaui maka permintaan akan gagal dan konektor akan melempar pesan kesalahan. 
+  Untuk entitas Laporan Waktu Nyata, hanya 4 bidang dimensi yang diizinkan untuk mengirim permintaan. Jika jumlah bidang yang diizinkan terlampaui maka permintaan akan gagal dan konektor akan melempar pesan kesalahan. 
+  Google Analytics 4 adalah alat gratis versi beta, jadi akan ada pembaruan rutin pada fitur baru, peningkatan entitas, penambahan bidang baru, dan menghentikan bidang yang ada. 
+  Bidang Laporan Inti diisi secara dinamis, sehingga akan ada penambahan, penyusutan dan penggantian nama bidang dan memberlakukan batasan baru pada bidang dapat dilakukan kapan saja. 
+  Tanggal mulai default adalah 30 hari dan tanggal akhir kemarin (satu hari sebelum tanggal saat ini), dan tanggal-tanggal ini akan diganti dalam kode ekspresi filter jika pengguna telah menetapkan nilai OR jika alirannya bertahap. 
+  Sesuai dokumentasi, entitas laporan Real-Time mengembalikan 10.000 catatan jika batas tidak diteruskan dalam permintaan, jika tidak API mengembalikan maksimum 250.000 baris per permintaan, tidak peduli berapa banyak yang Anda minta. Untuk informasi selengkapnya lihat [Metode: properti. runRealtimeReport](https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/runRealtimeReport)dalam dokumentasi Google Analytics. 
+  Entitas Real-Time Report tidak mendukung Partisi Berbasis Rekam karena tidak mendukung pagination. Juga, itu tidak mendukung Partisi Berbasis Bidang karena tidak ada bidang yang memenuhi kriteria yang ditentukan. 
+  Karena keterbatasan jumlah bidang yang dapat diteruskan dalam permintaan. Kami menetapkan dimensi default dan bidang metrik dalam batas yang ditentukan. Jika “pilih semua” dipilih, hanya data dari bidang yang telah ditentukan yang akan diambil. 
  +  Laporan Inti 
    +  Sesuai batasan dari SAAS - permintaan diizinkan hingga 9 dimensi dan hingga 10 metrik saja (yaitu, permintaan dapat berisi maksimum 19 bidang (metrik \$1 dimensi). 
    +  Sesuai implementasi - Jika pengguna menggunakan SELECT\$1ALL atau bidang yang dipilih lebih dari 25, maka bidang default akan diteruskan dalam permintaan. 
    +  Bidang berikut dianggap sebagai bidang default untuk Laporan Inti - “country”, “city”, “EventName”, “cityId”, “browser”, “date”, “currencyCode”, “DeviceCategory”, “TransactionId”, DayUsers active1 “, “DayUsersactive28 “, “DayUsersactive7 “, “ActiveUsers”, "“," Pengguna”, "“, “EngagedSessions”, “EventCount”, “EngageMentrate”. averagePurchaseRevenue averageRevenuePer averageSessionDuration 
  +  Laporan Real-Time 
    +  Sesuai batasan dari permintaan SAAS diizinkan hingga 4 dimensi. 
    +  Jika pengguna melewati SELECT\$1ALL atau bidang yang dipilih lebih dari 15, maka bidang default akan diteruskan dalam permintaan. 
    +  Bidang berikut dianggap sebagai bidang default untuk RealTime Laporan - “negara”, “DeviceCategory”, “city”, “cityId”, “ActiveUsers”, “conversion”, “EventCount”, "”. screenPageViews 
+  Di entitas Core-Report, jika partisi pada bidang tanggal dan filter pada startDate hadir secara bersamaan. Dalam hal ini nilai DateRange akan diganti dengan nilai filter startDate, Tapi, karena partisi harus selalu menjadi prioritas, maka membuang filter startDate jika partisi pada bidang tanggal sudah ada. 
+  Karena sekarang CohortSpecs juga merupakan bagian dari badan permintaan laporan inti, kami meningkatkan entitas laporan inti saat ini untuk menyertakan dukungan untuk atribut CohortSpec. Di badan permintaan CohortSpecs, hampir semua bidang memerlukan input pengguna. Untuk mengatasi hal ini, kami telah menetapkan nilai default untuk itu attributes/fields dan menyediakan ketentuan bagi pengguna untuk mengganti nilai-nilai ini jika diperlukan.     
<a name="google-analytics-connector-limitations-table"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/googleanalytics-connector-limitations.html)
+  Anda juga dapat meneruskan semua filter ini sekaligus atau dengan filter lain. 
  +  Contoh 1 - FilterPredicate: startDate antara “2023-05-09" dan “2023-05-10" DAN startOffset = 1 DAN endoffset = 2 DAN granularity="Weekly” 
  +  Contoh 2 - filterPredicate: city= “xyz” DAN startOffset=1 DAN endoffset=2 DAN granularity="Weekly” 
+  Dalam permintaan kohort: 
  +  Jika 'cohortNthMonth' dilewatkan dalam permintaan, maka nilai granularitas internal akan ditetapkan sebagai “BULANAN” 
  +  Demikian pula, jika 'cohortNthWeek' dilewatkan, maka nilai granularitas akan ditetapkan sebagai “MINGGUAN” 
  +  Dan, untuk 'cohortNthDay' nilai granularitas akan ditetapkan sebagai “HARIAN”. Untuk informasi lebih lanjut, lihat: 
    +  [ https://developers.google.com/analytics/devguides/reporting/data/v1/advanced ](https://developers.google.com/analytics/devguides/reporting/data/v1/advanced) 
    +  [ https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/CohortSpec ](https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/CohortSpec) 
  +  Ketentuan diberikan bagi pengguna untuk mengganti nilai default DateRange dan granularitas. Lihat tabel di atas. 

# Menghubungkan ke Google BigQuery di AWS Glue Studio
<a name="connecting-to-data-bigquery"></a>

**catatan**  
  Anda dapat menggunakan Spark AWS Glue untuk membaca dari dan menulis ke tabel di Google BigQuery dalam versi AWS Glue 4.0 dan yang lebih baru. Untuk mengonfigurasi Google BigQuery dengan AWS Glue pekerjaan secara terprogram, lihat [BigQuery koneksi](aws-glue-programming-etl-connect-bigquery-home.md).  

 AWS Glue Studiomenyediakan antarmuka visual untuk terhubung BigQuery, membuat pekerjaan integrasi data, dan menjalankannya pada runtime Spark AWS Glue Studio tanpa server. 

 Saat membuat koneksi ke Google BigQuery di AWS Glue Studio, koneksi terpadu dibuat. Untuk informasi selengkapnya, lihat [Pertimbangan-pertimbangan](using-connectors-unified-connections.md#using-connectors-unified-connections-considerations). 

 Alih-alih membuat rahasia dengan kredensi dalam format tertentu,`{"credentials": "base64 encoded JSON"}`, sekarang dengan koneksi terpadu ke Google BigQuery, Anda dapat membuat rahasia yang secara langsung menyertakan JSON dari Goolge:. BigQuery `{"type": "service-account", ...}` 

**Topics**
+ [Membuat BigQuery koneksi](creating-bigquery-connection.md)
+ [Membuat simpul BigQuery sumber](creating-bigquery-source-node.md)
+ [Membuat node BigQuery target](creating-bigquery-target-node.md)
+ [Opsi lanjutan](#creating-bigquery-connection-advanced-options)

# Membuat BigQuery koneksi
<a name="creating-bigquery-connection"></a>

Untuk terhubung ke Google BigQuery dari AWS Glue, Anda harus membuat dan menyimpan kredensi Google Cloud Platform Anda secara AWS Secrets Manager rahasia, lalu mengaitkan rahasia itu dengan koneksi Google BigQuery AWS Glue .

**Untuk mengkonfigurasi koneksi ke BigQuery:**

1. Di Google Cloud Platform, buat dan identifikasi sumber daya yang relevan:
   + Buat atau identifikasi proyek GCP yang berisi BigQuery tabel yang ingin Anda sambungkan.
   + Aktifkan BigQuery API. Untuk informasi selengkapnya, lihat [Menggunakan BigQuery Storage Read API untuk membaca data tabel](https://cloud.google.com/bigquery/docs/reference/storage/#enabling_the_api).

1. Di Google Cloud Platform, buat dan ekspor kredensional akun layanan:

   [Anda dapat menggunakan panduan BigQuery kredensial untuk mempercepat langkah ini: Buat kredensial.](https://console.cloud.google.com/apis/credentials/wizard?api=bigquery.googleapis.com)

   Untuk membuat akun layanan di GCP, ikuti tutorial yang tersedia di [Buat akun layanan](https://cloud.google.com/iam/docs/service-accounts-create).
   + Saat memilih **proyek**, pilih proyek yang berisi BigQuery tabel Anda.
   + Saat memilih peran IAM GCP untuk akun layanan Anda, tambahkan atau buat peran yang akan memberikan izin yang sesuai untuk menjalankan BigQuery pekerjaan untuk membaca, menulis, atau membuat tabel. BigQuery

   Untuk membuat kredensi untuk akun layanan Anda, ikuti tutorial yang tersedia di [Buat kunci akun layanan](https://cloud.google.com/iam/docs/keys-create-delete#creating).
   + Saat memilih jenis kunci, pilih **JSON**.

   Anda seharusnya sudah mengunduh file JSON dengan kredensi untuk akun layanan Anda. Itu terlihat serupa dengan yang berikut ini:

   ```
   {
     "type": "service_account",
     "project_id": "*****",
     "private_key_id": "*****",
     "private_key": "*****",
     "client_email": "*****",
     "client_id": "*****",
     "auth_uri": "https://accounts.google.com/o/oauth2/auth",
     "token_uri": "https://oauth2.googleapis.com/token",
     "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
     "client_x509_cert_url": "*****",
     "universe_domain": "googleapis.com"
   }
   ```

1. Di AWS Secrets Manager, buat rahasia menggunakan file kredensi yang Anda unduh. Anda dapat memilih **Plaintext** tab dan menempelkan konten file berformat JSON. Untuk membuat rahasia di Secrets Manager, ikuti tutorial yang tersedia di [Buat AWS Secrets Manager rahasia](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret.html) dalam AWS Secrets Manager dokumentasi. Setelah membuat rahasia, simpan nama Rahasia, *secretName* untuk langkah selanjutnya. 

1. Di Katalog AWS Glue Data, buat koneksi dengan mengikuti langkah-langkah di[https://docs.aws.amazon.com/glue/latest/dg/console-connections.html](https://docs.aws.amazon.com/glue/latest/dg/console-connections.html). Setelah membuat koneksi, pertahankan nama koneksi,*connectionName*, untuk langkah selanjutnya. 
   + Saat memilih **jenis Koneksi**, pilih Google BigQuery.
   + Saat memilih **AWS Rahasia**, berikan*secretName*.

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**.

# Membuat simpul BigQuery sumber
<a name="creating-bigquery-source-node"></a>

## Prasyarat yang dibutuhkan
<a name="creating-bigquery-source-node-prerequisites"></a>
+ Koneksi BigQuery tipe AWS Glue Data Catalog
+  AWS Secrets Manager Rahasia untuk BigQuery kredensi Google Anda, yang digunakan oleh koneksi.
+ Izin yang sesuai pada pekerjaan Anda untuk membaca rahasia yang digunakan oleh koneksi.
+ Nama dan kumpulan data tabel dan proyek Google Cloud terkait yang ingin Anda baca.

## Menambahkan sumber BigQuery data
<a name="creating-bigquery-source-node-add"></a>

**Untuk menambahkan **sumber Data — BigQuery** node:**

1.  Pilih koneksi untuk sumber BigQuery data Anda. Karena Anda telah membuatnya, itu harus tersedia di dropdown. Jika Anda perlu membuat koneksi, pilih **Buat BigQuery koneksi**. Untuk informasi selengkapnya, lihat [Ikhtisar penggunaan konektor dan koneksi](https://docs.aws.amazon.com/glue/latest/ug/connectors-chapter.html#using-connectors-overview). 

    Setelah Anda memilih koneksi, Anda dapat melihat properti koneksi dengan mengklik **Lihat properti**. 

1. Identifikasi BigQuery data apa yang ingin Anda baca, lalu pilih opsi **BigQuery Sumber**
   + Pilih satu tabel — memungkinkan Anda untuk menarik semua data dari tabel.
   + Masukkan kueri khusus — memungkinkan Anda menyesuaikan data mana yang diambil dengan memberikan kueri.

1.  Jelaskan data yang ingin Anda baca

   **(Wajib)** setel **Proyek Induk** ke proyek yang berisi tabel Anda, atau proyek induk penagihan, jika relevan.

   Jika Anda memilih satu tabel, atur **Tabel** ke nama BigQuery tabel Google dalam format berikut: `[dataset].[table]` 

   Jika Anda memilih kueri, berikan ke **Query**. Dalam kueri Anda, lihat tabel dengan nama tabel yang sepenuhnya memenuhi syarat, dalam format:`[project].[dataset].[tableName]`.

1.  Menyediakan BigQuery properti 

   Jika Anda memilih satu tabel, Anda tidak perlu memberikan properti tambahan.

   Jika Anda memilih kueri, Anda harus memberikan ** BigQuery properti Google Kustom** berikut:
   + Atur `viewsEnabled` menjadi BETUL.
   + Setel `materializationDataset` ke kumpulan data. Prinsipal GCP yang diautentikasi oleh kredensi yang disediakan melalui AWS Glue koneksi harus dapat membuat tabel dalam kumpulan data ini.

# Membuat node BigQuery target
<a name="creating-bigquery-target-node"></a>

## Prasyarat yang dibutuhkan
<a name="creating-bigquery-target-node-prerequisites"></a>
+ Koneksi BigQuery tipe AWS Glue Data Catalog
+  AWS Secrets Manager Rahasia untuk BigQuery kredensi Google Anda, yang digunakan oleh koneksi.
+ Izin yang sesuai pada pekerjaan Anda untuk membaca rahasia yang digunakan oleh koneksi.
+ Nama dan kumpulan data tabel dan proyek Google Cloud yang sesuai yang ingin Anda tulis.

## Menambahkan target BigQuery data
<a name="creating-bigquery-target-node-add"></a>

**Untuk menambahkan **target Data — BigQuery** node:**

1.  Pilih koneksi untuk target BigQuery data Anda. Karena Anda telah membuatnya, itu harus tersedia di dropdown. Jika Anda perlu membuat koneksi, pilih **Buat BigQuery koneksi**. Untuk informasi selengkapnya, lihat [Ikhtisar penggunaan konektor dan koneksi](https://docs.aws.amazon.com/glue/latest/ug/connectors-chapter.html#using-connectors-overview). 

    Setelah Anda memilih koneksi, Anda dapat melihat properti koneksi dengan mengklik **Lihat properti**. 

1. Identifikasi BigQuery tabel apa yang ingin Anda tulis, lalu pilih **metode Tulis**.
   + Direct — menulis untuk BigQuery langsung menggunakan BigQuery Storage Write API.
   + Tidak langsung — menulis ke Google Cloud Storage, lalu salin ke BigQuery.

   Jika Anda ingin menulis secara tidak langsung, berikan lokasi GCS tujuan dengan bucket GCS **Sementara**. Anda perlu memberikan konfigurasi tambahan dalam AWS Glue koneksi Anda. Untuk informasi selengkapnya, lihat [Menggunakan penulisan tidak langsung dengan Google BigQuery](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-connect-bigquery-home.html#aws-glue-programming-etl-connect-bigquery-indirect-write).

1.  Jelaskan data yang ingin Anda baca

   **(Wajib)** setel **Proyek Induk** ke proyek yang berisi tabel Anda, atau proyek induk penagihan, jika relevan.

   Jika Anda memilih satu tabel, atur **Tabel** ke nama BigQuery tabel Google dalam format berikut: `[dataset].[table]` 

## Opsi lanjutan
<a name="creating-bigquery-connection-advanced-options"></a>

Anda dapat memberikan opsi lanjutan saat membuat BigQuery simpul. Opsi ini sama dengan yang tersedia saat pemrograman AWS Glue untuk skrip Spark.

Lihat [referensi opsi BigQuery koneksi](https://docs.aws.amazon.com//glue/latest/dg/aws-glue-programming-etl-connect-bigquery-home.html) di panduan AWS Glue pengembang. 

# Menghubungkan ke Google Search Console
<a name="connecting-to-data-google-search-console"></a>

Google Search Console adalah platform gratis yang tersedia bagi pemilik situs web untuk memantau cara Google melihat situs dan mengoptimalkan keberadaan organiknya. Ini termasuk melihat domain rujukan, kinerja situs seluler, hasil pencarian kaya, dan kueri dan halaman dengan lalu lintas tertinggi. Jika Anda adalah pengguna Google Search Console, Anda dapat terhubung AWS Glue ke akun Google Search Console Anda. Anda dapat menggunakan Google Search Console sebagai sumber data dalam pekerjaan ETL Anda. Jalankan pekerjaan ini untuk mentransfer data dari Google Search Console ke AWS layanan atau aplikasi lain yang didukung.

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

# AWS Glue dukungan untuk Google Search Console
<a name="google-search-console-support"></a>

AWS Glue mendukung Google Search Console sebagai berikut:

**Didukung sebagai sumber?**  
Ya. Anda dapat menggunakan pekerjaan AWS Glue ETL untuk melakukan kueri data dari Google Search Console.

**Didukung sebagai target?**  
Tidak.

**Versi API Google Search Console yang didukung**  
Versi Google Search Console API berikut didukung:
+ v3

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="google-search-console-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 Google Search Console
<a name="google-search-console-configuring"></a>

Sebelum dapat digunakan AWS Glue untuk mentransfer data dari Google Search Console, Anda harus memenuhi persyaratan berikut:

## Persyaratan minimum
<a name="google-search-console-configuring-min-requirements"></a>

Berikut ini adalah persyaratan minimum:
+ Anda memiliki akun Google Search Console.
+ Anda memiliki akun Google Cloud Platform dan proyek Google Cloud.
+ Di project Google Cloud, Anda telah mengaktifkan Google Search Console API.
+ Di project Google Cloud, Anda telah mengonfigurasi layar OAuth persetujuan untuk pengguna eksternal. Untuk informasi selengkapnya, lihat [Menyiapkan layar OAuth persetujuan Anda](https://support.google.com/cloud/answer/10311615) di Bantuan Google Cloud Platform Console.
+ Di project Google Cloud Anda, Anda telah mengonfigurasi ID klien OAuth 2.0. Lihat [Menyiapkan OAuth 2.0](https://support.google.com/cloud/answer/6158849) untuk kredenal klien yang AWS Glue digunakan untuk mengakses data Anda dengan aman saat melakukan panggilan terautentikasi ke akun Anda.

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

# Mengonfigurasi koneksi Google Search Console
<a name="google-search-console-configuring-connections"></a>

Google Search Console mendukung jenis hibah AUTHORIZATION\$1CODE untuk. OAuth2 Jenis hibah menentukan cara AWS Glue berkomunikasi dengan Google Search Console untuk meminta akses ke data Anda.
+ 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 masih dapat memilih untuk membuat aplikasi tersambung mereka sendiri di Google Search Console dan memberikan ID klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue konsol. Dalam skenario ini, mereka masih akan diarahkan ke Google Search Console untuk masuk dan mengotorisasi AWS Glue untuk mengakses sumber daya mereka.
+ Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses berumur pendek, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran.
+ Untuk dokumentasi Google Search Console publik tentang cara membuat aplikasi yang terhubung untuk OAuth alur Kode Otorisasi, lihat [Menggunakan OAuth 2.0 untuk Mengakses Google APIs](https://developers.google.com/identity/protocols/oauth2).

Untuk mengonfigurasi koneksi Google Search Console:

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

   1. 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 untuk koneksi Anda 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 Google Search Console.

   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 Google Search Console
<a name="google-search-console-reading-from-entities"></a>

**Prasyarat**

Objek Google Search Console yang ingin Anda baca. Anda akan membutuhkan nama objek.

**Entitas yang didukung untuk sumber**:


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih\$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| Analisis Penelusuran | Ya | Ya | Tidak | Ya | Tidak | 
| Situs | Tidak | Tidak | Tidak | Ya | Tidak | 
| Peta Situs | Tidak | Tidak | Tidak | Ya | Tidak | 

**Contoh:**

```
googleSearchConsole_read = glueContext.create_dynamic_frame.from_options(
    connection_type="googlesearchconsole",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v3"
    }
```

**Entitas Google Search Console dan detail bidang**:

Google Search Console menyediakan titik akhir untuk mengambil metadata secara dinamis untuk entitas yang didukung. Dengan demikian, dukungan operator ditangkap pada tingkat tipe data.

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

**catatan**  
Untuk daftar nilai valid yang diperbarui untuk filter, lihat dokumen [Google Search Console](https://developers.google.com/webmaster-tools/v1/searchanalytics/query) API.  
Bidang `start_end_date` adalah kombinasi dari `start_date` dan`end_date`.

## Mempartisi kueri
<a name="google-search-console-reading-partitioning-queries"></a>

Partisi berbasis filter dan partisi berbasis rekaman tidak didukung.

# Opsi koneksi Google Search Console
<a name="google-search-console-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Google Search Console:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama objek Anda di Google Search Console.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Google Search Console Rest API versi yang ingin Anda gunakan.
+ `SELECTED_FIELDS`(Daftar<String>) - Default: kosong (SELECT \$1). Digunakan untuk Baca. Kolom yang ingin Anda pilih untuk objek.
+ `FILTER_PREDICATE`<30 days ago from current date><yesterday: that is, 1 day ago from the current date>( String) - Default: “start\$1end\$1date antara DAN”. Digunakan untuk Baca. Itu harus dalam format Spark SQL.
+ `QUERY`<yesterday: that is, 1 day ago from the current date>( String) - Default: “start\$1end\$1date antara <30 days ago from current date>DAN” Digunakan untuk Baca. Kueri SQL Spark penuh.
+ `INSTANCE_URL`(String) - Digunakan untuk Baca. URL instans Google Search Console yang valid.

# Batasan Google Search Console
<a name="google-search-console-limitations"></a>

Berikut ini adalah batasan atau catatan untuk Google Search Console:
+ Google Search Console memberlakukan batasan penggunaan pada API. Untuk informasi selengkapnya, lihat [Batas Penggunaan](https://developers.google.com/webmaster-tools/limits).
+ Jika tidak ada filter yang diteruskan untuk `Search Analytics` entitas, API merangkum semua klik, tayangan, RKT, dan data lain untuk seluruh situs Anda dalam rentang tanggal default yang ditentukan dan menyajikannya sebagai catatan tunggal.
+ Untuk memecah data menjadi segmen yang lebih kecil, Anda perlu memperkenalkan dimensi ke kueri Anda. Dimensions memberi tahu API bagaimana Anda ingin mengelompokkan data Anda.
  + Misalnya, jika Anda menambahkan, `filterPredicate: dimensions="country"` Anda akan mendapatkan satu catatan untuk setiap negara tempat situs Anda menerima lalu lintas selama periode yang ditentukan.
  + Contoh untuk melewati beberapa dimensi:`filterPredicate: dimensions="country" AND dimensions="device" AND dimensions="page"`. Dalam hal ini Anda akan mendapatkan satu baris dalam respons untuk setiap kombinasi unik dari ketiga dimensi ini.
+ Nilai default ditetapkan untuk `start_end_date` dan `dataState` bidang.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/google-search-console-limitations.html)

# Menghubungkan ke Google Sheets
<a name="connecting-to-googlesheets"></a>

 Google Sheets adalah perangkat lunak spreadsheet online yang memungkinkan Anda mengatur data dalam jumlah besar, membuat laporan khusus, mengotomatiskan perhitungan, dan berkolaborasi dengan orang lain. Jika Anda pengguna Google Sheets, Anda dapat terhubung ke AWS Glue akun Google Sheets Anda. Kemudian, Anda dapat menggunakan Google Spreadsheet sebagai sumber data dalam pekerjaan ETL Anda. Jalankan pekerjaan ini untuk mentransfer data antara Google Spreadsheet dan AWS layanan atau aplikasi lain yang didukung. 

**Topics**
+ [AWS Glue dukungan untuk Google Sheets](googlesheets-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](googlesheets-configuring-iam-permissions.md)
+ [Mengkonfigurasi Google Sheets](googlesheets-configuring.md)
+ [Mengonfigurasi koneksi Google Sheets](googlesheets-configuring-connections.md)
+ [Membaca dari entitas Google Sheets](googlesheets-reading-from-entities.md)
+ [Opsi koneksi Google Sheets](googlesheets-connection-options.md)
+ [Mengatur OAuth alur kode Otorisasi untuk Google Sheets](googlesheets-oauth-authorization.md)
+ [Batasan untuk konektor Google Sheets](googlesheets-connector-limitations.md)

# AWS Glue dukungan untuk Google Sheets
<a name="googlesheets-support"></a>

AWS Glue mendukung Google Sheets sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi Google Sheets API yang didukung**  
 Google Sheets API v4 dan Google Drive API v3 

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="googlesheets-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": "*"
    }
  ]
}
```

------

Anda juga dapat menggunakan kebijakan IAM terkelola berikut untuk mengizinkan akses:
+  [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 Google Sheets
<a name="googlesheets-configuring"></a>

Sebelum dapat digunakan AWS Glue untuk mentransfer dari Google Spreadsheet, Anda harus memenuhi persyaratan ini:

## Persyaratan minimum
<a name="googlesheets-configuring-min-requirements"></a>
+ Anda memiliki akun Google Sheets dengan Email dan Kata Sandi.
+  Akun Google Spreadsheet Anda diaktifkan untuk akses API. Semua penggunaan Google Sheets API tersedia tanpa biaya tambahan. 
+  Akun Google Spreadsheet Anda memungkinkan Anda menginstal aplikasi yang terhubung. Jika Anda tidak memiliki akses ke fungsi ini, hubungi administrator Google Sheets Anda. 

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

# Mengonfigurasi koneksi Google Sheets
<a name="googlesheets-configuring-connections"></a>

Untuk mengonfigurasi koneksi Google Sheet:

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. Di AWS Glue Glue Studio, buat koneksi di bawah **Koneksi Data** dengan mengikuti langkah-langkah di bawah ini: 

   1. Saat memilih **Sumber Data**, pilih Google Spreadsheet.

   1. Menyediakan lingkungan Google Spreadsheet.

      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`. 

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

****  

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

------

 **Jenis Hibah AUTHORIZATION\$1CODE** 

 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. AWS Glue Konsol akan mengarahkan pengguna ke Google Spreadsheet tempat pengguna harus masuk dan mengizinkan izin AWS Glue yang diminta untuk mengakses instance Google Sheets mereka. 

 Pengguna dapat memilih untuk membuat aplikasi tersambung mereka sendiri di Google Spreadsheet dan memberikan id klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue Konsol. Dalam skenario ini, mereka masih akan diarahkan ke Google Sheets untuk masuk dan memberi wewenang AWS Glue untuk mengakses sumber daya mereka. 

 Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses berumur pendek, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran. 

 Untuk informasi selengkapnya, lihat [dokumentasi Google Sheets publik tentang cara membuat aplikasi yang terhubung untuk OAuth alur Kode Otorisasi](https://developers.google.com/workspace/guides/create-credentials). 

# Membaca dari entitas Google Sheets
<a name="googlesheets-reading-from-entities"></a>

 **Prasyarat** 
+  Google SpreadSheet yang ingin Anda baca. Anda akan memerlukan SpreadSheet ID dan tabName dari spreadsheet. 

 **Entitas Google Sheets dan Detail Bidang:** 


| Entitas | Tipe data | Operator yang Didukung | 
| --- | --- | --- | 
| Spreadsheet | String | N/A (filter tidak didukung) | 

 **Contoh** 

```
googleSheets_read = glueContext.create_dynamic_frame.from_options(
    connection_type="googlesheets",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "{SpreadSheetID}#{SheetTabName}",
        "API_VERSION": "v4"
    }
```

 **Mempartisi kueri** 

 Untuk Record Base Partitioning saja, `NUM_PARTITIONS` dapat disediakan sebagai opsi percikan tambahan 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 percikan secara bersamaan. 

 **Contoh dengan `NUM_PARTITIONS`** 

```
googlesheets_read = glueContext.create_dynamic_frame.from_options(
    connection_type="googlesheets",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "{SpreadSheetID}#{SheetTabName}",
        "API_VERSION": "v4",
        "NUM_PARTITIONS": "10"
    }
```

# Opsi koneksi Google Sheets
<a name="googlesheets-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Google Sheets:
+  `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Itu `SpreadSheet ID` dan `sheetTabName` di Google Spreadsheet. Contoh:`{SpreadSheetID}#{SheetTabName}`. 
+  `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Google Sheets Rest API versi yang ingin Anda gunakan. 
+  `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. 
+  `NUM_PARTITIONS`(Integer) - Default: 1. Digunakan untuk Baca. Jumlah partisi untuk dibaca. 

# Mengatur OAuth alur kode Otorisasi untuk Google Sheets
<a name="googlesheets-oauth-authorization"></a>

 **Prasyarat** 
+  Akun Google tempat Anda dapat masuk untuk menggunakan aplikasi Google Sheets. Di akun Google Anda, Google Sheets berisi data yang ingin Anda transfer. 
+  Akun Google Cloud Platform dan proyek Google Cloud. Lihat [Membuat Google Cloud Project](https://developers.google.com/workspace/guides/create-project) untuk detail selengkapnya. 

**Untuk menyiapkan akun Google Anda dan mendapatkan kredensyal OAuth 2.0:**

1.  Setelah proyek Google Cloud disiapkan, aktifkan Google Sheets API dan Google Drive APIs dalam proyek. Untuk langkah-langkah mengaktifkannya, lihat [Mengaktifkan dan menonaktifkan APIs](https://support.google.com/googleapi/answer/6158841) di Bantuan Konsol API untuk Google Cloud Platform. 

1.  Selanjutnya, konfigurasikan layar OAuth persetujuan untuk pengguna eksternal. Untuk informasi selengkapnya tentang layar OAuth persetujuan, lihat [Menyiapkan layar OAuth persetujuan Anda](https://support.google.com/cloud/answer/10311615#) di Bantuan Google Cloud Platform Console. 

1.  Di layar OAuth persetujuan, tambahkan cakupan berikut: 
   +  [Cakupan hanya-baca API Google Sheets](https://www.googleapis.com/auth/spreadsheets.readonly) 
   +  [Cakupan hanya-baca Google Drive API](ttps://www.googleapis.com/auth/drive.readonly) 

    Untuk informasi selengkapnya tentang cakupan ini, lihat [OAuth 2.0 Cakupan untuk Google APIs di dokumentasi](https://developers.google.com/identity/protocols/oauth2/scopes) Identitas Google. 

1.  Hasilkan OAuth 2.0 ID klien dan rahasia. Untuk langkah-langkah membuat ID klien ini, lihat [Menyiapkan OAuth 2.0](https://support.google.com/cloud/answer/6158849?hl=en#zippy=) di Bantuan Google Cloud Platform Console. 

    ID klien OAuth 2.0 harus memiliki satu atau lebih pengalihan URLs resmi. 

    Redirect URLs memiliki format berikut: 
   + https://<aws-region>.console.aws.amazon. com/gluestudio/oauth 

1.  Perhatikan ID klien dan rahasia klien dari pengaturan untuk ID klien OAuth 2.0 Anda. 

# Batasan untuk konektor Google Sheets
<a name="googlesheets-connector-limitations"></a>

Berikut ini adalah batasan untuk konektor Google Sheets:
+  Konektor Google Sheets tidak mendukung Filter. Oleh karena itu, partisi berbasis filter tidak dapat didukung. 
+  Dalam Partisi Dasar Rekaman, tidak ada ketentuan untuk mengembalikan jumlah catatan yang tepat oleh SAAS. Akibatnya, mungkin ada skenario di mana file dengan catatan kosong dibuat.
+  Karena konektor Google Sheets tidak mendukung partisi berbasis filter,, `partitionField``lowerbound`, dan bukan opsi koneksi `upperbound` yang valid. Jika opsi ini disediakan, AWS Glue pekerjaan diharapkan gagal. 
+  Sangat penting untuk menunjuk baris pertama lembar sebagai baris header untuk menghindari masalah pemrosesan data. 
  +  Jika tidak disediakan, baris header akan diganti dengan `Unnamed:1``Unnamed:2`,,`Unnamed:3`... jika lembar berisi data dengan baris pertama kosong. 
  +  Jika baris header disediakan, nama kolom kosong akan diganti dengan`Unnamed:<number of column>`. Misalnya, jika baris header adalah`['ColumnName1', 'ColumnName2', '', '', 'ColumnName5', 'ColumnName6']`, maka itu akan menjadi `['ColumnName1', 'ColumnName2', 'Unnamed:3', 'Unnamed:4', 'ColumnName5', 'ColumnName6'].` 
+  Konektor Google Sheets tidak mendukung transfer Incremental. 
+  Konektor Google Sheets hanya mendukung tipe data String. 
+  Header duplikat dalam lembar akan diganti namanya secara iteratif dengan akhiran numerik. Nama header yang disediakan oleh pengguna akan diutamakan saat mengganti nama header duplikat. Misalnya, jika baris header adalah ["Name”, “”, “Name”, null, “Unnamed:6", “"], itu akan berubah menjadi: ["Name”, “Unnamed:2", “Name1", “Unnamed:4", “Unnamed:6", “Unnamed:61"]. 
+  Konektor Google Sheets tidak mendukung spasi untuk TabName. 
+  Nama folder tidak dapat memiliki karakter khusus berikut: 
  + \$1
  + /

# Menghubungkan ke HubSpot
<a name="connecting-to-data-hubspot"></a>

HubSpotPlatform CRM memiliki semua alat dan integrasi yang Anda butuhkan untuk pemasaran, penjualan, manajemen konten, dan layanan pelanggan.
+ Marketing Hub - Perangkat lunak pemasaran untuk membantu Anda meningkatkan lalu lintas, mengonversi lebih banyak pengunjung, dan menjalankan kampanye pemasaran masuk lengkap dalam skala besar.
+ Sales Hub - Perangkat lunak CRM Penjualan untuk membantu Anda mendapatkan wawasan yang lebih dalam tentang prospek, mengotomatiskan tugas yang Anda miliki, dan menutup lebih banyak transaksi lebih cepat.
+ Service Hub - Perangkat lunak layanan pelanggan untuk membantu Anda terhubung dengan pelanggan, melebihi harapan, dan mengubahnya menjadi promotor yang mengembangkan bisnis Anda.
+ Operations Hub - Perangkat lunak operasi yang menyinkronkan aplikasi Anda, membersihkan dan membuat data pelanggan, dan mengotomatiskan proses - sehingga semua sistem dan tim Anda bekerja sama dengan lebih baik.

**Topics**
+ [AWS Glue dukungan untuk HubSpot](hubspot-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](hubspot-configuring-iam-permissions.md)
+ [Mengkonfigurasi HubSpot](hubspot-configuring.md)
+ [Mengkonfigurasi koneksi HubSpot](hubspot-configuring-connections.md)
+ [Membaca dari HubSpot entitas](hubspot-reading-from-entities.md)
+ [Menulis ke HubSpot Entitas](hubspot-writing-to-entities.md)
+ [HubSpot opsi koneksi](hubspot-connection-options.md)
+ [Keterbatasan dan catatan untuk HubSpot konektor](hubspot-connector-limitations.md)

# AWS Glue dukungan untuk HubSpot
<a name="hubspot-support"></a>

AWS Glue mendukung HubSpot sebagai berikut:

**Didukung sebagai sumber?**  
Ya — Sinkronisasi dan Async. Anda dapat menggunakan pekerjaan AWS Glue ETL untuk meminta data dari HubSpot.

**Didukung sebagai target?**  
Ya. Anda dapat menggunakan pekerjaan AWS Glue ETL untuk menulis data. HubSpot

**Versi HubSpot API yang didukung**  
Versi HubSpot API berikut didukung:
+ v1
+ v2
+ v3
+ v4

Untuk dukungan entitas per versi tertentu, lihat [Entitas yang didukung untuk sumber Sinkronisasi](hubspot-reading-from-entities.md#sync-table) dan[Entitas yang didukung untuk sumber Async](hubspot-reading-from-entities.md#async-table).

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="hubspot-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 HubSpot
<a name="hubspot-configuring"></a>

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

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

Berikut ini adalah persyaratan minimum:
+ Anda memiliki HubSpot akun. Untuk informasi selengkapnya, lihat [Membuat HubSpot akun](#hubspot-configuring-creating-hubspot-account).
+  HubSpot Akun Anda diaktifkan untuk akses API.
+ Anda harus memiliki aplikasi di bawah akun HubSpot pengembang Anda yang menyediakan kredensyal klien yang AWS Glue digunakan untuk mengakses data Anda dengan aman saat melakukan panggilan terautentikasi ke akun Anda. Untuk informasi selengkapnya, lihat [Membuat aplikasi HubSpot pengembang](#hubspot-configuring-creating-hubspot-developer-app).

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

## Membuat HubSpot akun
<a name="hubspot-configuring-creating-hubspot-account"></a>

Untuk membuat HubSpot akun:

1. Pergi ke [ SignUp URL HubSpot CRM](https://app.hubspot.com/login).

1. Masukkan alamat email Anda dan pilih **Verifikasi email** (sebagai alternatif, Anda dapat memilih untuk mendaftar dengan akun Google, Microsoft, atau Apple).

1. Periksa kotak masuk Anda untuk kode verifikasi dari HubSpot.

1. Masukkan kode verifikasi 6 digit dan klik **Berikutnya**.

1. Masukkan kata sandi dan klik **Berikutnya**.

1. Masukkan nama depan dan nama belakang Anda dan klik **Berikutnya**, atau daftar menggunakan tautan **Daftar dengan Google**.

1. Masuk ke industri Anda dan klik **Berikutnya**.

1. Masukkan peran pekerjaan Anda dan klik **Berikutnya**.

1. Masukkan nama perusahaan Anda dan klik **Berikutnya**.

1. Pilih ukuran perusahaan Anda (jumlah karyawan yang bekerja di perusahaan Anda) dan klik **Berikutnya**.

1. Masukkan situs web perusahaan Anda dan klik **Berikutnya**.

1. Pilih di mana data Anda harus di-host (Amerika Serikat atau Eropa) dan **klik Buat** Akun.

1. Pilih tujuan pembuatan akun Anda dan klik **Berikutnya**.

1. Pilih **Connect Google Account** atau pilih untuk menambahkan kontak sendiri untuk menautkan kontak Anda dengan HubSpot akun Anda.

1. Masuk ke akun Google Anda jika Anda memilih opsi **Connect Google Account** untuk menautkan kontak Anda dan mulai menggunakan HubSpot akun Anda.

## Membuat aplikasi HubSpot pengembang
<a name="hubspot-configuring-creating-hubspot-developer-app"></a>

Akun pengembang aplikasi ditujukan untuk membuat dan mengelola aplikasi, integrasi, dan akun pengujian pengembang. Mereka juga tempat Anda dapat membuat dan mengelola daftar App Marketplace. Namun, akun pengembang aplikasi dan akun pengujian terkait tidak terhubung ke HubSpot akun standar. Mereka tidak dapat menyinkronkan data atau aset ke atau dari HubSpot akun lain. Untuk mendapatkan ID Klien dan Rahasia Klien, Anda membuat akun pengembang.

1. Pergi ke https://developers.hubspot.com/

1. Pilih **Buat akun pengembang** dan gulir ke bawah.

1. Anda akan ditanya apakah Anda ingin membuat akun pengembang Aplikasi, akun Aplikasi Pribadi, atau akun CMS Developer Sandbox. Pilih **Buat akun pengembang Aplikasi**.

1. Karena Anda sudah membuat Akun dengan HubSpot, Anda dapat memilih **Lanjutkan dengan pengguna ini**.

1. Klik **Mulai mendaftar.**

1. Masukkan Job Role Anda dan klik **Next**.

1. Beri nama akun pengembang Anda dan klik **Berikutnya**, lalu **Lewati**.

1. Pilih **Buat Aplikasi**.

1. Setelah Aplikasi Anda dibuat, pilih **Auth**.

1. Di bawah Auth, catat ID Klien dan Rahasia Klien.

1. Tambahkan **URL Pengalihan** khusus wilayah Anda sebagai https: *//<aws-region>* .console.aws.amazon. com/gluestudio/oauth. For example, add https://us-east-1.console.aws.amazon.com/gluestudio/oauthuntuk wilayah us-east-1.

1. Gulir ke bawah dan temukan cakupan. Ada dua jenis cakupan yang harus Anda pilih di bawah judul “CRM” dan “Standar”.

1. Tambahkan cakupan berikut:

   ```
   content
   automation
   oauth
   crm.objects.owners.read
   forms
   tickets
   crm.objects.contacts.write
   e-commerce
   crm.schemas.custom.read
   crm.objects.custom.read
   sales-email-read
   crm.objects.custom.write
   crm.objects.companies.write
   crm.lists.write
   crm.objects.companies.read
   crm.lists.read
   crm.objects.deals.read
   crm.objects.deals.write
   crm.objects.contacts.read
   ```

1. Klik **Simpan** dan akun dev Anda sekarang siap digunakan.

1. Gulir ke atas untuk menemukan **ID Klien**.

1. Pada halaman yang sama, klik **Tampilkan** untuk mendapatkan **rahasia Klien**.

## Membuat akun pengujian HubSpot pengembang
<a name="hubspot-configuring-creating-hubspot-developer-test-account"></a>

Dalam akun pengembang aplikasi, Anda dapat membuat akun pengujian pengembang untuk menguji aplikasi dan integrasi tanpa memengaruhi HubSpot data nyata apa pun. Akun pengujian pengembang tidak mencerminkan akun produksi, melainkan memiliki akses ke uji coba 90 hari dari versi Enterprise dari Marketing, Sales, Service, CMS, dan Operations Hub, menyediakan kemampuan untuk menguji sebagian besar HubSpot alat dan. APIs

1. Klik **Beranda**.

1. Klik **Buat akun uji**.

1. Klik **Buat Akun Uji Aplikasi**.

1. Jendela baru muncul. Masukkan nama akun uji aplikasi dan klik **Buat**.

   Akun pengujian aplikasi Anda sekarang dibuat.

**catatan**  
Akun pengembang terkait dengan aktivitas pengembangan seperti integrasi API, dan akun pengujian aplikasi digunakan untuk melihat data yang dibuat atau ditarik oleh akun pengembang.

# Mengkonfigurasi koneksi HubSpot
<a name="hubspot-configuring-connections"></a>

HubSpot mendukung jenis hibah AUTHORIZATION\$1CODE untuk. OAuth2
+ 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 perlu memberikan informasi OAuth terkait seperti Client ID dan Client Secret untuk aplikasi HubSpot klien mereka. AWS Glue Konsol akan mengarahkan pengguna ke HubSpot tempat pengguna harus masuk dan mengizinkan izin AWS Glue yang diminta untuk mengakses instance mereka HubSpot .
+ Pengguna masih dapat memilih untuk membuat aplikasi terhubung mereka sendiri HubSpot dan memberikan id klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue konsol. Dalam skenario ini, mereka masih akan diarahkan ke login dan memberi wewenang HubSpot AWS Glue untuk mengakses sumber daya mereka.
+ Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses berumur pendek, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran.
+ Untuk HubSpot dokumentasi publik tentang cara membuat aplikasi yang terhubung untuk OAuth alur Kode Otorisasi, lihat [Aplikasi publik](https://developers.hubspot.com/docs/api/creating-an-app).

Untuk mengkonfigurasi HubSpot koneksi:

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

   1. 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 untuk 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 HubSpot.

   1. Menyediakan HubSpot lingkungan.

   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`.

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

# Membaca dari HubSpot entitas
<a name="hubspot-reading-from-entities"></a>

**Prasyarat**

 HubSpot Objek yang ingin Anda baca. Anda akan memerlukan nama objek seperti kontak atau tugas. Tabel berikut menunjukkan entitas yang didukung untuk sumber Sync.

## Entitas yang didukung untuk sumber Sinkronisasi
<a name="sync-table"></a>


| Entitas | Versi API | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih \$1 | Mendukung partioning | 
| --- | --- | --- | --- | --- | --- | --- | 
| Kampanye | v1 | Tidak | Ya | Tidak | Ya | Tidak | 
| Perusahaan | v3 | Ya | Ya | Ya | Ya | Ya | 
| Kontak  | v3 | Ya | Ya | Ya | Ya | Ya | 
| Daftar Kontak | v1 | Tidak | Ya | Tidak | Ya | Tidak | 
| Penawaran | v3 | Ya | Ya | Ya | Ya | Ya | 
| Pipa CRM (Saluran Pipa Kesepakatan) | v1 | Tidak | Tidak | Tidak | Ya | Tidak | 
| Acara Email | v1 | Tidak | Ya | Tidak | Ya | Tidak | 
| Panggilan | v3 | Ya | Ya | Ya | Ya | Ya | 
| Catatan | v3 | Ya | Ya | Ya | Ya | Ya | 
| Email | v3 | Ya | Ya | Ya | Ya | Ya | 
| Rapat | v3 | Ya | Ya | Ya | Ya | Ya | 
| Tugas | v3 | Ya | Ya | Ya | Ya | Ya | 
| Surat Pos | v3 | Ya | Ya | Ya | Ya | Ya | 
| Objek Kustom | v3 | Ya | Ya | Ya | Ya | Ya | 
| Formulir | v2 | Tidak | Tidak | Tidak | Ya | Tidak | 
| Pemilik | v3 | Tidak | Ya | Tidak | Ya | Tidak | 
| Produk | v3 | Ya | Ya | Ya | Ya | Ya | 
| Tiket | v3 | Ya | Ya | Ya | Ya | Ya | 
| Alur kerja | v3 | Tidak | Tidak | Tidak | Ya | Tidak | 
| Asosiasi | v4 | Ya | Tidak | Tidak | Ya | Tidak | 
| Label Asosiasi | v4 | Tidak | Tidak | Tidak | Ya | Tidak | 

**Contoh:**

```
hubspot_read = glueContext.create_dynamic_frame.from_options(
    connection_type="hubspot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "contact",
        "API_VERSION": "v3"
    }
```

## Entitas yang didukung untuk sumber Async
<a name="async-table"></a>


| Entitas | Versi API | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih \$1 | Mendukung partioning | 
| --- | --- | --- | --- | --- | --- | --- | 
| Perusahaan | v3 | Ya | Tidak | Ya | Ya | Tidak | 
| Kontak  | v3 | Ya | Tidak | Ya | Ya | Tidak | 
| Penawaran | v3 | Ya | Tidak | Ya | Ya | Tidak | 
| Panggilan | v3 | Ya | Tidak | Ya | Ya | Tidak | 
| Catatan | v3 | Ya | Tidak | Ya | Ya | Tidak | 
| Email | v3 | Ya | Tidak | Ya | Ya | Tidak | 
| Rapat | v3 | Ya | Tidak | Ya | Ya | Tidak | 
| Tugas | v3 | Ya | Tidak | Ya | Ya | Tidak | 
| Surat Pos | v3 | Ya | Tidak | Ya | Ya | Tidak | 
| Objek Kustom | v3 | Ya | Tidak | Ya | Ya | Tidak | 
| Produk | v3 | Ya | Tidak | Ya | Ya | Tidak | 
| Tiket | v3 | Ya | Tidak | Ya | Ya | Tidak | 

**Contoh:**

```
hubspot_read = glueContext.create_dynamic_frame.from_options(
    connection_type="hubspot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "contact",
        "API_VERSION": "v3",
        "TRANSFER_MODE": "ASYNC"
    }
```

**HubSpot detail entitas dan bidang**:

**HubSpot API v4**: 

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

**catatan**  
Untuk `Associations` objek, untuk mengambil asosiasi antara dua objek, Anda perlu memberikan 'dari Id' (ID objek pertama) melalui filter wajib saat membuat pekerjaan. AWS Glue Jika Anda ingin mengambil asosiasi untuk beberapa dari IDs dalam kasus itu, Anda harus memberikan beberapa IDs dalam `where` klausa. Misalnya: untuk mengambil kontak `Associations` IDs '1' dan '151', Anda perlu memberikan filter sebagai. `where id=1 AND id=151`

**HubSpot API v3**:

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

Untuk entitas berikut, HubSpot sediakan titik akhir untuk mengambil metadata secara dinamis, sehingga dukungan operator ditangkap pada tingkat tipe data untuk setiap entitas.

**catatan**  
`DML_STATUS`adalah bidang virtual yang ditambahkan pada setiap catatan saat runtime untuk menentukan statusnya (DIBUAT/DIPERBARUI) dalam mode Sinkronisasi. `CONTAINS/LIKE`Operator tidak didukung dalam mode Async.

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

**HubSpot API v2**:

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

**HubSpot API v1:**

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

## Mempartisi kueri
<a name="hubspot-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-01-01T10:00:00.115Z" 
  ```
+ `UPPER_BOUND`: nilai batas atas **eksklusif** dari bidang partisi yang dipilih.
+ `NUM_PARTITIONS`: jumlah partisi.

Tabel berikut menjelaskan rincian dukungan bidang partisi entitas:

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

Contoh:

```
hubspot_read = glueContext.create_dynamic_frame.from_options(
    connection_type="hubspot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "company",
        "API_VERSION": "v3",
        "PARTITION_FIELD": "hs_object_id"
        "LOWER_BOUND": "50"
        "UPPER_BOUND": "16726619290"
        "NUM_PARTITIONS": "10"
    }
```

# Menulis ke HubSpot Entitas
<a name="hubspot-writing-to-entities"></a>

## Prasyarat
<a name="hubspot-writing-prerequisites"></a>
+  HubSpot Objek yang ingin Anda tulis. Anda akan memerlukan nama objek seperti kontak atau tiket.
+  HubSpot Konektor mendukung operasi penulisan berikut:
  + INSERT
  + UPDATE
+ Saat menggunakan operasi `UPDATE` tulis, `ID_FIELD_NAMES` opsi harus disediakan untuk menentukan bidang ID untuk catatan.

## Entitas yang didukung untuk Tujuan Sinkronisasi
<a name="hubspot-supported-entities"></a>


| Entitas | Versi API | Akan didukung sebagai Konektor Tujuan | Dapat Dimasukkan | Dapat Diperbarui | 
| --- | --- | --- | --- | --- | 
| Perusahaan | v3 | Ya | Ya (Tunggal, Massal) | Ya (Tunggal, Massal) | 
| Kontak  | v3 | Ya | Ya (Tunggal, Massal) | Ya (Tunggal, Massal) | 
| Penawaran | v3 | Ya | Ya (Tunggal, Massal) | Ya (Tunggal, Massal) | 
| Produk | v3 | Ya | Ya (Tunggal, Massal) | Ya (Tunggal, Massal) | 
| Panggilan | v3 | Ya | Ya (Tunggal, Massal) | Ya (Tunggal, Massal) | 
| Rapat | v3 | Ya | Ya (Tunggal, Massal) | Ya (Tunggal, Massal) | 
| Catatan | v3 | Ya | Ya (Tunggal, Massal) | Ya (Tunggal, Massal) | 
| Email | v3 | Ya | Ya (Tunggal, Massal) | Ya (Tunggal, Massal) | 
| Tugas | v3 | Ya | Ya (Tunggal, Massal) | Ya (Tunggal, Massal) | 
| Surat Pos | v3 | Ya | Ya (Tunggal, Massal) | Ya (Tunggal, Massal) | 
| Objek Kustom | v3 | Ya | Ya (Tunggal, Massal) | Ya (Tunggal, Massal) | 
| Tiket | v3 | Ya | Ya (Tunggal, Massal) | Ya (Tunggal, Massal) | 
| Asosiasi | v4 | Ya | Ya (Tunggal, Massal) | Tidak | 
| Label Asosiasi | v4 | Ya | Ya (Tunggal, Massal) | Ya (Tunggal, Massal) | 

**Contoh:**

**Operasi INSERT**

```
hubspot_write = glueContext.write_dynamic_frame.from_options(
    frame=frameToWrite,
    connection_type="hubspot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "contact",
        "API_VERSION": "v3",
        "WRITE_OPERATION": "INSERT"
    }
)
```

**UPDATE Operasi**

```
hubspot_write = glueContext.write_dynamic_frame.from_options(
    frame=frameToWrite,
    connection_type="hubspot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "deal",
        "API_VERSION": "v3",
        "WRITE_OPERATION": "UPDATE",
        "ID_FIELD_NAMES": "hs_object_id"
    }
)
```

# HubSpot opsi koneksi
<a name="hubspot-connection-options"></a>

Berikut ini adalah opsi koneksi untuk HubSpot:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama objek Anda di HubSpot.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. HubSpot Rest versi API yang ingin Anda gunakan. Misalnya: v1, v2, v3, v4.
+ `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.
+ `TRANSFER_MODE`(String) - Digunakan untuk menunjukkan apakah query harus dijalankan pada modus Async.
+ `WRITE_OPERATION`(String) - Default: SISIPKAN. Digunakan untuk menulis. Nilai harus INSERT atau UPDATE.
+ `ID_FIELD_NAMES`(String) - Default: null. Diperlukan untuk UPDATE.

# Keterbatasan dan catatan untuk HubSpot konektor
<a name="hubspot-connector-limitations"></a>

Berikut ini adalah batasan atau catatan untuk HubSpot konektor:
+ Titik akhir pencarian dibatasi hingga 10.000 total hasil untuk setiap kueri yang diberikan. Setiap partisi yang memiliki lebih dari 10.000 catatan akan menghasilkan kesalahan 400.
+ Keterbatasan penting lainnya untuk konektor dijelaskan dalam [Batasan](https://developers.hubspot.com/docs/api/crm/search#limitations).
+ Maksimal tiga pernyataan penyaringan diterima oleh HubSpot.
+ Saat ini, HubSpot mendukung Asosiasi antara HubSpot objek standar (misalnya kontak, perusahaan, kesepakatan, atau tiket) dan objek khusus.
  + Untuk akun Gratis: Anda hanya dapat membuat hingga 10 jenis asosiasi antara setiap pasangan objek (misalnya kontak dan perusahaan).
  + Untuk akun Super Admin: Anda hanya dapat membuat hingga 50 jenis asosiasi antara setiap pasangan objek.
  + Untuk informasi selengkapnya, lihat [Asosiasi v4](https://developers.hubspot.com/docs/api/crm/) serta [Membuat dan menggunakan label asosiasi](https://knowledge.hubspot.com/object-settings/create-and-use-association-labels).
+ Objek 'Kutipan' dan 'Komunikasi' tidak ada untuk Asosiasi karena saat ini tidak didukung di konektor.
+ Untuk Async, SaaS mengurutkan nilai dalam urutan menaik saja.
+ Untuk `Ticket` entitas, SaaS tidak mengembalikan `hs_object_id` bidang dalam mode Async.

# Menghubungkan ke Iklan Instagram
<a name="connecting-to-data-instagram-ads"></a>

Instagram adalah aplikasi berbagi foto populer yang memungkinkan Anda terhubung dengan merek, selebriti, pemimpin pemikiran, teman, keluarga, dan banyak lagi. Ini adalah layanan berbagi foto dan jejaring sosial. Pengguna dapat mengambil foto atau video pendek dan membagikannya dengan pengikut mereka. Iklan Instagram adalah posting yang dapat dibayar bisnis untuk melayani pengguna Instagram.

**Topics**
+ [AWS Glue dukungan untuk Iklan Instagram](instagram-ads-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](instagram-ads-configuring-iam-permissions.md)
+ [Mengkonfigurasi Iklan Instagram](instagram-ads-configuring.md)
+ [Mengonfigurasi koneksi Iklan Instagram](instagram-ads-configuring-connections.md)
+ [Membaca dari entitas Iklan Instagram](instagram-ads-reading-from-entities.md)
+ [Opsi koneksi Iklan Instagram](instagram-ads-connection-options.md)
+ [Keterbatasan dan catatan untuk konektor Iklan Instagram](instagram-ads-connector-limitations.md)

# AWS Glue dukungan untuk Iklan Instagram
<a name="instagram-ads-support"></a>

AWS Glue mendukung Iklan Instagram sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi API Iklan Instagram yang didukung**  
Versi API Iklan Instagram berikut didukung:
+ v17.0
+ v18.0
+ v19.0
+ v20.0

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="instagram-ads-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 Iklan Instagram
<a name="instagram-ads-configuring"></a>

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

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

Berikut ini adalah persyaratan minimum:
+ Akun Instagram Standard diakses secara tidak langsung melalui Facebook.
+ Otentikasi pengguna diperlukan untuk menghasilkan token akses.
+ Konektor SDK Iklan Instagram akan menerapkan OAuth alur *Token Akses Pengguna*.
+ Kami OAuth2 menggunakan.0 untuk mengautentikasi permintaan API kami ke Iklan Instagram. Otentikasi berbasis web ini berada di bawah arsitektur Multi-Factor Authentication (MFA), yang merupakan superset dari 2FA.
+ Pengguna perlu memberikan izin untuk mengakses titik akhir. [https://developers.facebook.com/docs/permissions](https://developers.facebook.com/docs/permissions)

## Mendapatkan kredensi OAuth 2.0
<a name="instagram-ads-configuring-creating-instagram-ads-oauth2-credentials"></a>

[Untuk mendapatkan kredensi API sehingga Anda dapat melakukan panggilan terautentikasi ke instans Anda, lihat API Grafik.](https://developers.facebook.com/docs/graph-api/)

# Mengonfigurasi koneksi Iklan Instagram
<a name="instagram-ads-configuring-connections"></a>

Iklan Instagram mendukung jenis hibah AUTHORIZATION\$1CODE untuk. OAuth2
+ 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 dapat memilih untuk membuat aplikasi mereka sendiri yang terhubung di Iklan Instagram dan memberikan ID klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue konsol. Dalam skenario ini, mereka masih akan diarahkan ke Iklan Instagram untuk masuk dan memberi wewenang AWS Glue untuk mengakses sumber daya mereka.
+ Jenis hibah ini menghasilkan token akses. Token pengguna sistem yang kedaluwarsa berlaku selama 60 hari dari tanggal yang dibuat atau diperbarui. Untuk membuat kontinuitas, pengembang harus menyegarkan token akses dalam waktu 60 hari. Gagal melakukannya mengakibatkan kehilangan token akses dan mengharuskan pengembang mendapatkan yang baru untuk mendapatkan kembali akses API. Lihat [Segarkan Token Akses](https://developers.facebook.com/docs/marketing-api/system-users/install-apps-and-generate-tokens/).

Untuk mengonfigurasi koneksi Iklan Instagram:

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 Iklan Instagram.

   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. Berikan ID Klien Aplikasi Klien yang Dikelola Pengguna.

   1. Pilih `secretName` yang ingin Anda gunakan untuk koneksi ini AWS Glue untuk memasukkan token. Rahasia yang dipilih harus memiliki kunci `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` dengan nilai Rahasia Klien dari aplikasi yang terhubung.

   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 Iklan Instagram
<a name="instagram-ads-reading-from-entities"></a>

**Prasyarat**

Objek Iklan Instagram yang ingin Anda baca. Anda akan membutuhkan nama objek. Tabel berikut menunjukkan entitas yang didukung.

**Entitas yang didukung untuk sumber**:


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih\$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| Kampanye | Ya | Ya | Tidak | Ya | Ya | 
| Set Iklan | Ya | Ya | Tidak | Ya | Ya | 
| Iklan | Ya | Ya | Tidak | Ya | Ya | 
| Iklan Kreatif | Tidak | Ya | Tidak | Ya | Tidak | 
| Wawasan - Akun | Tidak | Ya | Tidak | Ya | Tidak | 
| Gambar Iklan | Ya | Ya | Tidak | Ya | Tidak | 
| Wawasan - Iklan | Ya | Ya | Tidak | Ya | Ya | 
| Wawasan - AdSet | Ya | Ya | Tidak | Ya | Ya | 
| Wawasan - Kampanye | Ya | Ya | Tidak | Ya | Ya | 

**Contoh:**

```
instagramAds_read = glueContext.create_dynamic_frame.from_options(
    connection_type="instagramads",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v20.0"
    }
```

## Entitas dan detail bidang Iklan Instagram
<a name="instagram-ads-reading-entity-and-field-details"></a>

Untuk informasi selengkapnya tentang entitas dan detail bidang, lihat:
+ [Kampanye](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group)
+ [Set Iklan](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign)
+ [Iklan](https://developers.facebook.com/docs/marketing-api/reference/adgroup)
+ [Iklan Kreatif](https://developers.facebook.com/docs/marketing-api/reference/ad-creative)
+ [Wawasan Akun Iklan](https://developers.facebook.com/docs/marketing-api/reference/ad-account/insights)
+ [Gambar Iklan](https://developers.facebook.com/docs/marketing-api/reference/ad-image)
+ [Wawasan Iklan](https://developers.facebook.com/docs/marketing-api/reference/adgroup/insights/)
+ [AdSets Wawasan](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign/insights)
+ [Wawasan Kampanye](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group/insights)

Untuk informasi selengkapnya, lihat [API Pemasaran](https://developers.facebook.com/docs/marketing-api/reference/v21.0).

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

## Mempartisi kueri
<a name="instagram-ads-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 ini, kami menerima format stempel waktu Spark yang digunakan dalam kueri Spark SQL.

  Contoh nilai yang valid:

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

  Contoh nilai yang valid:

  ```
  "2024-01-02T00:00:00.000Z"
  ```
+ `NUM_PARTITIONS`: jumlah partisi.

Contoh:

```
instagramADs_read = glueContext.create_dynamic_frame.from_options(
    connection_type="instagramads",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v20.0",
        "PARTITION_FIELD": "created_time"
        "LOWER_BOUND": "2022-01-01T00:00:00.000Z"
        "UPPER_BOUND": "2024-01-02T00:00:00.000Z"
        "NUM_PARTITIONS": "10"
    }
```

# Opsi koneksi Iklan Instagram
<a name="instagram-ads-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Iklan Instagram:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk membaca. Nama objek Anda di Iklan Instagram.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk membaca. Versi API Grafik Iklan Instagram yang ingin Anda gunakan. Misalnya: v21.
+ `SELECTED_FIELDS`(Daftar<String>) - Default: kosong (SELECT \$1). Digunakan untuk membaca. Kolom yang ingin Anda pilih untuk objek.
+ `FILTER_PREDICATE`(String) - Default: kosong. Digunakan untuk membaca. Itu harus dalam format Spark SQL.
+ `QUERY`(String) - Default: kosong. Digunakan untuk membaca. Kueri SQL Spark penuh.
+ `PARTITION_FIELD`(String) - Digunakan untuk membaca. Bidang yang akan digunakan untuk mempartisi kueri.
+ `LOWER_BOUND`(String) - Digunakan untuk membaca. Nilai batas bawah inklusif dari bidang partisi yang dipilih.
+ `UPPER_BOUND`(String) - Digunakan untuk membaca. Nilai batas atas eksklusif dari bidang partisi yang dipilih. 
+ `NUM_PARTITIONS`(Integer) - Default: 1. Digunakan untuk membaca. Jumlah partisi untuk dibaca.

# Keterbatasan dan catatan untuk konektor Iklan Instagram
<a name="instagram-ads-connector-limitations"></a>

Berikut ini adalah batasan atau catatan untuk konektor Iklan Instagram:
+ Hitungan panggilan aplikasi adalah jumlah panggilan yang dapat dilakukan pengguna selama jendela satu jam bergulir 200 dikalikan dengan jumlah pengguna. Untuk detail batas tarif, lihat Batas [Tarif, dan Batas](https://developers.facebook.com/docs/graph-api/overview/rate-limiting/) [Tarif Kasus Penggunaan Bisnis](https://developers.facebook.com/docs/graph-api/overview/rate-limiting/#buc-rate-limits).

# Menghubungkan ke Interkom di AWS Glue Studio
<a name="connecting-to-data-intercom"></a>

 Intercom adalah Engagement OS, saluran terbuka antara bisnis Anda dan pelanggan Anda — dalam produk, saat ini, dan sesuai ketentuan mereka — menciptakan dialog berkelanjutan yang memungkinkan Anda memanfaatkan setiap keterlibatan di seluruh perjalanan pelanggan. 

**Topics**
+ [AWS Glue dukungan untuk Intercom](intercom-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](intercom-configuring-iam-permissions.md)
+ [Mengkonfigurasi Interkom](intercom-configuring.md)
+ [Mengkonfigurasi koneksi Interkom](intercom-configuring-connections.md)
+ [Membaca dari entitas Interkom](intercom-reading-from-entities.md)
+ [Opsi koneksi interkom](intercom-connection-options.md)
+ [Batasan](intercom-limitations.md)
+ [Membuat akun Interkom baru dan mengonfigurasi aplikasi klien](intercom-new-account-creation.md)

# AWS Glue dukungan untuk Intercom
<a name="intercom-support"></a>

AWS Glue mendukung Interkom sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi API Interkom yang didukung**  
 v2.5. Untuk dukungan entitas per versi tertentu, lihat[Membaca dari entitas Interkom](intercom-reading-from-entities.md). 

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

 Kebijakan contoh berikut menjelaskan izin 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": "*"
    }
  ]
}
```

------

Anda juga dapat menggunakan kebijakan IAM terkelola berikut untuk mengizinkan akses:
+  [ 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,, dan Amazon EC2. Amazon CloudWatch Logs 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 Interkom
<a name="intercom-configuring"></a>

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

## Persyaratan minimum
<a name="intercom-configuring-min-requirements"></a>
+  Anda memiliki akun Interkom. Untuk informasi selengkapnya, lihat [Membuat akun Interkom baru dan mengonfigurasi aplikasi klien](intercom-new-account-creation.md). 
+  Akun Interkom Anda diaktifkan untuk akses API. 
+  Anda harus memiliki aplikasi di bawah akun pengembang Intercom yang menyediakan kredensi klien yang AWS Glue digunakan untuk mengakses data Anda dengan aman saat melakukan panggilan yang diautentikasi ke akun Anda. Untuk informasi selengkapnya, lihat Interkom- Langkah Pembuatan Akun Baru dan Aplikasi Klien. 

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

# Mengkonfigurasi koneksi Interkom
<a name="intercom-configuring-connections"></a>

 Interkom mendukung jenis `AUTHORIZATION_CODE` hibah untuk OAuth 2. 

 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. AWS Glue Konsol akan mengarahkan pengguna ke Google Ads di mana pengguna harus masuk dan mengizinkan izin AWS Glue yang diminta untuk mengakses instance Interkom mereka. 

 Pengguna harus memberikan id klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue Konsol. Dalam skenario ini, mereka masih akan diarahkan ke Interkom untuk masuk dan memberi wewenang AWS Glue untuk mengakses sumber daya mereka. 

 Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses berumur pendek, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran. 

 Untuk informasi selengkapnya tentang membuat aplikasi yang terhubung untuk OAuth alur Kode Otorisasi, lihat [API Iklan](https://developers.intercom.com/building-apps/docs/setting-up-oauth). 

Untuk mengkonfigurasi koneksi Interkom:

1.  Di AWS Secrets Manager, buat rahasia dengan detail berikut. Diperlukan untuk membuat rahasia untuk setiap koneksi di AWS Glue. 

   1.  Untuk aplikasi terhubung yang dikelola pelanggan — Secret harus berisi token akses aplikasi yang terhubung, token refresh, client\$1id, dan client\$1secret. 

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 Interkom.

   1. Menyediakan lingkungan Interkom.

   1.  Pilih peran 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 Interkom
<a name="intercom-reading-from-entities"></a>

 **Prasyarat** 
+  Objek Interkom yang ingin Anda baca. Lihat tabel entitas yang didukung di bawah ini untuk memeriksa entitas yang tersedia. 

 **Entitas yang didukung** 


| Entitas | API\$1Versi | Dapat disaring | Mendukung Batas | Mendukung Order By | Mendukung Pilih\$1 | Mendukung Partisi | 
| --- | --- | --- | --- | --- | --- | --- | 
| Admin | v2.5 | Tidak | Tidak | Tidak | Ya | Tidak | 
| Perusahaan | v2.5 | Tidak | Ya | Tidak | Ya | Tidak | 
| Percakapan | v2.5 | Ya | Ya | Ya | Ya | Ya | 
| Atribut Data | v2.5 | Tidak | Tidak | Tidak | Ya | Tidak | 
| Kontak  | v2.5 | Ya | Ya | Ya | Ya | Ya | 
| Segmen | v2.5 | Tidak | Tidak | Tidak | Ya | Tidak | 
| Tag | v2.5 | Tidak | Tidak | Tidak | Ya | Tidak | 
| Tim | v2.5 | Tidak | Tidak | Tidak | Ya | Tidak | 

 **Contoh** 

```
Intercom_read = glueContext.create_dynamic_frame.from_options(
    connection_type="Intercom",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "company",
        "API_VERSION": "V2.5"
    }
)
```

 **Entitas interkom dan detail bidang** 


| Entitas | Field | Tipe data | Operator yang Didukung | 
| --- | --- | --- | --- | 
| Admin | jenis | String | TA | 
| Admin | id | String | TA | 
| Admin | avatar | Struct | TA | 
| Admin | name | String | TA | 
| Admin | Email | String | TA | 
| Admin | away\$1mode\$1enabled | Boolean | TA | 
| Admin | away\$1mode\$1reassign | Boolean | TA | 
| Admin | has\$1inbox\$1seat | Boolean | TA | 
| Admin | teams\$1id | Daftar | TA | 
| Admin | job\$1title | String | TA | 
| Perusahaan | jenis | String | TA | 
| Perusahaan | id | String | TA | 
| Perusahaan | app\$1id | String | TA | 
| Perusahaan | dibuat\$1at | DateTime | TA | 
| Perusahaan | remote\$1created\$1at | DateTime | TA | 
| Perusahaan | updated\$1at | DateTime | TA | 
| Perusahaan | last\$1request\$1at | DateTime | TA | 
| Perusahaan | rencana | Struct | TA | 
| Perusahaan | perusahaan\$1id | String | TA | 
| Perusahaan | name | String | TA | 
| Perusahaan | custom\$1attributes | Struct | TA | 
| Perusahaan | session\$1count | Bilangan Bulat | TA | 
| Perusahaan | bulanan\$1habiskan | Bilangan Bulat | TA | 
| Perusahaan | user\$1count | Bilangan Bulat | TA | 
| Perusahaan | industri | String | TA | 
| Perusahaan | ukuran | Bilangan Bulat | TA | 
| Perusahaan | situs web | String | TA | 
| Perusahaan | tag | Struct | TA | 
| Perusahaan | segmen | Struct | TA | 
| Kontak  | id | String | EQUAL\$1TO.NOT\$1EQUAL\$1TO | 
| Kontak  | jenis | String | TA | 
| Kontak  | workspace\$1id | String | TA | 
| Kontak  | external\$1id | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontak  | peran | String | EQUAL\$1TO.NOT\$1EQUAL\$1TO | 
| Kontak  | Email | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontak  | telepon | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontak  | name | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontak  | avatar | String | TA | 
| Kontak  | owner\$1id | Bilangan Bulat | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Kontak  | social\$1profiles | Struct | TA | 
| Kontak  | has\$1hard\$1memantul | Boolean | SAMA\$1KE | 
| Kontak  | marked\$1email\$1as\$1spam | Boolean | SAMA\$1KE | 
| Kontak  | unsubscribed\$1from\$1emails | Boolean | SAMA\$1KE | 
| Kontak  | dibuat\$1at | DateTime | SAMA\$1KE, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Kontak  | updated\$1at | DateTime | SAMA\$1KE, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Kontak  | signed\$1up\$1at | DateTime | SAMA\$1KE, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Kontak  | last\$1seen\$1at | DateTime | SAMA\$1KE, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Kontak  | last\$1replied\$1at | DateTime | SAMA\$1KE, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Kontak  | last\$1contacted\$1at | DateTime | SAMA\$1KE, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Kontak  | last\$1email\$1opened\$1at | DateTime | SAMA\$1KE, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Kontak  | last\$1email\$1clicked\$1at | DateTime | SAMA\$1KE, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Kontak  | language\$1override | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontak  | penjelajah | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontak  | browser\$1version | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontak  | browser\$1language | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontak  | os | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontak  | lokasi | Struct | TA | 
| Kontak  | location\$1country | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontak  | lokasi\$1wilayah | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontak  | lokasi\$1kota | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontak  | android\$1app\$1name | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontak  | android\$1app\$1version | String | TA | 
| Kontak  | android\$1device | String | TA | 
| Kontak  | android\$1os\$1version | String | TA | 
| Kontak  | android\$1sdk\$1version | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontak  | android\$1last\$1seen\$1at | Date | TA | 
| Kontak  | ios\$1app\$1name | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontak  | ios\$1app\$1version | String | TA | 
| Kontak  | ios\$1device | String | TA | 
| Kontak  | ios\$1os\$1version | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontak  | ios\$1sdk\$1versi | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Kontak  | ios\$1last\$1seen\$1at | DateTime | TA | 
| Kontak  | custom\$1attributes | Struct | TA | 
| Kontak  | tag | Struct | TA | 
| Kontak  | catatan | Struct | TA | 
| Kontak  | perusahaan | Struct | TA | 
| Kontak  | unsubscribed\$1from\$1sms | Boolean | TA | 
| Kontak  | sms\$1consent | Boolean | TA | 
| Kontak  | opted\$1out\$1subscription\$1types | Struct | TA | 
| Kontak  | perujuk | String | TA | 
| Kontak  | utm\$1kampanye | String | TA | 
| Kontak  | utm\$1konten | String | TA | 
| Kontak  | utm\$1sedang | String | TA | 
| Kontak  | utm\$1source | String | TA | 
| Kontak  | utm\$1term | String | TA | 
| Percakapan | jenis | String | TA | 
| Percakapan | id | Bilangan Bulat | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Percakapan | dibuat\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Percakapan | updated\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Percakapan | sumber | Struct | TA | 
| Percakapan | source\$1id | String | SAMA\$1KE, TIDAK\$1SAMA\$1KE | 
| Percakapan | source\$1type | String | SAMA\$1KE, TIDAK\$1SAMA\$1KE, | 
| Percakapan | source\$1delivered\$1as | String | SAMA\$1KE, TIDAK\$1SAMA\$1KE, | 
| Percakapan | source\$1subject | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Percakapan | source\$1body | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Percakapan | source\$1author\$1id | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Percakapan | source\$1author\$1type | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Percakapan | source\$1author\$1name | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Percakapan | source\$1author\$1email | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Percakapan | source\$1url | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Percakapan | kontak | Struct | TA | 
| Percakapan | rekan satu tim | Struct | TA | 
| Percakapan | title | String | TA | 
| Percakapan | admin\$1assignee\$1id | Bilangan Bulat | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Percakapan | team\$1assignee\$1id | Bilangan Bulat | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Percakapan | custom\$1attributes | Struct | TA | 
| Percakapan | terbuka | Boolean | SAMA\$1KE | 
| Percakapan | status | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Percakapan | baca | Boolean | SAMA\$1KE | 
| Percakapan | menunggu\$1sejak | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Percakapan | snoozed\$1until | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Percakapan | tag | Struct | TA | 
| Percakapan | first\$1contact\$1reply | Struct | TA | 
| Percakapan | Prioritas | String | SAMA\$1KE, TIDAK\$1SAMA\$1KE | 
| Percakapan | topik | Struct | TA | 
| Percakapan | sla\$1diterapkan | Struct | TA | 
| Percakapan | percakapan\$1rating | Struct | TA | 
| Percakapan | percakapan\$1rating\$1requested\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Percakapan | percakapan\$1rating\$1replied\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Percakapan | percakapan\$1rating\$1score | Bilangan Bulat | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Percakapan | percakapan\$1rating\$1komentar | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Percakapan | percakapan\$1rating\$1contact\$1id | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Percakapan | percakapan\$1rating\$1admin\$1id | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Percakapan | statistik | Struct | TA | 
| Percakapan | statistik\$1time\$1to\$1assignment | Bilangan Bulat | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Percakapan | statistik\$1time\$1to\$1admin\$1reply | Bilangan Bulat | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Percakapan | statistik\$1time\$1to\$1first\$1close | Bilangan Bulat | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Percakapan | statistik\$1time\$1to\$1last\$1close | Bilangan Bulat | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Percakapan | statistik\$1median\$1time\$1to\$1reply | Bilangan Bulat | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Percakapan | statistik\$1first\$1contact\$1reply\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Percakapan | statistik\$1first\$1assignment\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Percakapan | statistik\$1first\$1admin\$1reply\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Percakapan | statistik\$1first\$1close\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Percakapan | statistik\$1last\$1assignment\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Percakapan | statistik\$1last\$1assignment\$1admin\$1reply\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Percakapan | statistik\$1last\$1contact\$1reply\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Percakapan | statistik\$1last\$1admin\$1reply\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Percakapan | statistik\$1last\$1close\$1at | DateTime | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Percakapan | statistik\$1last\$1closed\$1by\$1id | String | BERISI, EQUAL\$1TO, NOT\$1EQUAL\$1TO | 
| Percakapan | statistik\$1count\$1reopens | Bilangan Bulat | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Percakapan | statistik\$1count\$1assignments | Bilangan Bulat | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Percakapan | statistik\$1count\$1conversation\$1parts | Bilangan Bulat | EQUAL\$1TO, NOT\$1EQUAL\$1TO, LEBIH BESAR\$1DARI, KURANG\$1DARI | 
| Percakapan | percakapan\$1parts | Daftar | TA | 
| Atribut Data | id | Bilangan Bulat | TA | 
| Atribut Data | jenis | String | TA | 
| Atribut Data | model | String | TA | 
| Atribut Data | name | String | TA | 
| Atribut Data | full\$1name | String | TA | 
| Atribut Data | label | String | TA | 
| Atribut Data | deskripsi | String | TA | 
| Atribut Data | data\$1type | String | TA | 
| Atribut Data | options | Daftar | TA | 
| Atribut Data | api\$1writable | Boolean | TA | 
| Atribut Data | ui\$1writable | Boolean | TA | 
| Atribut Data | kebiasaan | Boolean | TA | 
| Atribut Data | diarsipkan | Boolean | TA | 
| Atribut Data | dibuat\$1at | Boolean | TA | 
| Atribut Data | updated\$1at | DateTime | TA | 
| Atribut Data | admin\$1id | String | TA | 
| Segmen | jenis | String | TA | 
| Segmen | id | String | TA | 
| Segmen | name | String | TA | 
| Segmen | dibuat\$1at | DateTime | TA | 
| Segmen | updated\$1at | DateTime | TA | 
| Segmen | person\$1type | String | TA | 
| Segmen | count | Bilangan Bulat | TA | 
| Tag | jenis | String | TA | 
| Tag | id | String | TA | 
| Tag | name | String | TA | 
| Tim | jenis | String | TA | 
| Tim | id | String | TA | 
| Tim | name | String | TA | 
| Tim | admin\$1id | Daftar | TA | 

 **Mempartisi kueri** 

 Opsi percikan tambahan`PARTITION_FIELD`,, `LOWER_BOUND``UPPER_BOUND`, `NUM_PARTITIONS` dapat diberikan 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 percikan secara bersamaan. 
+  `PARTITION_FIELD`: nama bidang yang akan digunakan untuk mempartisi kueri. 
+  `LOWER_BOUND`: nilai batas bawah inklusif dari bidang partisi yang dipilih. 

   Untuk tanggal, kami menerima format tanggal Spark yang digunakan dalam kueri Spark SQL. Contoh nilai yang valid:`"2024-02-06"`. 
+  `UPPER_BOUND`: nilai batas atas eksklusif dari bidang partisi yang dipilih. 
+  `NUM_PARTITIONS`: jumlah partisi. 

 Detail dukungan bidang partisi berdasarkan entitas ditangkap dalam tabel berikut. 


| Nama Entitas | Bidang Partisi | Tipe data | 
| --- | --- | --- | 
| Kontak  | created\$1at, updated\$1at, last\$1seen\$1at | DateTime | 
| Percakapan | id | Bilangan Bulat | 
| Percakapan | created\$1at, updated\$1at | DateTime | 

 **Contoh** 

```
Intercom_read = glueContext.create_dynamic_frame.from_options(
    connection_type="Intercom",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "conversation",
        "API_VERSION": "V2.5",
        "PARTITION_FIELD": "created_at"
        "LOWER_BOUND": "2022-07-13T07:55:27.065Z"
        "UPPER_BOUND": "2022-08-12T07:55:27.065Z"
        "NUM_PARTITIONS": "2"
    }
)
```

# Opsi koneksi interkom
<a name="intercom-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Interkom:
+  `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama Objek Anda di Interkom. 
+  `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Intercom Rest API versi yang ingin Anda gunakan. Contoh: v2.5. 
+  `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. 
+  `INSTANCE_URL`(String) - URL dari contoh di mana pengguna ingin menjalankan operasi. Misalnya: [https://api.intercom.io](https://api.intercom.io). 

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

Berikut ini adalah batasan untuk konektor Interkom:
+  Saat menggunakan entitas Perusahaan, ada batasan 10.000 Perusahaan yang dapat dikembalikan. Untuk informasi selengkapnya, lihat [Daftar semua API perusahaan](https://developers.intercom.com/docs/references/2.5/rest-api/companies/list-companies). 
+  Saat menerapkan pesanan berdasarkan, filter wajib untuk entitas **Kontak** dan **Percakapan**. 
+  MCA didukung oleh penyedia SaaS. Namun, berdasarkan batas tarif API yang disebutkan dalam dokumentasi, kami tidak akan meng-host MCA AWS Glue karena dapat memengaruhi beban kerja lain dan berpotensi menyebabkan masalah kinerja karena perselisihan sumber daya. 

# Membuat akun Interkom baru dan mengonfigurasi aplikasi klien
<a name="intercom-new-account-creation"></a>

**Membuat akun Interkom**

1. Pilih [URL Interkom](https://app.intercom.com/) dan pilih **Mulai uji coba gratis saya** di sudut kanan atas halaman.

1. Pilih **tombol Coba gratis** di sudut kanan atas halaman.

1. Pilih jenis bisnis yang Anda butuhkan. 

1. Masukkan semua informasi yang diperlukan pada halaman.

1. Setelah memasukkan semua informasi, pilih **Daftar**.



**Membuat aplikasi pengembang Interkom**

Untuk mendapatkan **Client Id** dan **Client Secret**, Anda membuat akun pengembang.

1. Arahkan ke [https://app.intercom.com/](https://app.intercom.com/).

1. Masukkan ID Email dan Kata Sandi/Masuk Menggunakan Google dan masuk.

1. Pilih **profil pengguna** di sudut kiri bawah dan pilih pengaturan.

1. Pilih **Aplikasi & Integrasi**.

1. Pilih tab **Hub Pengembang** di bawah **Aplikasi & Integrasi**.

1. Pilih **aplikasi baru** dan buat aplikasi di sini.

1. Berikan nama aplikasi dan pilih **Buat** aplikasi.

1. Di dalam aplikasi, navigasikan ke bagian **Otentikasi**.

1. Pilih **edit** dan tambahkan pengalihan URIs. Tambahkan URL Pengalihan khusus wilayah Anda sebagai. `https://<aws-region>.console.aws.amazon.com/gluestudio/oauth` Misalnya, tambahkan`https://us-east-1.console.aws.amazon.com/gluestudio/oauth for the us-east-1 region`.

1. Dapatkan **ID Klien** dan **Rahasia Klien** yang dihasilkan di Bagian Informasi Dasar.

# Menghubungkan ke Jira Cloud
<a name="connecting-to-data-jira-cloud"></a>

Jira Cloud adalah platform yang dikembangkan oleh Atlassian. Platform ini mencakup produk pelacakan masalah yang membantu tim merencanakan dan melacak proyek Agile mereka. Sebagai pengguna Jira Cloud, akun Anda berisi data tentang proyek Anda, seperti masalah, alur kerja, dan peristiwa. Anda dapat menggunakan AWS Glue untuk mentransfer data Jira Cloud Anda ke AWS layanan tertentu atau aplikasi lain yang didukung.

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

# AWS Glue dukungan untuk Jira Cloud
<a name="jira-cloud-support"></a>

AWS Glue mendukung Jira Cloud sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi Jira Cloud API yang didukung**  
Versi API Jira Cloud berikut didukung:
+ v3

Untuk dukungan entitas per versi tertentu, lihat[Membaca dari entitas Jira Cloud](jira-cloud-reading-from-entities.md). 

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="jira-cloud-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 Jira Cloud
<a name="jira-cloud-configuring"></a>

Sebelum Anda dapat menggunakan AWS Glue untuk mentransfer data dari Jira Cloud ke tujuan yang didukung, Anda harus memenuhi persyaratan berikut:

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

Berikut ini adalah persyaratan minimum:
+ Anda memiliki akun Atlassian tempat Anda menggunakan produk perangkat lunak Jira di Jira Cloud. Untuk informasi selengkapnya, lihat [Membuat akun Jira Cloud](#jira-cloud-configuring-creating-jira-cloud-account).
+ Anda harus memiliki AWS akun yang dibuat dengan akses layanan ke AWS Glue.
+ Aplikasi ini menyediakan kredensi klien yang AWS Glue digunakan untuk mengakses data Anda dengan aman saat melakukan panggilan yang diautentikasi ke akun Anda. Untuk informasi selengkapnya, lihat [Mengaktifkan OAuth 2.0 (3LO) dalam dokumentasi Pengembang](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps/#enabling-oauth-2-0--3lo-) Atlassian.

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

## Membuat akun Jira Cloud
<a name="jira-cloud-configuring-creating-jira-cloud-account"></a>

Untuk membuat akun Jira Cloud:

1. Arahkan ke [URL pendaftaran Atlassian](https://id.atlassian.com/signup).

1. Masukkan email dan nama kantor Anda dan pilih **Setuju**. Anda menerima email verifikasi.

1. Setelah memverifikasi email Anda, Anda dapat membuat kata sandi dan memilih **Daftar**.

1. Masukkan nama dan kata sandi, lalu pilih **Daftar**.

1. Anda diarahkan ke halaman di mana Anda harus memasukkan situs Anda. Masukkan nama situs dan pilih **Setuju**.

Setelah situs Atlassian Cloud Anda dimulai, Anda dapat mengatur Jira Anda dengan menjawab beberapa pertanyaan sesuai preferensi jenis proyek Anda.

Untuk masuk ke akun yang ada:

1. Arahkan ke [URL login Atlassian](https://id.atlassian.com/login) dan masukkan kredensional.

1. Masukkan email dan kata sandi dan klik **Masuk**. Anda dialihkan ke dasbor Jira.

## Membuat aplikasi di Jira Cloud
<a name="jira-cloud-configuring-creating-jira-cloud-app"></a>

Untuk membuat aplikasi di Jira Cloud dan mendapatkan Client ID dan Client Secret dari aplikasi klien terkelola:

1. Arahkan ke [URL Jira Cloud](https://id.atlassian.com/login) dan masukkan kredensional.

1. Pilih **Buat** dan pilih opsi **integrasi OAuth 2.0**.

1. **Masukkan nama aplikasi, periksa **T&C** dan pilih Buat.**

1. Arahkan ke bagian **Distribusi** di menu kiri dan pilih **Edit**.

1. Di bagian **Edit kontrol distribusi**:

   1. Pilih **STATUS DISTRIBUSI** sebagai **Berbagi**.

   1. Masukkan nama vendor.

   1. Masukkan URL untuk **Kebijakan Privasi** Anda. Misalnya, https://docs.aws.amazon.com/glue/ latest/dg/security -iam-awsmanpol.html

   1. Masukkan URL untuk **Ketentuan Layanan** Anda (opsional).

   1. Masukkan URL untuk **kontak dukungan Pelanggan** Anda (opsional).

   1. Pilih Yes/No dari **DEKLARASI DATA PRIBADI** dan pilih **Simpan perubahan**.

1. Arahkan ke **Izin** di menu kiri untuk aplikasi masing-masing.

1. Untuk **JIRA API**, pilih **Tambah**. Setelah ditambahkan, pilih opsi **Konfigurasi**.

1. Di bawah bagian **Classic scopes** > **Jira platform REST API** pilih **Edit Scopes. Dan periksa semua cakupan**. Klik **Simpan**.

1. Di bawah **Lingkup Granular** pilih **Edit Lingkup dan pilih cakupan** berikut:

1. Gulir ke bawah dan temukan cakupan. Ada dua jenis cakupan yang harus Anda pilih di bawah judul “CRM” dan “Standar”.

1. Tambahkan cakupan berikut:

   ```
   read:application-role:jira
   read:audit-log:jira
   read:avatar:jira
   read:field:jira
   read:group:jira
   read:instance-configuration:jira
   read:issue-details:jira
   read:issue-event:jira
   read:issue-link-type:jira
   read:issue-meta:jira
   read:issue-security-level:jira
   read:issue-security-scheme:jira
   read:issue-type-scheme:jira
   read:issue-type-screen-scheme:jira
   read:issue-type:jira
   read:issue.time-tracking:jira
   read:label:jira
   read:notification-scheme:jira
   read:permission:jira
   read:priority:jira
   read:project:jira
   read:project-category:jira
   read:project-role:jira
   read:project-type:jira
   read:project-version:jira
   read:project.component:jir
   read:project.property:jira
   read:resolution:jira
   read:screen:jira
   read:status:jira
   read:user:jira
   read:workflow-scheme:jira
   read:workflow:jira
   read:field-configuration:jira
   read:issue-type-hierarchy:jira
   read:webhook:jira
   ```

1. Arahkan ke **Otentikasi** di menu sebelah kiri dan pilih **Tambah**.

1. Masukkan **URL Callback** seperti oauth https://us-east-1.console.aws.amazon.com/gluestudio/

1. Arahkan ke **Pengaturan** di menu kiri dan gulir ke bawah untuk detail **Otentikasi**. Catat ID Klien dan Rahasia.

# Mengkonfigurasi koneksi Jira Cloud
<a name="jira-cloud-configuring-connections"></a>

Jira Cloud mendukung jenis hibah AUTHORIZATION\$1CODE untuk. OAuth2
+ 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. AWS Glue Konsol akan mengarahkan pengguna ke Jira Cloud di mana pengguna harus masuk dan mengizinkan izin AWS Glue yang diminta untuk mengakses instance Jira Cloud mereka.
+ Pengguna masih dapat memilih untuk membuat aplikasi mereka sendiri yang terhubung di Jira Cloud dan memberikan ID klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue konsol. Dalam skenario ini, mereka masih akan diarahkan ke Jira Cloud untuk masuk dan memberi wewenang AWS Glue untuk mengakses sumber daya mereka.
+ Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses berumur pendek, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran.
+ Untuk dokumentasi Jira Cloud publik tentang cara membuat aplikasi yang terhubung untuk OAuth alur Kode Otorisasi, lihat [Mengaktifkan OAuth 2.0 (](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps/#enabling-oauth-2-0--3lo-)3LO).

Untuk mengonfigurasi koneksi Jira Cloud:

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

   1. 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 untuk 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 Jira Cloud.

   1. Menyediakan lingkungan Jira Cloud.

   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 Jira Cloud
<a name="jira-cloud-reading-from-entities"></a>

**Prasyarat**

Objek Jira Cloud yang ingin Anda baca. Anda akan memerlukan nama objek seperti Catatan Audit atau Masalah. Tabel berikut menunjukkan entitas yang didukung.

**Entitas yang didukung untuk sumber**:


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih \$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| Catatan Audit | Ya | Ya | Tidak | Ya | Ya | 
| Isu | Ya | Ya | Tidak | Ya | Ya | 
| Bidang Masalah | Tidak | Tidak | Tidak | Ya | Tidak | 
| Konfigurasi Bidang Masalah | Ya | Ya | Tidak | Ya | Ya | 
| Jenis Tautan Masalah | Tidak | Tidak | Tidak | Ya | Tidak | 
| Skema Pemberitahuan Masalah | Ya | Ya | Tidak | Ya | Ya | 
| Masalah Skema Keamanan | Tidak | Tidak | Tidak | Ya | Tidak | 
| Skema Jenis Masalah | Ya | Ya | Ya | Ya | Ya | 
| Skema Layar Jenis Masalah | Ya | Ya | Ya | Ya | Ya | 
| Jenis Masalah | Tidak | Tidak | Tidak | Ya | Tidak | 
| Pengaturan Jira | Ya | Tidak | Tidak | Ya | Tidak | 
| Pengaturan Jira Lanjutan | Tidak | Tidak | Tidak | Ya | Tidak | 
| Pengaturan Jira Global | Tidak | Tidak | Tidak | Ya | Tidak | 
| Label | Tidak | Tidak | Tidak | Ya | Ya | 
| Diri saya | Ya | Tidak | Tidak | Ya | Tidak | 
| Izin | Tidak | Tidak | Tidak | Ya | Tidak. | 
| Proyek | Ya | Ya | Ya | Ya | Ya | 
| Kategori Proyek | Tidak | Tidak | Tidak | Ya | Tidak | 
| Jenis Proyek | Tidak | Tidak | Tidak | Ya | Tidak | 
| Info Server | Tidak | Tidak | Tidak | Ya | Tidak | 
| Pengguna | Tidak | Tidak | Tidak. | Ya | Tidak | 
| Alur kerja | Ya | Ya | Ya | Ya | Ya | 
| Skema Alur Kerja | Tidak | Ya | Tidak | Ya | Ya | 
| Asosiasi Proyek Skema Alur Kerja | Ya | Tidak | Tidak | Ya | Tidak | 
| Status Alur Kerja | Tidak | Tidak | Tidak | Ya | Tidak | 
| Kategori Status Alur Kerja | Tidak | Tidak | Tidak | Ya | Tidak | 

**Contoh:**

```
jiracloud_read = glueContext.create_dynamic_frame.from_options(
    connection_type="JiraCloud",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "audit-record",
        "API_VERSION": "v3"
    }
```

**Entitas Jira Cloud dan detail bidang**:

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

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

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.
+ `NUM_PARTITIONS`: jumlah partisi.

Contoh:

```
jiraCloud_read = glueContext.create_dynamic_frame.from_options(
    connection_type="JiraCloud",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "issue",
        "API_VERSION": "v3",
        "NUM_PARTITIONS": "10"
    }
```

# Opsi koneksi Jira Cloud
<a name="jira-cloud-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Jira Cloud:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama objek Anda di Jira Cloud.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Versi API Jira Cloud Rest yang ingin Anda gunakan. Misalnya: v3.
+ `DOMAIN_URL`(String) - (Diperlukan) ID Jira Cloud yang ingin Anda gunakan.
+ `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.
+ `NUM_PARTITIONS`(Integer) - Default: 1. Digunakan untuk Baca. Jumlah partisi untuk dibaca.

# Keterbatasan dan catatan untuk konektor Jira Cloud
<a name="jira-cloud-connector-limitations"></a>

Berikut ini adalah batasan atau catatan untuk konektor Jira Cloud:
+  `Contains`Operator tidak bekerja dengan `resourceName` bidang, yang merupakan tipe `String` data. 
+  Secara default, jika tidak ada filter eksplisit yang diterapkan, hanya masalah dari 30 hari terakhir yang akan dirayapi. Pengguna memiliki opsi untuk mengganti filter default ini dengan menentukan filter khusus. 

# Menghubungkan ke Kustomer
<a name="connecting-to-data-kustomer"></a>

Kustomer adalah platform pengalaman pelanggan yang kuat yang menyatukan semua yang Anda butuhkan untuk melayani pelanggan Anda dengan lebih baik dalam satu easy-to-use alat.

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

# AWS Glue dukungan untuk Kustomer
<a name="kustomer-support"></a>

AWS Glue mendukung Kustomer sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi Kustomer API yang didukung**  
Versi Kustomer API berikut didukung:
+ v1

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="kustomer-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 Kustomer
<a name="kustomer-configuring"></a>

Sebelum Anda dapat menggunakan AWS Glue untuk mentransfer data dari Kustomer ke tujuan yang didukung, Anda harus memenuhi persyaratan berikut:

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

Berikut ini adalah persyaratan minimum:
+ Anda memiliki akun dengan Kustomer yang berisi data yang ingin Anda transfer. 
+ Dalam pengaturan untuk akun Anda, Anda telah membuat kunci API. Untuk informasi selengkapnya, lihat [Membuat kunci API](#kustomer-configuring-creating-an-api-key).
+ Anda menyediakan kunci API AWS Glue saat membuat koneksi.

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

## Membuat kunci API
<a name="kustomer-configuring-creating-an-api-key"></a>

Untuk membuat kunci API yang akan Anda gunakan untuk membuat koneksi untuk konektor Kustomer di AWS Glue Studio:

1. Masuk ke [dasbor Kustomer menggunakan kredensialmu](https://amazon-appflow.kustomerapp.com/login).

1. Pilih ikon **Pengaturan** dari menu kiri.

1. Perluas drop-down **Keamanan** dan pilih **API Keys**.

1. Di halaman pembuatan Kunci API pilih **Tambahkan Kunci API** dari sudut kanan atas.

1. Isi input wajib untuk kunci API yang sedang dibuat.
   + Nama: nama apa pun untuk Kunci API Anda.
   + Peran: 'org' harus dipilih agar Kustomer berfungsi APIs .
   + Kedaluwarsa (dalam hari): jumlah hari yang Anda inginkan agar kunci API valid. Anda dapat menyimpannya sebagai **Never kedaluwarsa**, jika sesuai dengan kasus penggunaan Anda.

1. Pilih **Buat**.

1. Simpan nilai kunci API (token) untuk penggunaan lebih lanjut guna membuat koneksi untuk konektor Kustomer di AWS Glue Studio.

# Mengkonfigurasi koneksi Kustomer
<a name="kustomer-configuring-connections"></a>

Untuk mengkonfigurasi koneksi Kustomer:

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

   1. Untuk aplikasi terkoneksi yang dikelola pelanggan, Rahasia harus berisi aplikasi yang terhubung Rahasia Konsumen `apiKey` sebagai kuncinya.

   1. Catatan: Anda harus membuat rahasia untuk koneksi Anda di AWS Glue.

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

   1. Di bawah **Koneksi**, pilih **Buat koneksi**.

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

   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 Kustomer
<a name="kustomer-reading-from-entities"></a>

**Prasyarat**

Objek Kustomer yang ingin Anda baca. Anda akan memerlukan nama objek seperti Merek atau Kartu. Tabel berikut menunjukkan entitas yang didukung.

**Entitas yang didukung untuk sumber**:


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih \$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| Merek | Tidak | Ya | Tidak | Ya | Tidak | 
| Kartu | Tidak | Ya | Tidak | Ya | Tidak | 
| Pengaturan Obrolan | Tidak | Tidak | Tidak | Ya | Tidak | 
| Perusahaan | Ya | Ya | Ya | Ya | Ya | 
| Percakapan | Ya | Ya | Ya | Ya | Ya | 
| Pelanggan | Ya | Ya | Ya | Ya | Ya | 
| Pencarian Pelanggan Disematkan | Tidak | Ya | Tidak | Ya | Tidak | 
| Posisi Pencarian Pelanggan | Tidak | Tidak | Tidak | Ya | Tidak | 
| Kait Email | Tidak | Ya | Tidak | Ya | Tidak | 
| Kait Web | Tidak | Ya | Tidak | Ya | Tidak | 
| Artikel KB | Tidak | Ya | Tidak | Ya | Tidak | 
| Kategori KB | Tidak | Ya | Tidak | Ya | Tidak | 
| Formulir KB | Tidak | Ya | Tidak | Ya | Tidak | 
| Rute KB | Tidak | Ya | Tidak | Ya | Tidak | 
| Tag KB | Tidak | Ya | Tidak | Ya | Tidak | 
| KB Template | Tidak | Ya | Tidak | Ya | Tidak | 
| Tema KB | Tidak | Ya | Tidak | Ya | Tidak | 
| Klase | Tidak | Ya | Tidak | Ya | Tidak | 
| KViews | Tidak | Ya | Tidak | Ya | Tidak | 
| Pesan | Ya | Ya | Ya | Ya | Ya | 
| Catatan | Ya | Ya | Ya | Ya | Ya | 
| Notifikasi | Tidak | Ya | Tidak | Ya | Tidak | 

**Contoh:**

```
Kustomer_read = glueContext.create_dynamic_frame.from_options(
    connection_type="kustomer",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "brands",
        "API_VERSION": "v1"
    }
```

## Entitas kustomer dan detail bidang
<a name="kustomer-reading-from-entities-field-details"></a>

Untuk informasi selengkapnya tentang entitas dan detail bidang, lihat:
+ [Merek](https://api.kustomerapp.com/v1/brands)
+ [Kartu](https://api.kustomerapp.com/v1/cards)
+ [Pengaturan Obrolan](https://api.kustomerapp.com/v1/chat/settings)
+ [Perusahaan](https://api.kustomerapp.com/v1/companies)
+ [Percakapan](https://api.kustomerapp.com/v1/conversations)
+ [Pelanggan](https://api.kustomerapp.com/v1/customers)
+ [Penelusuran Pelanggan Disematkan](https://api.kustomerapp.com/v1/customers/searches/pinned)
+ [Posisi Pencarian Pelanggan](https://api.kustomerapp.com/v1/customers/searches/positions)
+ [Email Hooks](https://api.kustomerapp.com/v1/hooks/email)
+ [Kait Web](https://api.kustomerapp.com/v1/hooks/web)
+ [Artikel KB](https://api.kustomerapp.com/v1/kb/articles)
+ [Kategori KB](https://api.kustomerapp.com/v1/kb/categories)
+ [Formulir KB]( https://api.kustomerapp.com/v1/kb/forms)
+ [Rute KB](https://api.kustomerapp.com/v1/kb/routes)
+ [Tag KB](https://api.kustomerapp.com/v1/kb/tags)
+ [KB Template](https://api.kustomerapp.com/v1/kb/templates)
+ [Tema KB](https://api.kustomerapp.com/v1/kb/themes)
+ [Klase](https://api.kustomerapp.com/v1/klasses)
+ [Kviews](https://api.kustomerapp.com/v1/kviews)
+ [Pesan](https://api.kustomerapp.com/v1/messages)
+ [Catatan](https://api.kustomerapp.com/v1/notes)
+ [Pemberitahuan](https://api.kustomerapp.com/v1/notifications)

Kustomer API v1

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

## Mempartisi kueri
<a name="kustomer-reading-from-partitioning"></a>

**Partisi berbasis lapangan**

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:

  ```
  "2023-01-15T11:18:39.205Z"
  ```
+ `UPPER_BOUND`: nilai batas atas **eksklusif** dari bidang partisi yang dipilih.
+ `NUM_PARTITIONS`: jumlah partisi.

Detail dukungan bidang partisi berdasarkan entitas ditangkap dalam tabel berikut:

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

Contoh:

```
Kustomer_read = glueContext.create_dynamic_frame.from_options(
    connection_type="kustomer",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "conversation",
        "API_VERSION": "v1",
        "PARTITION_FIELD": "createdAt"
        "LOWER_BOUND": "2023-01-15T11:18:39.205Z"
        "UPPER_BOUND": "2023-02-15T11:18:39.205Z"
        "NUM_PARTITIONS": "2"
    }
```

# Opsi koneksi Kustomer
<a name="kustomer-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Kustomer:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama objek Anda di Kustomer.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Versi Kustomer Rest API yang ingin Anda gunakan.
+ `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 membaca. Bidang yang akan digunakan untuk mempartisi kueri.
+ `LOWER_BOUND`(String) - Digunakan untuk membaca. Nilai batas bawah inklusif dari bidang partisi yang dipilih.
+ `UPPER_BOUND`(String) - Digunakan untuk membaca. Nilai batas atas eksklusif dari bidang partisi yang dipilih. 
+ `NUM_PARTITIONS`(Integer) - Default: 1. Digunakan untuk membaca. Jumlah partisi untuk dibaca.
+ `INSTANCE_URL`(String) - (Diperlukan) Digunakan untuk Baca. URL contoh Kustomer.

# Keterbatasan Kustomer
<a name="kustomer-connection-limitations"></a>

Berikut ini adalah batasan atau catatan untuk Kustomer:
+ `Customer Searches`Entitas tidak didukung karena dokumentasi Kustomer API belum mendeklarasikan titik akhir apa pun untuknya.
+ Dukungan filtrasi dan transfer inkremental pada `Klasses` entitas tidak didukung.
+ Pesanan oleh dapat didukung pada beberapa bidang yang berlaku dalam satu permintaan.

  Namun, urutan berdasarkan fungsionalitas pada beberapa bidang telah diamati berperilaku tidak konsisten dari ujung SaaS untuk beberapa kombinasi. Ini tidak dapat diprediksi karena mungkin ada kombinasi 'n' yang mungkin menunjukkan hasil penyortiran yang salah. Contoh:

  Untuk `Customers` entitas, order by `progressiveStatus desc, name asc` tidak menghasilkan hasil yang diurutkan dengan benar. Ini mengurutkan hanya berdasarkan `progressiveStatus` pesanan. Jika perilaku seperti itu diamati, Anda dapat menggunakan satu bidang untuk diurutkan.
+ Urutan berdasarkan pada bidang 'id' hanya didukung oleh `Messages` entitas `Conversations` dan sebagai parameter kueri. Misalnya: https://api.kustomerapp.com/v1/ percakapan? sort=desc (Ini mengurutkan hasil berdasarkan 'id' dalam urutan menurun.)

  Selain itu, filter atau pemesanan lain di bidang lain diterjemahkan ke dalam badan permintaan POST yang memiliki titik akhir API sebagai https://api.kustomerapp.com/v1/ pelanggan/pencarian POST Untuk mengizinkan dukungan pemesanan berdasarkan 'id' di `Conversations` dan`Messages`, hanya pesanan berdasarkan id yang harus ada atau and/or urutan filter lainnya di bidang lain yang berlaku.
+ Kustomer memungkinkan maksimum 10K record untuk diambil terlepas dari permintaan yang disaring atau tidak difilter. Karena batasan ini, akan ada kehilangan data untuk setiap entitas yang memegang lebih dari 10K catatan. Ada dua kemungkinan solusi yang dapat Anda lakukan untuk mengurangi sebagian ini:
  + Terapkan filter untuk mengambil kumpulan catatan tertentu.
  + Jika ada lebih dari 10K catatan dengan filter yang diterapkan, terapkan nilai filter berturut-turut dalam permintaan berikutnya yang baru atau terapkan rentang dalam filter. Contoh: 

    FilterExpression permintaan pertama: `modifiedAt >= 2022-03-15T05:26:23.000Z and modifiedAt < 2023-03-15T05:26:23.000Z`

    Asumsikan ini menghabiskan batas rekor 10K.

    Permintaan lain dapat dipicu dengan filterExpression: `modifiedAt >= 2023-03-15T05:26:23.000Z`
+ Sebagai perilaku SaaS, `CONTAINS` operator di Kustomer mendukung pencocokan hanya pada kata-kata lengkap dan bukan kecocokan sebagian dalam satu kata. Misalnya: “body CONTAINS 'test record'” akan cocok dengan record yang memiliki 'test' di bidang 'tubuh'. Namun, “body CONTAINS 'test'” tidak akan cocok dengan catatan yang memiliki testAnotherRecord '' di bidang 'tubuh'.

# Menghubungkan ke LinkedIn
<a name="connecting-to-linkedin"></a>

LinkedIn adalah alat pemasaran berbayar yang menawarkan akses ke jejaring LinkedIn sosial melalui berbagai posting bersponsor dan metode lainnya. LinkedIn adalah alat pemasaran yang kuat bagi perusahaan B2B untuk membangun prospek, pengakuan online, berbagi konten, dan banyak lagi.

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

# AWS Glue dukungan untuk LinkedIn
<a name="linkedin-support"></a>

AWS Glue mendukung LinkedIn sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi LinkedIn API yang didukung**  
**202406 (Juni 2024)**

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="linkedin-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 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 LinkedIn
<a name="linkedin-configuring"></a>

Sebelum Anda dapat menggunakan AWS Glue untuk mentransfer dari LinkedIn, Anda harus memenuhi persyaratan berikut:

## Persyaratan minimum
<a name="linkedin-configuring-min-requirements"></a>
+ Anda memiliki LinkedIn akun. Untuk informasi selengkapnya tentang membuat akun, lihat [Membuat LinkedIn akun](linkedin-create-account.md). 
+  LinkedIn Akun Anda diaktifkan untuk akses API. 
+ Anda telah membuat `OAuth2 API` integrasi di LinkedIn akun Anda. Integrasi ini menyediakan kredensi klien yang AWS Glue digunakan untuk mengakses data Anda dengan aman saat melakukan panggilan yang diautentikasi ke akun Anda. Untuk informasi selengkapnya, lihat [Membuat LinkedIn akun](linkedin-create-account.md).

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

# Mengkonfigurasi koneksi LinkedIn
<a name="linkedin-configuring-connections"></a>

 LinkedIn mendukung jenis `AUTHORIZATION_CODE` hibah untuk OAuth2. 

Jenis hibah ini dianggap “berkaki tiga” `OAuth` karena bergantung pada pengalihan pengguna ke server otorisasi pihak ketiga untuk mengautentikasi pengguna. Pengguna dapat memilih untuk membuat aplikasi mereka sendiri yang terhubung LinkedIn dan memberikan ID klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue konsol. Dalam skenario ini, mereka masih akan diarahkan ke login dan memberi wewenang LinkedIn AWS Glue untuk mengakses sumber daya mereka. 

Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses kedaluwarsa 60 hari setelah pembuatan. Token akses baru dapat diperoleh dengan menggunakan token penyegaran.

Untuk LinkedIn dokumentasi publik tentang cara membuat aplikasi yang terhubung untuk `Authorization Code OAuth` alur, lihat Alur [Kode Otorisasi (berkaki 3 OAuth)](https://learn.microsoft.com/en-us/linkedin/shared/authentication/authorization-code-flow?toc=%2Flinkedin%2Fmarketing%2Ftoc.json&bc=%2Flinkedin%2Fbreadcrumb%2Ftoc.json&view=li-lms-2024-07&tabs=HTTPS1).

**Mengkonfigurasi koneksi LinkedIn**

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 kunci `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` sebagai. 
   + Untuk aplikasi terhubung AWS Terkelola — Kosongkan rahasia atau rahasia dengan beberapa nilai sementara.
**catatan**  
Ini adalah suatu keharusan untuk membuat rahasia per koneksi di AWS Glue.

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

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

   1. Menyediakan LinkedIn lingkungan.

   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`. 

# Membaca dari LinkedIn entitas
<a name="linkedin-reading-from-entities"></a>

**Prasyarat** 

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

 **Entitas yang didukung** 


| Entitas | Dapat disaring | Mendukung Batas | Mendukung Order By | Mendukung Pilih \$1 | Mendukung Partisi | 
| --- | --- | --- | --- | --- | --- | 
| Akun Iklan | Ya | Ya | Ya | Ya | Tidak | 
| Kampanye | Ya | Ya | Ya | Ya | Tidak | 
| Grup Kampanye | Ya | Ya | Ya | Ya | Tidak | 
| Materi Iklan | Ya | Ya | Ya | Ya | Tidak | 
| Analisis Iklan | Ya | Tidak | Tidak | Ya | Tidak | 
| Analisis Iklan Semua AdAcocunts | Ya | Tidak | Tidak | Ya | Tidak | 
| Analisis Iklan Semua Kampanye | Ya | Tidak | Tidak | Ya | Tidak | 
| Analisis Iklan Semua CampaignGroups | Ya | Tidak | Tidak | Ya | Tidak | 
| Analisis Iklan Semua AdCreatives | Ya | Tidak | Tidak | Ya | Tidak | 
| Bagikan Statistik | Ya | Tidak | Tidak | Ya | Tidak | 
| Statistik Halaman | Ya | Tidak | Tidak | Ya | Tidak | 
| Statistik Pengikut | Ya | Tidak | Tidak | Ya | Tidak | 

 **Contoh** 

```
netsuiteerp_read = glueContext.create_dynamic_frame.from_options(
    connection_type="linkedin",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "adaccounts",
        "API_VERSION": "202406"
    }
)
```


**LinkedIn detail entitas dan bidang**  

|  **Tipe Data Bidang**  |  **Operator Filter yang Didukung**  | 
| --- | --- | 
|  String  |  =  | 
|  DateTime  |  ANTARA, =  | 
|  Numerik  |  =  | 
|  Boolean  |  =  | 

# LinkedIn opsi koneksi
<a name="linkedin-connection-options"></a>

Berikut ini adalah opsi koneksi untuk LinkedIn:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Nama Objek Anda di LinkedIn. Misalnya, AdAccounts. 
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. LinkedIn Rest versi API yang ingin Anda gunakan. Nilainya akan menjadi 202406, karena LinkedIn saat ini hanya mendukung versi 202406.
+ `SELECTED_FIELDS`(Daftar<String>) — Default: kosong (SELECT \$1). Digunakan untuk Baca. Kolom yang ingin Anda pilih untuk entitas yang dipilih. 
+ `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. 

# Membuat LinkedIn akun
<a name="linkedin-create-account"></a>

**Membuat LinkedIn Aplikasi dan OAuth kredensialnya**

1. Arahkan ke halaman **Jaringan LinkedIn Pengembang** Anda dan masuk dengan kredensi LinkedIn akun Anda. 

1. Arahkan ke halaman **Aplikasi Saya** dan pilih **Buat Aplikasi** untuk membuat LinkedIn Aplikasi baru.

1. Masukkan detail berikut ke dalam formulir pendaftaran aplikasi:
   + **Nama Perusahaan** — Pilih perusahaan yang sudah ada atau buat perusahaan baru.
   + **Nama** — Masukkan nama aplikasi.
   + **Deskripsi** — Masukkan deskripsi aplikasi.
   + **Logo Aplikasi** - Pilih file gambar sebagai logo aplikasi Anda.
   + **Penggunaan Aplikasi** — Pilih penggunaan aplikasi Anda.
   + **URL situs web** — Masukkan URL websiute yang berisi informasi rinci tentang aplikasi Anda.
   + **Email Bisnis** — Masukkan alamat email bisnis Anda.
   + **Telepon Bisnis** — Masukkan nomor telepon bisnis Anda.
   + **LinkedIn Ketentuan Penggunaan API** — Baca dan setujui.

1. Setelah mengisi formulir pendaftaran aplikasi, pilih **Kirim**.

   Anda akan diarahkan ke halaman **Otentikasi**, di mana Kunci Otentikasi (ID Klien dan Rahasia Klien) dan detail relevan lainnya akan ditampilkan.

1. Jika aplikasi web Anda memerlukan akses ke alamat email pengguna dari LinkedIn akun mereka, pilih `r_emailaddress` izin. Selain itu, Anda dapat menentukan Authorized Redirect URLs untuk LinkedIn aplikasi Anda. 

**Membuat halaman di LinkedIn akun**

1. Arahkan ke [Produk LinkedIn Pengembang](https://developer.linkedin.com/).

1. **Di sudut kanan atas halaman **Produk LinkedIn Pengembang**, pilih Aplikasi saya.**

1. **Di sudut kanan atas halaman **Aplikasi saya, pilih Buat aplikasi**.**

1. Pada halaman **Buat aplikasi**, masukkan nama aplikasi Anda di bidang **Nama aplikasi**.

1. Di bidang **LinkedIn Halaman**, masukkan nama atau URL halaman perusahaan Anda.
**catatan**  
Jika Anda tidak memiliki LinkedIn Halaman, Anda dapat membuatnya dengan memilih **Buat yang baru LinkedIn**. 

1. Di bidang **URL kebijakan privasi**, masukkan URL kebijakan privasi Anda.

1. Pilih **Unggah logo** untuk mengunggah gambar yang akan ditampilkan kepada pengguna saat mereka mengotorisasi dengan aplikasi Anda.

1. Di bagian **Perjanjian hukum**, pilih **Saya telah membaca dan menyetujui persyaratan ini**.

1. Pilih **Buat aplikasi**. 

   Aplikasi baru Anda akan dibuat dan akan tersedia di bawah tab **Aplikasi saya**.

**Menerbitkan iklan kampanye di LinkedIn**

1. Masuk ke **Manajer Kampanye**. 

1. Pilih **Grup Kampanye** yang ada, atau pilih **Buat** untuk membuat yang baru.

1. Pilih tujuan Anda.

1. Pilih grup, anggaran, dan jadwal Anda.

1. Bangun audiens target Anda.

1. Pilih format iklan Anda.

1. Pilih anggaran dan jadwal Anda.

1. Siapkan iklan Anda.

1. Tinjau dan Luncurkan.

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

Untuk bidang Analytics `ad_analytics_all_adAccounts` `ad_analytics_all_campaigns``ad_analytics_all_campaign_groups`,,, dan `ad_analytics_all_adCreatives` filter wajib untuk mengambil catatan.

# Menghubungkan ke Mailchimp
<a name="connecting-to-mailchimp"></a>

MailChimp adalah platform all-in-one pemasaran yang membantu Anda mengelola dan berbicara dengan klien, pelanggan, dan pihak lain yang berkepentingan. Pendekatan pemasaran mereka berfokus pada praktik manajemen kontak yang sehat, email yang dirancang dengan indah, alur kerja otomatis yang unik, dan analisis data yang kuat. Jika Anda pengguna Mailchimp, Anda dapat terhubung AWS Glue ke akun Mailchimp Anda. Kemudian, Anda dapat menggunakan Mailchimp sebagai sumber data dalam pekerjaan ETL Anda. Jalankan pekerjaan ini untuk mentransfer data antara MailChimp dan AWS layanan atau aplikasi lain yang didukung.

**Topics**
+ [AWS Glue dukungan untuk Mailchimp](mailchimp-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](mailchimp-configuring-iam-permissions.md)
+ [Mengkonfigurasi MailChimp](mailchimp-configuring.md)
+ [Mengkonfigurasi koneksi MailChimp](mailchimp-configuring-connections.md)
+ [Membaca dari entitas MailChimp](mailchimp-reading-from-entities.md)
+ [Pilihan koneksi MailChimp](mailchimp-connection-options.md)
+ [Membuat akun MailChimp](mailchimp-create-account.md)
+ [Batasan](mailchimp-connector-limitations.md)

# AWS Glue dukungan untuk Mailchimp
<a name="mailchimp-support"></a>

AWS Glue mendukung MailChimp sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi API Mailchimp yang didukung**  
 3.0 

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="mailchimp-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 MailChimp
<a name="mailchimp-configuring"></a>

Sebelum Anda dapat menggunakan AWS Glue untuk mentransfer dari MailChimp, Anda harus memenuhi persyaratan berikut:

## Persyaratan minimum
<a name="mailchimp-configuring-min-requirements"></a>
+ Anda memiliki akun Mailchimp dengan email dan kata sandi. Untuk informasi selengkapnya tentang membuat akun, lihat [Membuat akun MailChimp](mailchimp-create-account.md). 
+  Anda harus memiliki AWS Akun yang dibuat dengan akses layanan ke AWS Glue. 
+ Pastikan Anda telah membuat salah satu sumber daya berikut. Sumber daya ini menyediakan kredensional yang AWS Glue digunakan untuk mengakses data Anda dengan aman saat melakukan panggilan yang diautentikasi ke akun Anda:
  + Aplikasi Pengembang yang mendukung otentikasi OAuth 2.0. Untuk informasi selengkapnya tentang membuat Aplikasi Pengembang, lihat [Membuat akun MailChimp](mailchimp-create-account.md). 

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

# Mengkonfigurasi koneksi MailChimp
<a name="mailchimp-configuring-connections"></a>

 MailChimp mendukung berikut dua jenis untuk mekanisme otentikasi: 
+ MailChimp mendukung jenis `AUTHORIZATION_CODE` hibah.
  + 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 di mana mereka tidak perlu memberikan informasi `OAuth` terkait apa pun kecuali ID Klien Mailchimp dan Rahasia Klien mereka. AWS Glue Konsol akan mengarahkan pengguna ke Mailchimp di mana pengguna harus login dan mengizinkan izin yang diminta untuk mengakses AWS Glue instance Mailchimp mereka.
  + Pengguna masih dapat memilih untuk membuat aplikasi mereka sendiri yang terhubung di Mailchimp dan memberikan ID Klien dan Rahasia Klien mereka sendiri saat membuat koneksi melalui AWS Glue Konsol. Dalam skenario ini, mereka masih akan diarahkan ke Mailchimp untuk login dan otorisasi AWS Glue untuk mengakses sumber daya mereka.
  + Untuk dokumentasi Mailchimp publik tentang membuat aplikasi yang terhubung untuk `AUTHORIZATION_CODE OAuth` alur, lihat [Mengakses Data atas Nama Pengguna Lain dengan OAuth 2](https://mailchimp.com/developer/marketing/guides/access-user-data-oauth-2/?msockid=141ebf9ffb4d619525c3ad27fad660d6). 
+ **Auth Kustom** [- Untuk dokumentasi Mailchimp publik tentang membuat kunci API yang diperlukan untuk otorisasi kustom, lihat Tentang Kunci API.](https://mailchimp.com/en/help/about-api-keys/?msockid=310fd0fe09d16afe034fc5de08d76b01) 



Untuk mengkonfigurasi koneksi MailChimp:

1. Di AWS Secrets Manager, buat rahasia dengan detail berikut: 
   + `OAuth`auth — Untuk aplikasi terhubung yang dikelola pelanggan: Rahasia harus berisi aplikasi yang terhubung Rahasia Konsumen dengan `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` sebagai kunci. 
   + Autentikasi khusus - Untuk aplikasi terhubung yang dikelola pelanggan: Rahasia harus berisi Rahasia Konsumen aplikasi yang terhubung dengan “api\$1key” sebagai kunci. 
**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. Di bawah **Koneksi**, pilih **Buat koneksi**. 

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

   1. Berikan Mailchimp`instanceUrl`.

   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 Jenis Otentikasi untuk terhubung ke MailChimp:
      + Untuk `OAuth` autentikasi - Berikan URL Token, Aplikasi Klien Terkelola Pengguna ClientId dari MailChimp yang ingin Anda sambungkan.
      + Untuk autentikasi Kustom - Pilih Jenis Otentikasi CUSTOM untuk terhubung ke Mailchimp.

   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 MailChimp
<a name="mailchimp-reading-from-entities"></a>

 **Prasyarat** 

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

 **Entitas yang didukung** 
+ [Laporan penyalahgunaan](https://mailchimp.com/developer/marketing/api/campaign-abuse/)
+ [Otomatisasi](https://mailchimp.com/developer/marketing/api/automation/list-automations/)
+ [Kampanye](https://mailchimp.com/developer/marketing/api/campaigns/list-campaigns/)
+ [Detail klik-](https://mailchimp.com/developer/marketing/api/link-clickers/)
+ [Daftar](https://mailchimp.com/developer/marketing/api/link-clickers/)
+ [Anggota](https://mailchimp.com/developer/marketing/api/list-segment-members/)
+ [Detail terbuka](https://mailchimp.com/developer/marketing/api/list-members/)
+ [Segmen](https://mailchimp.com/developer/marketing/api/list-segments/)
+ [Toko](https://mailchimp.com/developer/marketing/api/ecommerce-stores/list-stores/)
+ [Berhenti berlangganan](https://mailchimp.com/developer/marketing/api/unsub-reports/)


| Entitas | Dapat disaring | Mendukung Batas | Mendukung Order By | Mendukung Pilih \$1 | Mendukung Partisi | 
| --- | --- | --- | --- | --- | --- | 
| Otomatisasi | Ya | Ya | Ya | Ya | Ya | 
| Kampanye | Tidak | Tidak | Tidak | Tidak | Tidak | 
| Daftar | Ya | Ya | Tidak | Ya | Ya | 
| Laporan Penyalahgunaan | Tidak | Ya | Tidak | Ya | Ya | 
| Laporan Terbuka | Tidak | Ya | Tidak | Ya | Ya | 
| Laporan Klik | Ya | Ya | Tidak | Ya | Ya | 
| Laporan Berhenti Berlangganan | Tidak | Ya | Tidak | Ya | Ya | 
| Segment | Tidak | Ya | Tidak | Ya | Ya | 
| Anggota Segmen | Ya | Ya | Tidak | Ya | Tidak | 
| Toko | Ya | Ya | Ya | Ya | Tidak | 

 **Contoh** 

```
mailchimp_read = glueContext.create_dynamic_frame.from_options(                    
            connection_type="mailchimp",                                           
            connection_options={                                                        
                  "connectionName": "connectionName",                                   
                  "ENTITY_NAME": "stores",  
"INSTANCE_URL": "https://us14.api.mailchimp.com",                     
                  "API_VERSION": "3.0"                                                
               })
```

 **Entitas MailChimp dan rincian bidang** 
+ [Laporan penyalahgunaan](https://mailchimp.com/developer/marketing/api/campaign-abuse/)
+ [Otomatisasi](https://mailchimp.com/developer/marketing/api/automation/list-automations/)
+ [Kampanye](https://mailchimp.com/developer/marketing/api/campaigns/list-campaigns/)
+ [Detail klik-](https://mailchimp.com/developer/marketing/api/link-clickers/)
+ [Daftar](https://mailchimp.com/developer/marketing/api/link-clickers/)
+ [Anggota](https://mailchimp.com/developer/marketing/api/list-segment-members/)
+ [Detail terbuka](https://mailchimp.com/developer/marketing/api/list-members/)
+ [Segmen](https://mailchimp.com/developer/marketing/api/list-segments/)
+ [Toko](https://mailchimp.com/developer/marketing/api/ecommerce-stores/list-stores/)
+ [Berhenti berlangganan](https://mailchimp.com/developer/marketing/api/unsub-reports/)

## Mempartisi kueri
<a name="mailchimp-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:

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

Contoh:

```
read_read = glueContext.create_dynamic_frame.from_options(
    connection_type="mailchimp",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "automations",
        "API_VERSION": "3.0",
        "INSTANCE_URL": "https://us14.api.mailchimp.com",
        "PARTITION_FIELD": "create_time",
        "LOWER_BOUND": "2024-02-05T14:09:30.115Z",
        "UPPER_BOUND": "2024-06-07T13:30:00.134Z",
        "NUM_PARTITIONS": "3"
    }
```

# Pilihan koneksi MailChimp
<a name="mailchimp-connection-options"></a>

Berikut ini adalah opsi koneksi untuk MailChimp:
+  `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Nama Objek Anda di MailChimp. 
+ `INSTANCE_URL`(String) - (Diperlukan) URL Instance MailChimp yang valid.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. MailChimp 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.

# Membuat akun MailChimp
<a name="mailchimp-create-account"></a>

1. Arahkan ke [halaman login Mailchimp](https://login.mailchimp.com/?locale=en), masukkan ID email dan kata sandi Anda, lalu pilih **Daftar**.

1. Buka email konfirmasi dari MailChimp, dan pilih tautan konfirmasi untuk memverifikasi akun Anda.
**catatan**  
Waktu yang diperlukan untuk menerima email aktivasi dapat bervariasi. Jika Anda belum menerima email aktivasi, periksa folder spam Anda, dan baca kiat pemecahan masalah email aktivasi kami. [mailto:admin@pottedplanter.com](mailto:admin@pottedplanter.com)  


   Pertama kali Anda masuk ke akun Anda, Mailchimp meminta informasi yang diperlukan. MailChimp menggunakan informasi ini untuk membantu memastikan akun Anda sesuai dengan Ketentuan Penggunaan mereka dan untuk memberikan panduan yang relevan dengan Anda dan kebutuhan perusahaan Anda.

1. Masukkan informasi Anda, ikuti petunjuk untuk menyelesaikan proses aktivasi, dan mulai di akun Mailchimp baru Anda.

**Mendaftarkan `OAuth2.0` aplikasi**

1. Arahkan ke [halaman login Mailchimp](https://login.mailchimp.com/?locale=en), masukkan ID email dan kata sandi Anda, dan pilih **Masuk**. 

1. Pilih ikon **Pengguna** di sudut kanan atas, lalu pilih **Akun dan penagihan** dari menu tarik-turun.

1. Pilih **Ekstra** dan pilih **Aplikasi terdaftar** dari menu tarik-turun.

1. Cari dan pilih **Daftarkan Aplikasi**.

1. Masukkan detail berikut:
   + **Nama aplikasi** — Nama aplikasi. 
   + **Perusahaan/Organisasi** — Nama Perusahaan atau Organisasi Anda.
   + **Situs web aplikasi** — Situs web aplikasi.
   + **Redirect URI** — Pola URI Redirect adalah jalur URI (atau daftar jalur yang dipisahkan koma) yang dapat dialihkan oleh Mailchimp (jika diminta) saat alur login selesai. Sebagai contoh, `https://ap-southeast-2\\.console\\.aws\\.amazon\\.com`.

1. Pilih **Buat**. 

1. **Client ID** dan **Client Secret** sekarang akan terlihat. Salin dan simpan di lokasi yang aman. Kemudian, pilih **Selesai**. 
**catatan**  
ID Klien dan string Rahasia Klien Anda adalah kredensil yang digunakan untuk membuat koneksi dengan konektor ini saat menggunakan atau. AppFlow AWS Glue

**Menghasilkan kunci API**

1. Arahkan ke [halaman login Mailchimp](https://login.mailchimp.com/?locale=en), masukkan ID email dan kata sandi Anda, dan pilih **Masuk**. 

1. Pilih ikon **Pengguna** di sudut kanan atas, lalu pilih **Akun dan penagihan** dari menu tarik-turun.

1. Pilih **Ekstra** dan pilih **kunci API** dari menu tarik-turun.

1. Pilih **Buat Kunci**.

1. Masukkan nama untuk kunci dan pilih **Generate Key**.

   Halaman berikutnya menampilkan kunci API yang dihasilkan. 

1. Salin kunci Anda, simpan dengan aman, dan pilih **Selesai**.

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

Berikut ini adalah batasan untuk konektor Mailchimp:
+ Filtrasi hanya didukung oleh`Campaigns`,`Automations`,`Lists`,`Open Details`,`Members`, dan `Segments` entitas.
+ Saat menggunakan filter pada bidang `DateTime` tipe data, Anda harus meneruskan nilai dalam format ini: `yyyy-mm-ddThh:MM:ssZ`

# Menghubungkan ke Microsoft Dynamics 365 CRM
<a name="connecting-to-microsoft-dynamics-365"></a>

 Microsoft Dynamics 365 adalah lini produk perencanaan sumber daya perusahaan dan manajemen hubungan pelanggan aplikasi bisnis cerdas. 

**Topics**
+ [AWS Glue dukungan untuk Microsoft Dynamics 365](microsoft-dynamics-365-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](microsoft-dynamics-365-configuring-iam-permissions.md)
+ [Mengkonfigurasi Microsoft Dynamics 365 CRM](microsoft-dynamics-365-configuring.md)
+ [Mengkonfigurasi koneksi Microsoft Dynamics 365 CRM](microsoft-dynamics-365-configuring-connections.md)
+ [Membaca dari entitas Microsoft Dynamics 365 CRM](microsoft-dynamics-365-reading-from-entities.md)
+ [Referensi opsi koneksi Microsoft Dynamics 365 CRM](microsoft-dynamics-365-connection-options.md)
+ [Batasan](microsoft-dynamics-365-connector-limitations.md)

# AWS Glue dukungan untuk Microsoft Dynamics 365
<a name="microsoft-dynamics-365-support"></a>

AWS Glue mendukung Microsoft Dynamics 365 sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi Microsoft Dynamics 365 CRM API yang didukung**  
 v9.2. 

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="microsoft-dynamics-365-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": "*"
    }
  ]
}
```

------

Anda juga dapat menggunakan kebijakan IAM terkelola berikut untuk mengizinkan akses:
+  [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 Microsoft Dynamics 365 CRM
<a name="microsoft-dynamics-365-configuring"></a>

Sebelum Anda dapat menggunakan AWS Glue untuk mentransfer data dari Microsoft Dynamics 365 CRM, Anda harus memenuhi persyaratan ini:

## Persyaratan minimum
<a name="microsoft-dynamics-365-configuring-min-requirements"></a>
+  Anda memiliki akun pengembang Microsoft Dynamics 365 CRM dengan ClientId dan Rahasia. 
+  Akun Microsoft Dynamics 365 CRM Anda memiliki akses API dengan lisensi yang valid. 

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

# Mengkonfigurasi koneksi Microsoft Dynamics 365 CRM
<a name="microsoft-dynamics-365-configuring-connections"></a>

 **Jenis Hibah AUTHORIZATION\$1CODE** 
+  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. AWS Glue Konsol akan mengarahkan pengguna ke Microsoft Dynamics 365 CRM di mana pengguna harus masuk dan mengizinkan izin yang diminta untuk AWS Glue mengakses instance Microsoft Dynamics 365 CRM mereka. 
+  Pengguna dapat memilih untuk membuat aplikasi mereka sendiri yang terhubung di Microsoft Dynamics 365 CRM dan memberikan id klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue Konsol. Dalam skenario ini, mereka masih akan diarahkan ke Microsoft Dynamics 365 CRM untuk masuk dan mengotorisasi AWS Glue untuk mengakses sumber daya mereka. 
+  Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses berumur pendek, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran. 
+  Untuk dokumentasi Microsoft Dynamics 365 CRM publik tentang cara membuat aplikasi yang terhubung untuk OAuth alur Kode Otorisasi, lihat \$1 Microsoft Learn. [Pendaftaran Aplikasi Microsoft](https://learn.microsoft.com/en-us/power-apps/developer/data-platform/authenticate-oauth#app-registration). 

Microsoft Dynamics 365 CRM mendukung OAuth2 otentikasi 0.

Untuk mengonfigurasi koneksi Microsoft Dynamics 365 CRM:

1.  Di AWS Secrets Manager, buat rahasia dengan detail berikut. Diperlukan untuk membuat rahasia untuk setiap koneksi di AWS Glue. 
   +  Untuk jenis AuthorizationCode hibah: 

      Untuk aplikasi terhubung yang dikelola pelanggan - Rahasia harus berisi Rahasia Klien aplikasi yang terhubung dengan `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` sebagai kunci. 

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

   1. Saat memilih **Sumber Data**, pilih Microsoft Dynamics 365 CRM.

   1. Pilih **INSTANCE\$1URL dari** Microsoft Dynamics 365 CRM instance 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 **URL Token dan URL** **Kode Otorisasi** untuk mengakses ruang kerja Microsoft Dynamics 365 CRM Anda. 

   1.  Menyediakan **Aplikasi Klien Terkelola Pengguna ClientId dari aplikasi** Microsoft Dynamics 365 CRM Anda. 

   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`. Pilih **Berikutnya**. 

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

# Membaca dari entitas Microsoft Dynamics 365 CRM
<a name="microsoft-dynamics-365-reading-from-entities"></a>

 **Prasyarat** 
+  Objek Microsoft Dynamics 365 CRM yang ingin Anda baca. Anda akan memerlukan nama objek seperti kontak atau akun. Tabel berikut menunjukkan entitas yang didukung. 

 **Entitas yang didukung** 


| Entitas | Dapat disaring | Mendukung Batas | Mendukung Order By | Mendukung Pilih \$1 | Mendukung Partisi | 
| --- | --- | --- | --- | --- | --- | 
| Entitas dinamis | Ya | Ya | Ya | Ya | Ya | 

 **Contoh** 

```
dynamics365_read = glueContext.create_dynamic_frame.from_options(
    connection_type="microsoftdynamics365crm",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "dynamic_entity",
        "API_VERSION": "v9.2",
        "INSTANCE_URL": "https://{tenantID}.api.crm.dynamics.com"
    }
```

## Microsoft Dynamics 365 CRM Entitas dan Detail Bidang
<a name="microsoft-dynamics-365-entity-and-field-details"></a>

 **Entitas dengan metadata dinamis:** 

Microsoft Dynamics 365 CRM menyediakan titik akhir untuk mengambil metadata secara dinamis. Oleh karena itu, untuk entitas dinamis, dukungan operator ditangkap pada tingkat tipe data.

<a name="microsoft-dynamics-365-metadata-table"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/microsoft-dynamics-365-reading-from-entities.html)

 **Mempartisi kueri** 

Microsoft Dynamics 365 CRM hanya mendukung partisi berbasis bidang.

 Opsi percikan tambahan`PARTITION_FIELD`,, `LOWER_BOUND``UPPER_BOUND`, `NUM_PARTITIONS` dapat diberikan 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 percikan 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, kami menerima format stempel waktu Spark yang digunakan dalam kueri Spark SQL. Contoh nilai yang valid:`"2024-01-30T06:47:51.000Z"`. 
+  `UPPER_BOUND`: nilai batas atas eksklusif dari bidang partisi yang dipilih. 
+  `NUM_PARTITIONS`: jumlah partisi. 

 Detail dukungan bidang partisi yang bijaksana dari entitas ditangkap dalam tabel di bawah ini: 


| Nama Entitas | Bidang Partisi | DataType | 
| --- | --- | --- | 
| Entitas Dinamis (Entitas standar) |  DateTime Bidang dinamis yang dapat dikueri | createdon, modifiedon | 
| Entitas Dinamis (Entitas khusus) | createdon, modifiedon | createdon, modifiedon | 

 **Contoh** 

```
dynamics365_read = glueContext.create_dynamic_frame.from_options(
    connection_type="microsoftdynamics365crm",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "dynamic_entity",
        "API_VERSION": "v9.2",
        "instanceUrl": "https://{tenantID}.api.crm.dynamics.com"
        "PARTITION_FIELD": "createdon"
        "LOWER_BOUND": "2024-01-30T06:47:51.000Z"
        "UPPER_BOUND": "2024-06-30T06:47:51.000Z"
        "NUM_PARTITIONS": "10"
    }
```

# Referensi opsi koneksi Microsoft Dynamics 365 CRM
<a name="microsoft-dynamics-365-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Microsoft Dynamics 365 CRM:
+  `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama objek Anda di Microsoft Dynamics 365 CRM. 
+  `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Microsoft Dynamics 365 CRM Rest API versi yang ingin Anda gunakan. 
+  `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`(String) - (Diperlukan) URL Instans Microsoft Dynamics 365 CRM yang valid dengan format: `https://{tenantID}.api.crm.dynamics.com` 
+  `NUM_PARTITIONS`(Integer) - Default: 1. Digunakan untuk Baca. Jumlah partisi untuk dibaca. 
+  `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. Contoh:`2024-01-30T06:47:51.000Z`. 
+  `UPPER_BOUND`(String) - Digunakan untuk Baca. Nilai batas atas eksklusif dari bidang partisi yang dipilih. Contoh:`2024-06-30T06:47:51.000Z`. 

# Batasan
<a name="microsoft-dynamics-365-connector-limitations"></a>

Berikut ini adalah batasan untuk konektor Microsoft Dynamics 365 CRM:
+  Di Microsoft Dynamics 365 CRM, partisi berbasis rekaman tidak didukung karena tidak mendukung parameter offset, dan dengan demikian partisi berbasis rekaman tidak dapat didukung. 
+  Pagination diatur maksimal 500 record per halaman untuk menghindari pengecualian Server Internal dari SaaS karena kombinasi ukuran data dan keterbatasan tingkat. 
  + [Dokumentasi SaaS tentang pagination](https://learn.microsoft.com/en-us/power-apps/developer/data-platform/webapi/query/page-results?view=dataverse-latest)
  + [Dokumentasi SaaS tentang batas tarif](https://learn.microsoft.com/en-us/power-apps/developer/data-platform/api-limits?tabs=sdk)
+  Microsoft Dynamics 365 CRM hanya mendukung `order by` bidang induk untuk semua entitas. `order by`tidak didukung pada sub-bidang. 
  + Arah ASC dan DESC didukung.
  + `order by`pada beberapa bidang didukung.
+  Pemfilteran pada bidang “createddatetime” dari entitas `aadusers` standar menimbulkan kesalahan permintaan yang buruk dari SaaS meskipun mendukung filtrasi. Tidak ada identifikasi spesifik dari entitas lain yang memiliki masalah serupa karena sifat dinamis dari metadata dan akar penyebabnya tidak diketahui. Oleh karena itu, itu tidak dapat ditangani. 
+  Jenis objek yang kompleks, seperti Struct, List, dan Map tidak mendukung filtrasi. 
+  Banyak bidang yang dapat diambil dari respons telah `isRetrievable` ditandai sebagai `false` respons metadata dinamis. Untuk menghindari kehilangan data, `isRetrievable` diatur `true` untuk semua bidang. 
+  Partisi berbasis bidang akan didukung pada semua entitas ketika mematuhi kriteria berikut: 
  + DateTime bidang queryable harus ada di entitas standar atau `createdon` dan `modifiedon` bidang (yang dihasilkan sistem) di entitas khusus. 
  + Tidak ada identifikasi eksklusif bidang yang dihasilkan sistem atau properti nullable dari metadata SaaS apa pun APIs, namun merupakan praktik umum bahwa hanya bidang yang tersedia secara default, dapat difilter dan tidak dapat dibatalkan. Oleh karena itu, kriteria pemilihan lapangan di atas dianggap aman nol dan jika dapat disaring, itu akan memenuhi syarat untuk dipartisi.

# Menghubungkan ke Microsoft Teams
<a name="connecting-to-microsoft-teams"></a>

 Microsoft Teams adalah ruang kerja kolaboratif dalam Microsoft 365 yang bertindak sebagai pusat percakapan di tempat kerja, kerja tim kolaboratif, obrolan video, dan berbagi dokumen, semuanya dirancang untuk membantu produktivitas pekerja dalam rangkaian alat terpadu. 

**Topics**
+ [AWS Glue dukungan untuk Microsoft Teams](microsoft-teams-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](microsoft-teams-configuring-iam-permissions.md)
+ [Mengkonfigurasi Microsoft Teams](microsoft-teams-configuring.md)
+ [Mengkonfigurasi koneksi Microsoft Teams](microsoft-teams-configuring-connections.md)
+ [Membaca dari entitas Microsoft Teams](microsoft-teams-reading-from-entities.md)
+ [Referensi opsi koneksi Microsoft Teams](microsoft-teams-connection-options.md)
+ [Batasan](microsoft-teams-connector-limitations.md)
+ [Buat akun Microsoft Teams baru:](#microsoft-teams-account-creation)

# AWS Glue dukungan untuk Microsoft Teams
<a name="microsoft-teams-support"></a>

AWS Glue mendukung Microsoft Teams sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi Microsoft Teams API yang didukung**  
 v1. Untuk dukungan entitas per versi tertentu, lihat Entitas yang didukung untuk sumber. 

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="microsoft-teams-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": "*"
    }
  ]
}
```

------

Anda juga dapat menggunakan kebijakan IAM terkelola berikut untuk mengizinkan akses:
+  [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 Microsoft Teams
<a name="microsoft-teams-configuring"></a>

Sebelum dapat digunakan AWS Glue untuk mentransfer data dari Microsoft Teams, Anda harus memenuhi persyaratan berikut:

## Persyaratan minimum
<a name="microsoft-teams-configuring-min-requirements"></a>
+  Anda memiliki akun pengembang Microsoft Teams dengan Email dan Kata Sandi. Untuk informasi selengkapnya, lihat [Buat akun Microsoft Teams baru:](connecting-to-microsoft-teams.md#microsoft-teams-account-creation). 
+  Anda harus menyiapkan OAuth2 aplikasi di akun Microsoft Anda yang menyediakan ID klien dan kredenal rahasia yang AWS Glue digunakan untuk mengakses data Anda dengan aman saat melakukan panggilan terautentikasi ke akun Anda. Untuk informasi selengkapnya, lihat [Buat akun Microsoft Teams baru:](connecting-to-microsoft-teams.md#microsoft-teams-account-creation). 

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

# Mengkonfigurasi koneksi Microsoft Teams
<a name="microsoft-teams-configuring-connections"></a>

Microsoft Teams mendukung dua jenis berikut untuk mekanisme otentikasi:

1.  OAuth Auth: Microsoft Teams mendukung jenis hibah AUTHORIZATION\$1CODE untuk. OAuth2 
   +  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 bergantung pada aplikasi terhubung yang AWS Glue dimiliki di mana mereka tidak perlu memberikan informasi OAuth terkait apa pun kecuali untuk instanceurl Microsoft Teams. AWS Glue Konsol akan mengarahkan pengguna ke Microsoft Teams di mana pengguna harus masuk dan mengizinkan izin AWS Glue yang diminta untuk mengakses instance Microsoft Teams mereka. 
   +  Pengguna dapat memilih untuk membuat aplikasi tersambung mereka sendiri di Microsoft Teams dan memberikan id klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue Konsol. Dalam skenario ini, mereka masih akan diarahkan ke Microsoft Teams untuk login dan otorisasi AWS Glue untuk mengakses sumber daya mereka. 
   +  Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses aktif selama satu jam, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran. 
   +  Untuk dokumentasi Microsoft Teams publik tentang cara membuat aplikasi yang terhubung untuk OAuth alur Kode Otorisasi, lihat \$1 Microsoft Learn. [Daftarkan aplikasi dengan platform identitas Microsoft - Microsoft Graph](https://learn.microsoft.com/en-us/graph/auth-register-app-v2). 

Untuk mengonfigurasi koneksi Microsoft Teams:

1.  Di AWS Secrets Manager, buat rahasia dengan detail berikut. Diperlukan untuk membuat rahasia untuk setiap koneksi di AWS Glue. 

   1.  Untuk OAuth autentikasi: 
      +  Untuk aplikasi terhubung yang dikelola pelanggan - Rahasia harus berisi aplikasi Consumer Secret yang terhubung dengan USER\$1MANAGED\$1CLIENT\$1APPLICATION\$1CLIENT\$1SECRET sebagai kunci. 

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

   1.  Di bawah Koneksi Data, pilih **Buat koneksi**. 

   1. Saat memilih **Sumber Data**, pilih Microsoft Teams.

   1. Berikan **ID Penyewa** Microsoft Teams Anda.

   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.  Menyediakan Aplikasi Klien Terkelola Pengguna ClientId dari aplikasi Microsoft Teams. 

   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`. Pilih **Berikutnya**. 

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

# Membaca dari entitas Microsoft Teams
<a name="microsoft-teams-reading-from-entities"></a>

 **Prasyarat** 
+  Objek Microsoft Teams yang ingin Anda baca. Anda akan memerlukan nama objek seperti tim atau saluran-pesan. Tabel berikut menunjukkan entitas yang didukung. 

 **Entitas yang didukung untuk Sumber** 

 Semua entitas didukung dengan API versi 1.0. 


| Entitas | Dapat disaring | Mendukung Batas | Mendukung Order By | Mendukung Pilih\$1 | Mendukung Partisi | 
| --- | --- | --- | --- | --- | --- | 
| Tim | Tidak | Tidak | Tidak | Ya | Tidak | 
| Anggota Tim | Ya | Ya | Tidak | Ya | Ya | 
| Grup | Ya | Ya | Ya | Ya | Ya | 
| Anggota Grup | Ya | Ya | Tidak | Ya | Tidak | 
| Saluran | Ya | Tidak | Tidak | Ya | Ya | 
| Pesan Saluran | Tidak | Ya | Tidak | Ya | Tidak | 
| Balasan Pesan Saluran | Tidak | Ya | Tidak | Ya | Tidak | 
| Tab Saluran | Ya | Tidak | Tidak | Ya | Tidak | 
| Obrolan | Ya | Ya | Ya | Ya | Ya | 
| Kalender Acara | Ya | Ya | Ya | Ya | Ya | 

 **Contoh** 

```
MicrosoftTeams_read = glueContext.create_dynamic_frame.from_options(
    connection_type="MicrosoftTeams",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "company",
        "API_VERSION": "v1.0"
    }
```

## Detail Entitas dan Bidang Microsoft Teams
<a name="microsoft-teams-entity-and-field-details"></a>

 Daftar entitas: 
+  Tim: [https://docs.microsoft.com/en-us/graph/api/user-list-joinedteams? tampilan=grafik-rest-1.0](https://docs.microsoft.com/en-us/graph/api/user-list-joinedteams?view=graph-rest-1.0) 
+  [Tim-Anggota: -daftar-anggota? https://docs.microsoft.com/en-us/ graph/api/team tampilan=grafik-rest-1.0](https://docs.microsoft.com/en-us/graph/api/team-list-members?view=graph-rest-1.0) 
+  Grup: [https://docs.microsoft.com/en-us/graph/api/group-list? tampilan=grafik-rest-1.0](https://docs.microsoft.com/en-us/graph/api/group-list?view=graph-rest-1.0) 
+  [Grup-Anggota: -daftar-anggota? https://docs.microsoft.com/en-us/ graph/api/group tampilan=grafik-rest-1.0](https://docs.microsoft.com/en-us/graph/api/group-list-members?view=graph-rest-1.0) 
+  Saluran: [https://docs.microsoft.com/en-us/graph/api/channel-list? tampilan=grafik-rest-1.0](https://docs.microsoft.com/en-us/graph/api/channel-list?view=graph-rest-1.0) 
+  [Saluran-Pesan: -daftar-pesan? https://docs.microsoft.com/en-us/ graph/api/channel tampilan=grafik-rest-1.0](https://docs.microsoft.com/en-us/graph/api/channel-list-messages?view=graph-rest-1.0) 
+  [Saluran-Pesan-Balas: -daftar-balasan? https://docs.microsoft.com/en-us/ graph/api/chatmessage tampilan=grafik-rest-1.0](https://docs.microsoft.com/en-us/graph/api/chatmessage-list-replies?view=graph-rest-1.0) 
+  [Channel-Tab: -list-tabs? https://docs.microsoft.com/en-us/ graph/api/channel tampilan=grafik-rest-1.0](https://docs.microsoft.com/en-us/graph/api/channel-list-tabs?view=graph-rest-1.0) 
+  Obrolan: [https://docs.microsoft.com/en-us/graph/api/chat-list? tampilan=grafik-rest-1.0]( https://docs.microsoft.com/en-us/graph/api/chat-list?view=graph-rest-1.0) 
+  [Kalender-Acara: -daftar-acara? https://docs.microsoft.com/en-us/ graph/api/group tampilan=grafik-rest-1.0](https://docs.microsoft.com/en-us/graph/api/group-list-events?view=graph-rest-1.0) 

 **Mempartisi kueri** 

 Opsi percikan tambahan`PARTITION_FIELD`,, `LOWER_BOUND``UPPER_BOUND`, `NUM_PARTITIONS` dapat diberikan 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 percikan secara bersamaan. 
+  `PARTITION_FIELD`: nama bidang yang akan digunakan untuk mempartisi kueri. 
+  `LOWER_BOUND`: nilai batas bawah inklusif dari bidang partisi yang dipilih. 

   Untuk tanggal, kami menerima format tanggal Spark yang digunakan dalam kueri Spark SQL. Contoh nilai yang valid:`"2024-02-06"`. 
+  `UPPER_BOUND`: nilai batas atas eksklusif dari bidang partisi yang dipilih. 
+  `NUM_PARTITIONS`: jumlah partisi. 

 Detail dukungan bidang partisi yang bijaksana dari entitas ditangkap dalam tabel di bawah ini: 


| Nama Entitas | Bidang Partisi | Tipe data | 
| --- | --- | --- | 
| Anggota Tim | visibleHistoryStartDateTime | DateTime | 
| Grup | createdDateTime | DateTime | 
| Saluran | createdDateTime | DateTime | 
| Obrolan | createdDateTime, lastModifiedDate Waktu | DateTime | 
| Kalender Acara | createdDateTime, lastModifiedDate Waktu, Awal Asli | DateTime | 

 **Contoh** 

```
microsoftteams_read = glueContext.create_dynamic_frame.from_options(
    connection_type="MicrosoftTeams",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "group",
        "API_VERSION": "v1.0",
        "PARTITION_FIELD": "createdDateTime"
        "LOWER_BOUND": "2022-07-13T07:55:27.065Z"
        "UPPER_BOUND": "2022-08-12T07:55:27.065Z"
        "NUM_PARTITIONS": "2"
    }
```

# Referensi opsi koneksi Microsoft Teams
<a name="microsoft-teams-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Microsoft Teams:
+  `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama Objek Anda di Microsoft Teams. 
+  `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Microsoft Teams Rest API versi yang ingin Anda gunakan. Contoh: v1.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="microsoft-teams-connector-limitations"></a>

Berikut ini adalah batasan untuk konektor Microsoft Teams:
+  Microsoft Teams API mengembalikan jumlah catatan yang lebih sedikit daripada yang ditentukan untuk entitas Obrolan dan Anggota Tim. Masalah ini dilaporkan ke Microsoft Teams Support dan sedang diselidiki. 

## Buat akun Microsoft Teams baru:
<a name="microsoft-teams-account-creation"></a>

1.  Arahkan ke beranda Microsoft Teams, [https://account.microsoft.com/account/](https://account.microsoft.com/account/)lalu pilih **Masuk**. 

1.  Pilih **Buat satu\$1** . 

1.  Masukkan informasi yang diperlukan untuk pembuatan akun dan buat akun baru. 

1.  Arahkan ke situs web Microsoft Teams di [https://www.microsoft.com/en-in/microsoft-teams/log-in](https://www.microsoft.com/en-in/microsoft-teams/log-in). 

1.  Daftar menggunakan Akun Microsoft yang baru saja Anda buat. 

1.  Setelah berhasil mendaftar di Teams, navigasikan ke [https://account.microsft.com/services](https://account.microsft.com/services). 

1.  Pilih **Coba Microsoft 365**. 

1.  Aktifkan salah satu langganan Microsoft 365 atau Microsoft Teams di bawah ini untuk mengakses semua fitur yang diperlukan dari konektor Microsoft Teams: 
   + Microsoft Teams Essentials
   + Microsoft 365 Bisnis
   + Dasar Bisnis Microsoft 365
   + Standar Bisnis Microsoft 365
   + Microsoft 365 Bisnis Premium

**Membuat aplikasi klien terkelola:**

1.  Untuk membuat aplikasi terkelola, Anda perlu mendaftarkan OAuth aplikasi baru di Microsoft Entra (sebelumnya Azure Active Directory): 

1.  Masuk ke [pusat admin Microsoft Entra](https://entra.microsoft.com). 

1.  Jika Anda memiliki akses ke beberapa penyewa, gunakan ikon Pengaturan di menu atas untuk beralih ke penyewa tempat Anda ingin mendaftarkan aplikasi dari menu langganan Direktori \$1. 

1.  Arahkan ke Identitas > Aplikasi > Pendaftaran aplikasi dan pilih **Pendaftaran baru**. 

1. Masukkan nama tampilan untuk aplikasi Anda.

1.  Tentukan siapa yang dapat menggunakan aplikasi di bagian Jenis akun yang didukung. Untuk membuat aplikasi ini global pilih “Akun di direktori organisasi apa pun” atau “Akun di direktori organisasi apa pun dan akun Microsoft pribadi”. 

1.  Masukkan URI `https://{region}.console.aws.amazon.com/appflow/oauth` Redirect. Misalnya, untuk`us-west-2 region`, tambahkan`https://us-west-2.console.aws.amazon.com/appflow/oauth`. Anda dapat menambahkan beberapa URLs untuk berbagai wilayah yang ingin Anda gunakan.

1.  Daftarkan aplikasinya. 

1.  Catat ID Klien untuk penggunaan di masa mendatang. 

1.  Pilih **Tambahkan sertifikat atau rahasia** di bagian Essentials. 

1.  Pilih **Rahasia Klien Baru**. 

1.  Masukkan Deskripsi dan Durasi kedaluwarsa. 

1.  Salin dan simpan rahasia klien untuk digunakan di masa mendatang. 

1.  Di daftar menu sebelah kiri, pilih **izin API**. 

1.  Pilih **Tambahkan izin**. 

1.  Pilih “Microsoft Graph”. 

1.  Pilih “Izin yang didelegasikan”. 

1.  Periksa semua izin berikut: 
   + Pengguna.Baca
   + Offline\$1Access
   + User.Read.All
   + Pengguna. ReadWrite.Semua
   + TeamsTab.ReadWriteForTeam
   + TeamsTab.ReadWriteForChat
   + TeamsTab. ReadWrite.Semua
   + TeamsTab.Baca.Semua
   + TeamSettings. ReadWrite.Semua
   + TeamSettings.Baca.Semua
   + TeamMember. ReadWrite.Semua
   + TeamMember.Baca.Semua
   + Tim. ReadBasic.Semua
   + GroupMember. ReadWrite.Semua
   + GroupMember.Baca.Semua
   + Kelompok. ReadWrite.Semua
   + Group.Read.All
   + Direktori. ReadWrite.Semua
   + Direktori.Baca.Semua
   + Direktori. AccessAsUser.Semua
   + Obrolan. ReadWrite
   + Obrolan. ReadBasic
   + Obrolan.Baca
   + ChannelSettings. ReadWrite.Semua
   + ChannelSettings.Baca.Semua
   + ChannelMessage.Baca.Semua
   + Saluran. ReadBasic.Semua

1.  Pilih **Tambahkan izin**. Aplikasi Anda sekarang berhasil disetel. Anda dapat menggunakan ID klien dan rahasia klien untuk membuat koneksi baru. Untuk informasi lebih lanjut, lihat [https://learn.microsoft.com/en-us/grafik/ auth-register-app-v 2](https://learn.microsoft.com/en-us/graph/auth-register-app-v2). 

# Menghubungkan ke Mixpanel
<a name="connecting-to-mixpanel"></a>

Mixpanel adalah platform analitik real-time yang kuat yang membantu perusahaan mengukur dan mengoptimalkan keterlibatan pengguna. Mixpanel adalah aplikasi yang digunakan untuk melacak perilaku pelanggan. Ini memungkinkan Anda untuk melacak bagaimana pengguna terlibat dengan produk Anda dan menganalisis data ini dengan laporan interaktif yang memungkinkan Anda menanyakan dan memvisualisasikan hasilnya hanya dengan beberapa klik. Sebagai pengguna Mixpanel, Anda dapat terhubung AWS Glue ke akun Mixpanel Anda. Kemudian, Anda dapat menggunakan Mixpanel sebagai sumber data dalam pekerjaan ETL Anda. Jalankan pekerjaan ini untuk mentransfer data antara Mixpanel dan AWS layanan atau aplikasi lain yang didukung.

**Topics**
+ [AWS Glue dukungan untuk Mixpanel](Mixpanel-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](mixpanel-configuring-iam-permissions.md)
+ [Mengkonfigurasi Mixpanel](mixpanel-configuring.md)
+ [Mengkonfigurasi koneksi Mixpanel](mixpanel-configuring-connections.md)
+ [Membaca dari entitas Mixpanel](mixpanel-reading-from-entities.md)
+ [Opsi koneksi Mixpanel](mixpanel-connection-options.md)
+ [Membuat akun Mixpanel dan mengonfigurasi aplikasi klien](mixpanel-create-account.md)
+ [Batasan](mixpanel-connector-limitations.md)

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

AWS Glue mendukung Mixpanel sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi API Mixpanel yang didukung**  
 2.0 

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="mixpanel-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 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 Mixpanel
<a name="mixpanel-configuring"></a>

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

## Persyaratan minimum
<a name="mixpanel-configuring-min-requirements"></a>
+  Anda memiliki akun Mixpanel. Untuk informasi selengkapnya tentang membuat akun, lihat [Membuat akun Mixpanel](mixpanel-create-account.md). 
+  Akun Mixpanel Anda diaktifkan untuk akses API. Akses API diaktifkan secara default untuk edisi Enterprise, Unlimited, Developer, dan Performance. 

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

# Mengkonfigurasi koneksi Mixpanel
<a name="mixpanel-configuring-connections"></a>

Mixpanel mendukung nama pengguna dan kata sandi untuk`BasicAuth`. Basic Authentication adalah metode otentikasi sederhana di mana klien memberikan kredensi langsung untuk mengakses sumber daya yang dilindungi. AWS Glue dapat menggunakan nama pengguna dan kata sandi untuk mengautentikasi APIs Mixpanel. 

Untuk dokumentasi Mixpanel publik tentang `BasicAuth` alur, lihat Akun [Layanan Mixpanel](https://developer.mixpanel.com/reference/service-accounts). 

Untuk mengkonfigurasi koneksi Mixpanel:

1. Di AWS Secrets Manager, buat rahasia dengan detail berikut: 
   +  Untuk Otentikasi Dasar, Rahasia harus berisi Rahasia Konsumen aplikasi yang terhubung dengan `USERNAME` dan `PASSWORD` sebagai kunci. 
**catatan**  
Ini adalah suatu keharusan untuk membuat rahasia per koneksi di AWS Glue.

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

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

   1. Berikan Mixpanel yang ingin Anda sambungkan. `INSTANCE_URL`

   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`. 

# Membaca dari entitas Mixpanel
<a name="mixpanel-reading-from-entities"></a>

 **Prasyarat** 

Anda harus memiliki objek Mixpanel, seperti`Funnels`,`Retention`, atau`Retention Funnels`, dari mana Anda ingin membaca data. Selain itu, Anda perlu mengetahui nama objek.

 **Entitas yang didukung** 


| Entitas | Dapat disaring | Mendukung Batas | Mendukung Order By | Mendukung Pilih \$1 | Mendukung Partisi | 
| --- | --- | --- | --- | --- | --- | 
| Corong | Ya | Tidak | Tidak | Ya | Tidak | 
| Penyimpanan | Ya | Tidak | Tidak | Ya | Tidak | 
| Segmentasi | Ya | Tidak | Tidak | Ya | Tidak | 
| Jumlah Segmentasi | Ya | Tidak | Tidak | Ya | Tidak | 
| Rata-rata Segmentasi | Ya | Tidak | Tidak | Ya | Tidak | 
| Kohort | Ya | Tidak | Tidak | Ya | Tidak | 
| Terlibat | Tidak | Ya | Tidak | Ya | Tidak | 
| Peristiwa | Ya | Tidak | Tidak | Ya | Tidak | 
| Acara Top | Ya | Tidak | Tidak | Ya | Tidak | 
| Nama Acara | Ya | Tidak | Tidak | Ya | Tidak | 
| Properti Acara | Ya | Tidak | Tidak | Ya | Tidak | 
| Acara Properti Top | Ya | Tidak | Tidak | Ya | Tidak | 
| Nilai Properti Acara | Ya | Tidak | Tidak | Ya | Tidak | 
| Anotasi | Ya | Tidak | Tidak | Ya | Tidak | 
| Profil Kegiatan Acara | Ya | Tidak | Tidak | Ya | Tidak | 

 **Contoh** 

```
mixpanel_read = glueContext.create_dynamic_frame.from_options(
    connection_type="mixpanel",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "/cohorts/list?project_id=2603353",
        "API_VERSION": "2.0",
        "INSTANCE_URL": "https://www.mixpanel.com/api/app/me"
    }
```

 **Entitas Mixpanel dan detail bidang** 

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

# Opsi koneksi Mixpanel
<a name="mixpanel-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Mixpanel:
+  `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Nama Object Anda di Mixpanel. 
+  `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Versi Mixpanel Rest API yang ingin Anda gunakan. Misalnya: v2.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. 

# Membuat akun Mixpanel dan mengonfigurasi aplikasi klien
<a name="mixpanel-create-account"></a>

**Membuat akun Mixpanel**

1. Arahkan ke [halaman beranda Mixpanel/](https://mixpanel.com/). 

1. Pada halaman beranda **Mixpanel**, pilih **Daftar** di sudut kanan atas halaman. 

1. Pada halaman **Mari kita mulai**, selesaikan tindakan berikut: 
   + Masukkan alamat email Anda di bidang yang ditunjuk.
   + Pilih kotak centang yang diperlukan untuk menyetujui persyaratan.
   + Pilih **Memulai** untuk melanjutkan.

     Setelah berhasil diselesaikan, Anda akan menerima email verifikasi. 

1. Periksa kotak masuk email Anda untuk pesan verifikasi, buka email, dan ikuti petunjuk untuk memverifikasi alamat email Anda. 

1. Pada halaman verifikasi, pilih **Verifikasi Email** untuk menyelesaikan verifikasi email Anda. 

1. Pada halaman **Nama Organisasi Anda**, masukkan nama organisasi Anda dan pilih **Berikutnya**. 

1. Pada halaman **Proyek Pertama Anda**, masukkan detail proyek Anda dan pilih **Buat**.

1. Pada halaman berikutnya, pilih **Ayo Mulai** untuk menyelesaikan pembuatan akun Anda. 

**Masuk ke akun Mixpanel**

1. Arahkan ke [halaman login Mixpanel/](https://mixpanel.com/login/). 

1. Masukkan alamat email Anda dan pilih **Lanjutkan**. 

1. Periksa kotak masuk email Anda untuk pesan verifikasi, buka email, dan ikuti petunjuk untuk memverifikasi alamat email Anda. 

1. Pada halaman berikutnya, pilih **tombol Masuk** untuk masuk ke akun Anda. 

**Membeli paket Mixpanel**

1. Pada halaman Mixpanel, pilih ikon **Pengaturan** yang terletak di sudut kanan atas halaman.

1. Dari daftar opsi, pilih **Rincian Paket dan Penagihan**. 

1. Pada halaman **Rincian Paket dan Penagihan**, pilih **Tingkatkan atau Ubah**.

1. Di halaman berikutnya, pilih paket yang ingin Anda beli.

   Ini melengkapi pembuatan akun dan merencanakan proses pembelian.

**Membuat nama pengguna dan rahasia klien (Untuk mendaftarkan aplikasi Anda)**

1. Pada halaman Mixpanel, pilih ikon **Pengaturan** yang terletak di sudut kanan atas halaman. 

1. Dari daftar opsi, pilih **Pengaturan Proyek**. 

1. Pada halaman **Pengaturan Proyek**, pilih **Akun Layanan** dan kemudian pilih **Tambahkan Akun Layanan**.

1. **Dari daftar tarik-turun **Akun Layanan**, pilih **layanan Akun atau masukkan nama yang akan dibuat**, tambahkan **Peran Proyek**, tentukan **kedaluwarsa**, dan pilih Tambah.** 
**penting**  
Setelah menyelesaikan langkah sebelumnya, halaman berikut menampilkan kunci rahasia akun layanan. Pastikan untuk menyimpan kunci rahasia akun layanan. Anda tidak akan dapat mengaksesnya lagi setelah titik ini.

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

Berikut ini adalah batasan untuk konektor Mixpanel:
+ Untuk `Segmentation Numeric` entitas, API Mixpanel menampilkan `400 (Bad Request)` kesalahan jika tidak ada data numerik yang ditemukan untuk filter wajib. Kami memperlakukan ini sebagai `OK` respons untuk mencegah kegagalan aliran.
+ Bidang queryable `limit` telah dihapus dari entitas yang didukung karena:
  + Itu menyebabkan kesalahan karena ditafsirkan sebagai fitur batas SDK
  + Filter tidak memiliki tujuan praktis
  + Fungsionalitas yang setara sekarang dicakup oleh implementasi fitur batas
+ Partisi berbasis lapangan tidak dapat didukung karena tidak adanya operator yang diperlukan (`>=`,,, `<=` `<``>`,`between`) untuk partisi dari platform SaaS. Meskipun mendukung `between` operator, bidang yang didukungnya operator ini tidak dapat diambil kembali. Oleh karena itu, kriteria untuk partisi berbasis lapangan tidak terpenuhi.
+  Karena tidak ada ketentuan untuk mendapatkan nilai 'offset' untuk entitas yang mendukung pagination, tidak mungkin untuk mendukung partisi berbasis rekaman untuk Mixpanel.
+ `Cohorts`entitas hanya mendukung `CreatedDate/Time` bidang dan tidak ada bidang untuk diidentifikasi `UpdatedDate/Time` sebagai hasilnya `DML_Status` tidak dapat diidentifikasi. Juga, tidak ada titik akhir untuk mengidentifikasi catatan yang dihapus. Oleh karena itu, CDC tidak dapat didukung.
+  Untuk menjalankan AWS Glue pekerjaan untuk entitas yang disebutkan di bawah ini, filter wajib diperlukan. Lihat tabel di bawah ini untuk nama entitas dan filter yang diperlukan.  
**Nama entitas dan filter yang diperlukan**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/mixpanel-connector-limitations.html)

# Menghubungkan ke Senin
<a name="connecting-to-monday"></a>

 Monday.com adalah sistem operasi kerja serbaguna yang merampingkan manajemen proyek dan kolaborasi tim. Ini fitur alur kerja yang dapat disesuaikan, dasbor visual, dan alat otomatisasi untuk meningkatkan produktivitas. Pengguna dapat melacak tugas, mengelola sumber daya, dan berkomunikasi secara efektif dalam satu platform terintegrasi. 

**Topics**
+ [AWS Glue dukungan untuk hari Senin](monday-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](monday-configuring-iam-permissions.md)
+ [Mengkonfigurasi Senin](monday-configuring.md)
+ [Mengkonfigurasi koneksi Senin](monday-configuring-connections.md)
+ [Membaca dari entitas Senin](monday-reading-from-entities.md)
+ [Referensi opsi koneksi Senin](monday-connection-options.md)
+ [Batasan](monday-connector-limitations.md)
+ [Buat akun Senin baru:](#monday-account-creation)

# AWS Glue dukungan untuk hari Senin
<a name="monday-support"></a>

AWS Glue mendukung hari Senin sebagai berikut:

**Didukung sebagai sumber?**  
Ya. Anda dapat menggunakan pekerjaan AWS Glue ETL untuk menanyakan data mulai hari Senin.

**Didukung sebagai target?**  
Tidak.

**Versi API Senin yang didukung**  
 v2. 

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="monday-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": "*"
    }
  ]
}
```

------

Anda juga dapat menggunakan kebijakan IAM terkelola berikut untuk mengizinkan akses:
+  [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 Senin
<a name="monday-configuring"></a>

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

## Persyaratan minimum
<a name="monday-configuring-min-requirements"></a>
+  Anda memiliki akun pengembang Senin dengan Email dan Kata Sandi. Untuk informasi selengkapnya, lihat [Buat akun Senin baru:](connecting-to-monday.md#monday-account-creation). 
+  Akun pengembang Senin Anda diaktifkan untuk akses API. Semua penggunaan hari Senin APIs tersedia tanpa biaya tambahan dalam masa percobaan. Setelah masa percobaan selesai, Anda perlu membeli langganan untuk membuat dan mengakses data. Untuk informasi lebih lanjut, lihat [halaman lisensi hari Senin](https://developer.monday.com/api-reference/reference/about-the-api-reference) untuk detail selengkapnya. 

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

# Mengkonfigurasi koneksi Senin
<a name="monday-configuring-connections"></a>

Senin mendukung dua jenis berikut untuk mekanisme otentikasi:

1.  OAuth Auth: Senin mendukung jenis hibah AUTHORIZATION\$1CODE untuk. OAuth2 
   +  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 di mana mereka tidak perlu memberikan informasi OAuth terkait apa pun kecuali untuk instanceurl Senin. AWS Glue Konsol akan mengarahkan pengguna ke hari Senin di mana pengguna harus masuk dan mengizinkan izin AWS Glue yang diminta untuk mengakses instance Senin mereka. 
   +  Pengguna harus memilih untuk membuat aplikasi terhubung mereka sendiri pada hari Senin dan memberikan id klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue Konsol. Dalam skenario ini, mereka masih akan diarahkan ke hari Senin untuk masuk dan memberi wewenang AWS Glue untuk mengakses sumber daya mereka. 
   +  Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses aktif selama satu jam, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran. 
   +  Untuk informasi selengkapnya, lihat [dokumentasi tentang membuat aplikasi yang terhubung untuk alur AUTHORIZATION\$1CODE OAuth ](https://developers.Monday.com/docs/api/v1/Oauth). 

1.  Auth Kustom: 
   +  Untuk dokumentasi hari Senin publik tentang pembuatan kunci API yang diperlukan untuk otorisasi kustom, lihat [https://developer.monday.com/api-reference/api-token-permissionsdocs/authentication\$1](https://developer.monday.com/api-reference/docs/authentication#api-token-permissions). 

Untuk mengonfigurasi koneksi Senin:

1.  Di AWS Secrets Manager, buat rahasia dengan detail berikut. Diperlukan untuk membuat rahasia untuk setiap koneksi di AWS Glue. 

   1.  Untuk OAuth autentikasi: 
      +  Untuk aplikasi terhubung yang dikelola pelanggan - Rahasia harus berisi aplikasi Consumer Secret yang terhubung dengan USER\$1MANAGED\$1CLIENT\$1APPLICATION\$1CLIENT\$1SECRET sebagai kunci. 

   1.  Untuk autentikasi khusus: 
      +  Untuk aplikasi terhubung yang dikelola pelanggan - Rahasia harus berisi aplikasi yang terhubung Rahasia Konsumen dengan kunci `personalAccessToken` sebagai. 

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

   1.  Di bawah Koneksi Data, pilih **Buat koneksi**. 

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

   1. Berikan **InstanceURL** Senin Anda.

   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 Jenis Otentikasi untuk terhubung ke Senin 
      +  Untuk OAuth autentikasi: Berikan **URL Token** dan **Aplikasi ClientId Klien Terkelola Pengguna** pada hari Senin yang ingin Anda sambungkan. 
      +  Untuk autentikasi khusus: Pilih Jenis Otentikasi **KUSTOM** untuk terhubung ke Senin. 

   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`. Pilih **Berikutnya**. 

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

# Membaca dari entitas Senin
<a name="monday-reading-from-entities"></a>

 **Prasyarat** 
+  Objek Senin yang ingin Anda baca. Lihat tabel entitas yang didukung di bawah ini untuk memeriksa entitas yang tersedia. 

 **Entitas yang didukung untuk Sumber** 

 Daftar entitas: 
+  Akun: [https://developer.monday.com/api-reference/dokumen/akun](https://developer.monday.com/api-reference/docs/account#queries) \$1queries 
+  Papan: [https://developer.monday.com/api-reference/dokumen/papan](https://developer.monday.com/api-reference/docs/boards#queries) \$1queries 
+  Kolom: [https://developer.monday.com/api-reference/dokumen/kolom](https://developer.monday.com/api-reference/docs/columns#queries) \$1queries 
+  Dokumen: [https://developer.monday.com/api-reference/dokumen/dokumen \$1queries](https://developer.monday.com/api-reference/docs/docs#queries) 
+  Blok Dokumen: [https://developer.monday.com/api-reference/docs/blocks \$1queries](https://developer.monday.com/api-reference/docs/blocks#queries) 
+  File: [https://developer.monday.com/api-reference/docs/files](https://developer.monday.com/api-reference/docs/files#queries) \$1queries 
+  Folder: [https://developer.monday.com/api-reference/dokumen/folder](https://developer.monday.com/api-reference/docs/folders#queries) \$1queries 
+  Grup: [https://developer.monday.com/api-reference/docs/groups](https://developer.monday.com/api-reference/docs/groups#queries) \$1queries 
+  Barang: [https://developer.monday.com/api-reference/dokumen/item](https://developer.monday.com/api-reference/docs/items#queries) \$1queries 
+  Sub item: [https://developer.monday.com/api-reference/dokumen/subitem](https://developer.monday.com/api-reference/docs/subitems#queries) \$1queries 
+  Tag: [https://developer.monday.com/api-reference/dokumen/tag-kueri](https://developer.monday.com/api-reference/docs/tags-queries#queries) \$1queries 
+  Tim: [https://developer.monday.com/api-reference/dokumen/tim](https://developer.monday.com/api-reference/docs/teams#queries) \$1queries 
+  Pembaruan: [https://developer.monday.com/api-reference/dokumen/pembaruan](https://developer.monday.com/api-reference/docs/updates#queries) \$1queries 
+  Pengguna: [https://developer.monday.com/api-reference/dokumen/pengguna](https://developer.monday.com/api-reference/docs/users#queries) \$1queries 
+  Ruang kerja: [https://developer.monday.com/api-reference/dokumen/ruang](https://developer.monday.com/api-reference/docs/workspaces#queries) kerja \$1queries 


| Entitas | Dapat disaring | Mendukung Batas | Mendukung Order By | Mendukung Pilih\$1 | Mendukung Partisi | 
| --- | --- | --- | --- | --- | --- | 
| Akun | Tidak | Tidak | Tidak | Ya | Tidak | 
| Papan | Ya | Ya | Tidak | Ya | Tidak | 
| Kolom | Tidak | Tidak | Tidak | Ya | Tidak | 
| Dokumen | Ya | Ya | Tidak | Ya | Tidak | 
| Blok Dokumen | Tidak | Ya | Tidak | Ya | Tidak | 
| Berkas | Ya | Tidak | Tidak | Ya | Tidak | 
| Grup | Tidak | Tidak | Tidak | Ya | Tidak | 
| Item | Ya | Ya | Tidak | Ya | Tidak | 
| Sub item | Tidak | Tidak | Tidak | Ya | Tidak | 
| Tag | Ya | Tidak | Tidak | Ya | Ya | 
| Tim | Ya | Tidak | Tidak | Ya | Tidak | 
| Pembaruan | Tidak | Ya | Tidak | Ya | Tidak | 
| Pengguna | Ya | Ya | Tidak | Ya | Tidak | 
| Workspace | Ya | Ya | Tidak | Ya | Tidak | 
| Folder | Ya | Ya | Tidak | Ya | Tidak | 

 **Contoh** 

```
monday_read = glueContext.create_dynamic_frame.from_options(
     connection_type="monday",
     connection_options={
         "connectionName": "connectionName",
         "ENTITY_NAME": "account",
         "API_VERSION": "v2"
     }
```

# Referensi opsi koneksi Senin
<a name="monday-connection-options"></a>

Berikut ini adalah opsi koneksi untuk hari Senin:
+  `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Nama Objek Anda di hari Senin. 
+  `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Versi Monday Rest API yang ingin Anda gunakan. Contoh: v2. 
+  `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. 

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

Berikut ini adalah batasan untuk konektor Senin:
+  Respons metadata dinamis memiliki konflik tertentu dengan dokumentasi seperti yang disebutkan di bawah ini: 
  +  Grup, entitas Kolom mendukung operasi filter, tetapi tidak ada di titik akhir metadata dinamis, oleh karena itu disimpan sebagai entitas yang tidak dapat difilter. 
  +  Titik akhir dinamis terdiri dari sekitar 15000\$1 baris dan mengembalikan metadata semua entitas dalam satu respons, karena ini bidang membutuhkan rata-rata 10 detik untuk dimuat karenanya, ini akan memerlukan waktu tambahan saat menjalankan pekerjaan. 
  +  Lihat tabel di bawah ini untuk batas tarif Senin. Ukuran signifikan dari data respons entitas dinamis menyebabkan penundaan yang nyata, dengan bidang yang membutuhkan rata-rata 10 detik untuk memuat.     
<a name="monday-rate-limit-table"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/monday-connector-limitations.html)

## Buat akun Senin baru:
<a name="monday-account-creation"></a>

1.  Arahkan ke beranda hari Senin, [https://monday.com/](https://monday.com/)dan pilih **Login**. 

1.  Anda akan diarahkan kembali ke halaman login. Di bagian bawah halaman, pilih **Daftar**. 

1.  Masukkan alamat email Anda dan pilih **Lanjutkan**. Sebagai alternatif, Anda dapat masuk dengan Google. 

1.  Masukkan detail yang diperlukan dan pilih **Lanjutkan**. 

1.  Lengkapi pertanyaan survei dan ikuti langkah-langkah untuk menyelesaikan proses pembuatan akun. 

**Daftarkan OAuth aplikasi:**

1.  Masuk ke akun monday.com Anda. Klik avatar Anda (ikon gambar) di sudut kiri bawah layar Anda. 

1.  Pilih **Pengembang**. 

1.  Pilih **Buat aplikasi**. 

1.  Lengkapi bidang yang diperlukan untuk nama dan deskripsi. 

1. Arahkan ke bagian “OAuth” yang ada di sisi kanan tambahkan cakupan dan pilih “Simpan Fitur”.

1.  Arahkan ke tab “Redirect URLS” di samping cakupan dan tambahkan URL pengalihan dan pilih “Simpan Fitur”. 

1.  Di bawah URLs tab **Redirect**, berikan URL aplikasi Anda. Ini harus https://\$1region-code\$1.console.aws.amazon.com/appflow/ oauth. Misalnya, jika Anda menggunakan, `us-east-1 ` Anda dapat menambahkan`https://us-east-1.console.aws.amazon.com/appflow/oauth`. 

1.  Aplikasi ini sekarang siap digunakan. Anda dapat menemukan kredensyal Anda, di bagian “Informasi Dasar”. Catat ID Klien dan string rahasia Klien Anda. String ini digunakan untuk membuat koneksi dengan aplikasi ini menggunakan AppFlow konektor. 

**Hasilkan token akses pribadi:**

 Saat ini, monday.com hanya menawarkan token API V2 kami, yang semuanya merupakan token pribadi. Untuk mengakses token API Anda, Anda dapat menggunakan salah satu dari dua metode tergantung pada tingkat pengguna Anda. Pengguna admin dapat menggunakan kedua metode untuk memperoleh token API mereka. Pengguna anggota dapat mengakses token API mereka dari tab Pengembang mereka. 

 Admin - Jika Anda adalah pengguna admin di akun monday.com Anda, Anda dapat mengakses token API Anda dari tab “Admin” dengan langkah-langkah berikut: 

1.  Masuk ke akun monday.com Anda. Klik avatar Anda (ikon gambar) di sudut kiri bawah layar Anda. 

1.  Pilih “Administrasi” dari menu yang dihasilkan (ini mengharuskan Anda memiliki izin admin). 

1.  Arahkan ke Bagian “API” dan buat “Token API V2”. Anda dapat menyalin token Anda dan menggunakannya. 

 Pengembang - Jika Anda adalah pengguna anggota di akun monday.com Anda, Anda dapat mengakses token API Anda dari tab Pengembang dengan langkah-langkah berikut: 

1.  Masuk ke akun monday.com Anda. Klik avatar Anda (ikon gambar) di sudut kiri bawah layar Anda. 

1.  Pilih “Pengembang” dari menu yang dihasilkan. 

1.  Di menu atas, pilih menu tarik-turun “Pengembang”. Pilih opsi pertama pada menu drop-down berjudul “My Access Tokens.” 

# Menghubungkan ke MongoDB di AWS Glue Studio
<a name="connecting-to-data-mongodb"></a>

 AWS Gluemenyediakan dukungan bawaan untuk MongoDB. AWS Glue Studiomenyediakan antarmuka visual untuk terhubung ke MongoDB, membuat pekerjaan integrasi data, dan menjalankannya di AWS Glue Studio runtime Spark tanpa server. 

**Topics**
+ [Membuat koneksi MongoDB](creating-mongodb-connection.md)
+ [Membuat simpul sumber MongoDB](creating-mongodb-source-node.md)
+ [Membuat simpul target MongoDB](creating-mongodb-target-node.md)
+ [Opsi lanjutan](#creating-mongodb-connection-advanced-options)

# Membuat koneksi MongoDB
<a name="creating-mongodb-connection"></a>

**Prasyarat**:
+ Jika instans MongoDB Anda ada di VPC Amazon, konfigurasikan Amazon VPC untuk memungkinkan AWS Glue pekerjaan Anda berkomunikasi dengan instans MongoDB tanpa lalu lintas melintasi internet publik. 

  Di Amazon VPC, identifikasi atau buat **grup **VPC**, **Subnet**, dan Keamanan** yang AWS Glue akan digunakan saat menjalankan pekerjaan. Selain itu, Anda perlu memastikan Amazon VPC dikonfigurasi untuk mengizinkan lalu lintas jaringan antara instans MongoDB Anda dan lokasi ini. Berdasarkan tata letak jaringan Anda, ini mungkin memerlukan perubahan pada aturan grup keamanan, Jaringan, Gateway NAT ACLs, dan koneksi Peering.

**Untuk mengkonfigurasi koneksi ke MongoDB:**

1. Secara opsional, di AWS Secrets Manager, buat rahasia menggunakan kredenal MongoDB Anda. Untuk membuat rahasia di Secrets Manager, ikuti tutorial yang tersedia di [Buat AWS Secrets Manager rahasia](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret.html) dalam AWS Secrets Manager dokumentasi. Setelah membuat rahasia, simpan nama Rahasia, *secretName* untuk langkah selanjutnya. 
   + Saat memilih **pasangan kunci/nilai**, buat pasangan untuk kunci `username` dengan nilainya. *mongodbUser*

     Saat memilih **pasangan kunci/nilai**, buat pasangan untuk kunci `password` dengan nilainya. *mongodbPass*

1. Di AWS Glue konsol, buat koneksi dengan mengikuti langkah-langkah di[Menambahkan AWS Glue koneksi](console-connections.md). Setelah membuat koneksi, pertahankan nama koneksi,*connectionName*, untuk penggunaan masa depan di AWS Glue. 
   + Saat memilih **jenis Koneksi**, pilih **MongoDB **atau** MongoDB** Atlas.
   + Saat memilih URL **MongoDB atau URL MongoDB** **Atlas, berikan nama host instance MongoDB Anda**.

     URL MongoDB disediakan dalam format. `mongodb://mongoHost:mongoPort/mongoDBname`

     URL Atlas MongoDB disediakan dalam format. `mongodb+srv://mongoHost/mongoDBname`
   + Jika Anda memilih untuk membuat rahasia Secrets Manager, pilih **jenis AWS Secrets Manager Credential**.

     Kemudian, dalam **AWS Rahasia** sediakan*secretName*.
   + Jika Anda memilih untuk memberikan **Nama Pengguna dan kata sandi**, berikan *mongodbUser* dan*mongodbPass*.

1. Dalam situasi berikut, Anda mungkin memerlukan konfigurasi tambahan:
   + 

     Untuk instance MongoDB yang dihosting di VPC Amazon AWS 
     + Anda harus memberikan informasi koneksi Amazon VPC ke AWS Glue koneksi yang menentukan kredenal keamanan MongoDB Anda. **Saat membuat atau memperbarui koneksi Anda, atur **grup **VPC**, **Subnet**, dan Keamanan** dalam opsi Jaringan.**

Setelah membuat koneksi AWS Glue MongoDB, Anda harus melakukan langkah-langkah berikut sebelum menjalankan pekerjaan Anda: AWS Glue 
+ Saat bekerja dengan AWS Glue pekerjaan di editor visual, Anda harus memberikan informasi koneksi Amazon VPC agar pekerjaan Anda dapat terhubung ke MongoDB. Identifikasi lokasi yang sesuai di Amazon VPC dan berikan ke koneksi AWS Glue MongoDB Anda.
+ Jika Anda memilih untuk membuat rahasia Secrets Manager, berikan peran IAM yang terkait dengan izin AWS Glue pekerjaan Anda untuk membaca*secretName*.

# Membuat simpul sumber MongoDB
<a name="creating-mongodb-source-node"></a>

## Prasyarat yang dibutuhkan
<a name="creating-mongodb-source-node-prerequisites"></a>
+ Koneksi AWS Glue MongoDB, seperti yang dijelaskan di bagian sebelumnya,. [Membuat koneksi MongoDB](creating-mongodb-connection.md)
+ Jika Anda memilih untuk membuat rahasia Secrets Manager, izin yang sesuai pada pekerjaan Anda untuk membaca rahasia yang digunakan oleh koneksi.
+ Koleksi MongoDB yang ingin Anda baca. Anda akan memerlukan informasi identifikasi untuk koleksi.

  Koleksi MongoDB diidentifikasi dengan nama database dan nama koleksi,,. *mongodbName* *mongodbCollection*

## Menambahkan sumber data MongoDB
<a name="creating-mongodb-source-node-add"></a>

**Untuk menambahkan **sumber Data — simpul MongoDB**:**

1.  Pilih koneksi untuk sumber data MongoDB Anda. Karena Anda telah membuatnya, itu harus tersedia di dropdown. Jika Anda perlu membuat koneksi, pilih **Buat koneksi MongoDB**. Untuk informasi lebih lanjut lihat bagian sebelumnya,[Membuat koneksi MongoDB](creating-mongodb-connection.md). 

    Setelah Anda memilih koneksi, Anda dapat melihat properti koneksi dengan mengklik **Lihat properti**. 

1. Pilih **Database**. Masukkan *mongodbName*.

1. Pilih **Koleksi**. Masukkan *mongodbCollection*.

1. Pilih **Partitioner**, **Partition size (MB)** dan **Partition** key. Untuk informasi selengkapnya tentang parameter partisi, lihat[“ConnectionType”: “mongodb” sebagai sumber](aws-glue-programming-etl-connect-mongodb-home.md#etl-connect-mongodb-as-source).

1.  Di properti **MongoDB Kustom**, masukkan parameter dan nilai sesuai kebutuhan. 

# Membuat simpul target MongoDB
<a name="creating-mongodb-target-node"></a>

## Prasyarat yang dibutuhkan
<a name="creating-mongodb-target-node-prerequisites"></a>
+ Koneksi AWS Glue MongoDB, dikonfigurasi dengan rahasia, seperti AWS Secrets Manager yang dijelaskan di bagian sebelumnya,. [Membuat koneksi MongoDB](creating-mongodb-connection.md)
+ Izin yang sesuai pada pekerjaan Anda untuk membaca rahasia yang digunakan oleh koneksi.
+ Tabel MongoDB yang ingin Anda tulis,. *tableName*

## Menambahkan target data MongoDB
<a name="creating-mongodb-target-node-add"></a>

**Untuk menambahkan **target Data - simpul MongoDB**:**

1.  Pilih koneksi untuk sumber data MongoDB Anda. Karena Anda telah membuatnya, itu harus tersedia di dropdown. Jika Anda perlu membuat koneksi, pilih **Buat koneksi MongoDB**. Untuk informasi lebih lanjut lihat bagian sebelumnya,[Membuat koneksi MongoDB](creating-mongodb-connection.md). 

    Setelah Anda memilih koneksi, Anda dapat melihat properti koneksi dengan mengklik **Lihat properti**. 

1. Pilih **Database**. Masukkan *mongodbName*.

1. Pilih **Koleksi**. Masukkan *mongodbCollection*.

1. Pilih **Partitioner**, **Partition size (MB)** dan **Partition** key. Untuk informasi selengkapnya tentang parameter partisi, lihat[“ConnectionType”: “mongodb” sebagai sumber](aws-glue-programming-etl-connect-mongodb-home.md#etl-connect-mongodb-as-source).

1. Pilih **Coba Ulang Menulis** jika diinginkan.

1.  Di properti **MongoDB Kustom**, masukkan parameter dan nilai sesuai kebutuhan. 

## Opsi lanjutan
<a name="creating-mongodb-connection-advanced-options"></a>

Anda dapat memberikan opsi lanjutan saat membuat simpul MongoDB. Opsi ini sama dengan yang tersedia saat pemrograman AWS Glue untuk skrip Spark.

Lihat [Referensi opsi koneksi MongoDB](aws-glue-programming-etl-connect-mongodb-home.md#aws-glue-programming-etl-connect-mongodb). 

# Menghubungkan ke Oracle NetSuite
<a name="connecting-to-data-oracle-netsuite"></a>

Oracle NetSuite adalah solusi manajemen bisnis all-in-one cloud yang membantu organisasi beroperasi lebih efektif dengan mengotomatiskan proses inti dan memberikan visibilitas real-time ke kinerja operasional dan keuangan. Dengan satu rangkaian aplikasi terintegrasi untuk mengelola akuntansi, pemrosesan pesanan, manajemen inventaris, produksi, rantai pasokan, dan operasi gudang, Oracle NetSuite memberi perusahaan visibilitas yang jelas ke dalam data mereka dan kontrol yang lebih ketat atas bisnis mereka.

**Topics**
+ [AWS Glue Dukungan untuk Oracle NetSuite](oracle-netsuite-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](oracle-netsuite-configuring-iam-permissions.md)
+ [Mengkonfigurasi Oracle NetSuite](oracle-netsuite-configuring.md)
+ [Mengkonfigurasi koneksi Oracle NetSuite](oracle-netsuite-configuring-connections.md)
+ [Membaca dari entitas Oracle NetSuite](oracle-netsuite-reading-from-entities.md)
+ [Opsi NetSuite koneksi Oracle](oracle-netsuite-connection-options.md)
+ [Keterbatasan dan catatan untuk konektor Oracle NetSuite](oracle-netsuite-connector-limitations.md)

# AWS Glue Dukungan untuk Oracle NetSuite
<a name="oracle-netsuite-support"></a>

AWS Glue mendukung Oracle NetSuite sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi Oracle NetSuite API yang didukung**  
Versi NetSuite API Oracle berikut didukung:
+ v1

Untuk dukungan entitas per versi tertentu, lihat Entitas yang didukung untuk Sumber.

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="oracle-netsuite-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 Oracle NetSuite
<a name="oracle-netsuite-configuring"></a>

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

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

Berikut ini adalah persyaratan minimum:
+ Anda memiliki NetSuite akun Oracle. Untuk informasi selengkapnya, lihat [Membuat akun Oracle NetSuite](#oracle-netsuite-configuring-creating-oracle-netsuite-account).
+  NetSuite Akun Oracle Anda diaktifkan untuk akses API.
+ Anda telah membuat integrasi OAuth 2.0 API di akun NetSuite pengembang Oracle Anda. Integrasi ini menyediakan kredensi klien yang AWS Glue digunakan untuk mengakses data Anda dengan aman saat melakukan panggilan yang diautentikasi ke akun Anda. Untuk informasi selengkapnya, lihat [Membuat aplikasi NetSuite klien Oracle dan kredensi OAuth 2.0](#oracle-netsuite-configuring-creating-oracle-netsuite-client-app).

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

## Membuat akun Oracle NetSuite
<a name="oracle-netsuite-configuring-creating-oracle-netsuite-account"></a>

Arahkan ke [Oracle NetSuite](https://www.netsuite.com/portal/home.shtml), dan pilih **Tur Produk Gratis**. Isi detail yang diperlukan untuk mendapatkan tur produk gratis, di mana Anda dapat menghubungi vendor. Proses pengadaan akun adalah sebagai berikut:
+ Pengadaan NetSuite akun dilakukan melalui vendor, yang menyediakan form/quote yang harus ditinjau secara hukum.
+ Akun yang akan dibeli untuk NetSuite konektor Oracle adalah Layanan **Cloud Standar**.
+ Akun ini dibuat oleh vendor dan kredensi sementara dibagikan oleh mereka. Anda akan menerima surat selamat datang dari NetSuite < billing@notification.netsuite.com > < system@sent-via.netsuite.com > dengan rincian seperti nama pengguna Anda, dan tautan untuk mengatur kata sandi Anda.
+ Gunakan tautan **Atur kata sandi Anda** untuk mengatur kata sandi untuk nama pengguna yang disediakan oleh vendor.

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

Untuk mendapatkan Client ID dan Client Secret Anda membuat aplikasi NetSuite klien Oracle:

1. Masuk ke NetSuite akun Anda melalui [login NetSuite pelanggan](https://system.netsuite.com/pages/customerlogin.jsp).

1. Pilih **Pengaturan** > **Perusahaan** > **Aktifkan fitur**.

1. Arahkan ke **SuiteCloud**bagian dan pilih kotak centang **REST WEB SERVICES** di bawah **SuiteTalk (Layanan Web)**.

1. **Pilih kotak centang **OAUTH 2.0** di bawah Kelola Otentikasi.** Klik **Simpan**.

1. Buka **Setup** > **Integration** > **Manage Integrations** dan pilih **New** untuk membuat OAuth2 aplikasi.0.

1. Masukkan nama pilihan Anda dan pertahankan **STATE** sebagai Diaktifkan.

1. **Jika dicentang, hapus centang pada kotak centang **TBA: AUTHORIZATION FLOW dan TOKEN-BASED AUTHENTICATION** **yang ditampilkan di bawah Otentikasi Berbasis Token**.**

1. **Pilih kotak centang **PEMBERIAN KODE OTORISASI** dan **KLIEN PUBLIK** di bawah OAuth 2.0.**

1. Di bawah Auth, catat ID Klien dan Rahasia Klien.

1. Masukkan **URI REDIRECT**. Misalnya, https://us-east-1.console.aws.amazon.com/gluestudio/ oauth

1. Pilih kotak centang **REST WEB SERVICES** di bawah **SCOPE**.

1. **Pilih kotak centang **USER CREDENTIALS di bawah User Credentials**.** Pilih **Simpan**.

1. Perhatikan KEY/CLIENT ID KONSUMEN dan SECRET/CLIENT RAHASIA KONSUMEN di bawah **Kredensial Klien**. Nilai-nilai ini hanya ditampilkan sekali.

1. **Buat peran ADMINISTRATOR jika diperlukan dengan menavigasi ke **Pengguna/Peran > **Kelola** Peran** > Baru.**

1. Saat membuat peran khusus, tambahkan akses penuh di bawah tab **Izin** untuk entitas/fungsi berikut:
   + “Setoran”, “Item”, “Pemenuhan Item”, “Buat Entri Jurnal”, “Pesanan Pembelian”, “Anak Perusahaan”, “Vendor”, “Tagihan”, “Otorisasi Pengembalian Vendor”, “Waktu Lacak”, “Pembayaran Pelanggan”, “Entri Catatan Kustom”, “Jenis Catatan Kustom”, “Layanan Web REST”, “Manajemen Aplikasi Resmi OAuth 2.0”, “Bidang Entitas Kustom”, “Masuk menggunakan 2.0 Token Akses”. OAuth 

Untuk informasi selengkapnya lihat [OAuth 2.0](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/chapter_157769826287.html) di dokumentasi NetSuite Applications Suite.

# Mengkonfigurasi koneksi Oracle NetSuite
<a name="oracle-netsuite-configuring-connections"></a>

Oracle NetSuite mendukung jenis hibah AUTHORIZATION\$1CODE untuk. OAuth2 Jenis hibah menentukan cara AWS Glue berkomunikasi dengan Oracle NetSuite untuk meminta akses ke data Anda.
+ 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 AWS Glue terkelola) di mana mereka tidak perlu memberikan informasi OAuth terkait apa pun kecuali untuk URL instance Oracle NetSuite mereka. AWS Glue Konsol akan mengarahkan pengguna ke Oracle NetSuite di mana pengguna harus masuk dan mengizinkan AWS Glue izin yang diminta untuk mengakses instance Oracle mereka. NetSuite 
+ Pengguna masih dapat memilih untuk membuat aplikasi terhubung mereka sendiri di Oracle NetSuite dan memberikan id klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue konsol. Dalam skenario ini, mereka masih akan diarahkan ke Oracle untuk masuk dan memberi wewenang NetSuite AWS Glue untuk mengakses sumber daya mereka.
+ Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses berumur pendek, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran.
+ Untuk NetSuite dokumentasi Oracle publik tentang cara membuat aplikasi yang terhubung untuk OAuth alur Kode Otorisasi, lihat Aplikasi [publik](https://developers.oracle-netsuite.com/docs/api/creating-an-app).

Untuk mengkonfigurasi NetSuite koneksi Oracle:

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

   1. 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 untuk koneksi Anda 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 Oracle NetSuite.

   1. Menyediakan NetSuite lingkungan Oracle.

   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 Oracle NetSuite
<a name="oracle-netsuite-reading-from-entities"></a>

**Prasyarat**

 NetSuite Objek Oracle yang ingin Anda baca. Anda akan membutuhkan nama objek seperti `deposit` atau`timebill`. Tabel berikut menunjukkan entitas yang didukung.

**Entitas yang didukung untuk sumber**:


| Entitas | Dapat disaring | Mendukung Order By | Mendukung Batas | Mendukung SELECT \$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| Setoran | Ya | Tidak | Ya | Ya | Ya | 
| Keterangan Barang | Ya | Tidak | Ya | Ya | Ya | 
| Barang Inventaris | Ya | Tidak | Ya | Ya | Ya | 
| Pemenuhan Item | Ya | Tidak | Ya | Ya | Ya | 
| Grup Barang | Ya | Tidak | Ya | Ya | Ya | 
| Entri Jurnal | Ya | Tidak | Ya | Ya | Ya | 
| Item Pembelian Non-Inventaris | Ya | Tidak | Ya | Ya | Ya | 
| Barang Penjualan Kembali Non-Inventaris | Ya | Tidak | Ya | Ya | Ya | 
| Barang Penjualan Non-Inventaris | Ya | Tidak | Ya | Ya | Ya | 
| Pesanan Pembelian | Ya | Tidak | Ya | Ya | Ya | 
| Anak Perusahaan | Ya | Tidak | Ya | Ya | Ya | 
| Vendor | Ya | Tidak | Ya | Ya | Ya | 
| Tagihan Vendor | Ya | Tidak | Ya | Ya | Ya | 
| Otorisasi Pengembalian Vendor | Ya | Tidak | Ya | Ya | Ya | 
| Tagihan Waktu | Ya | Tidak | Ya | Ya | Ya | 
| Pembayaran Pelanggan | Ya | Tidak | Ya | Ya | Ya | 
| Permintaan Pemenuhan | Ya | Tidak | Ya | Ya | Ya | 
| Item | Ya | Ya | Ya | Ya | Ya | 
| Jalur Transaksi | Ya | Ya | Ya | Ya | Ya | 
| Jalur Akuntansi Transaksi | Ya | Ya | Ya | Ya | Ya | 
| Jenis Rekaman Kustom (Dinamis) | Ya | Ya | Ya | Ya | Ya | 

**Contoh:**

```
netsuiteerp_read = glueContext.create_dynamic_frame.from_options(
    connection_type="netsuiteerp",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "deposit",
        "API_VERSION": "v1"
    }
)
```

** NetSuite Entitas Oracle dan detail bidang**:

Oracle NetSuite secara dinamis memuat bidang yang tersedia di bawah entitas yang dipilih. Tergantung pada tipe data bidang, ini mendukung operator filter berikut.


| Tipe data bidang | Operator filter yang didukung | 
| --- | --- | 
| String | SEPERTI, =,\$1 = | 
| Date | ANTARA, =, <, <=, >, >= | 
| DateTime | ANTARA, <, <=, >, >= | 
| Numerik |  =, \$1=, <, <=, >, >= | 
| Boolean |  =, \$1= | 

**Format input yang diharapkan untuk nilai Boolean di Ekspresi Filter**:


| Entitas | Format nilai “benar” Boolean | Format nilai “palsu” Boolean | Contoh | 
| --- | --- | --- | --- | 
| Barang, Jalur Transaksi, Jalur Akuntansi Transaksi, dan entitas Jenis Rekaman Kustom | T atau t | F atau f | isinactive = “T” atau isinactive = “t” | 
| Semua entitas lainnya | true | SALAH | isinaktif = benar | 

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

**Partisi berbasis lapangan**

 NetSuite Konektor Oracle memiliki metadata dinamis sehingga bidang yang didukung untuk partisi berbasis bidang dipilih secara dinamis. Partisi berbasis bidang didukung pada bidang yang memiliki tipe data Integer, BigInteger, Tanggal atau. DateTime

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 bidang timestamp, kami menerima format stempel waktu Spark yang digunakan dalam kueri Spark SQL.

  Contoh nilai yang valid:

  ```
  "TIMESTAMP \"1707256978123\""
  "TIMESTAMP \"1702600882\""
  "TIMESTAMP '2024-02-06T22:00:00:00.000Z'"
  "TIMESTAMP '2024-02-06T22:00:00:00Z'"
  "TIMESTAMP '2024-02-06'"
  ```
+ `UPPER_BOUND`: nilai batas atas **eksklusif** dari bidang partisi yang dipilih.
+ `NUM_PARTITIONS`: jumlah partisi.

Contoh:

```
netsuiteerp_read = glueContext.create_dynamic_frame.from_options(
    connection_type="netsuiteerp",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "deposit",
        "API_VERSION": "v1",
        "PARTITION_FIELD": "id",
        "LOWER_BOUND": "1",
        "UPPER_BOUND": "10000",
        "NUM_PARTITIONS": "10"
    }
```

**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 Oracle NetSuite API, dan dibagi dengan jumlah yang disediakan, `NUM_PARTITIONS` jumlah catatan yang dihasilkan kemudian diambil secara bersamaan oleh setiap sub-kueri.
+ `NUM_PARTITIONS`: jumlah partisi.

Contoh:

```
netsuiteerp_read = glueContext.create_dynamic_frame.from_options(
    connection_type="netsuiteerp",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "deposit",
        "API_VERSION": "v1",
        "NUM_PARTITIONS": "3"
    }
```

# Opsi NetSuite koneksi Oracle
<a name="oracle-netsuite-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Oracle NetSuite:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama NetSuite entitas Oracle. Contoh: setoran.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Versi Oracle NetSuite Rest API yang ingin Anda gunakan. Nilainya akan menjadi v1, karena Oracle NetSuite saat ini hanya mendukung versi v1.
+ `SELECTED_FIELDS`(Daftar<String>) - Default: kosong (SELECT \$1). Digunakan untuk Baca. Daftar kolom yang dipisahkan koma yang ingin Anda pilih untuk entitas yang dipilih.
+ `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 (partisi berbasis bidang).
+ `LOWER_BOUND`(String) - Digunakan untuk Baca. Nilai batas bawah inklusif dari bidang partisi yang dipilih, digunakan dalam partisi berbasis lapangan.
+ `UPPER_BOUND`(String) - Digunakan untuk Baca. Nilai batas atas eksklusif dari bidang partisi yang dipilih, digunakan dalam partisi berbasis lapangan. 
+ `NUM_PARTITIONS`(Integer) - Default: 1. Digunakan untuk Baca. Jumlah partisi untuk dibaca. Digunakan dalam partisi berbasis bidang dan catatan.
+ `INSTANCEE_URL`(String) - Sebuah NetSuite contoh URL yang valid dengan format https://\$1account-id\$1.suitetalk.api.netsuite.com.

# Keterbatasan dan catatan untuk konektor Oracle NetSuite
<a name="oracle-netsuite-connector-limitations"></a>

Berikut ini adalah batasan atau catatan untuk NetSuite konektor Oracle:
+ Nilai parameter access\$1token dan refresh\$1token dalam format JSON Web Token (JWT). Token akses berlaku selama 60 menit sedangkan refresh\$1token berlaku selama tujuh hari.
+ Selama pembuatan ID klien dan rahasia klien, jika Anda memilih “KLIEN PUBLIK” bersama dengan “PEMBERIAN KODE OTORISASI”, maka token penyegaran hanya berlaku selama tiga jam dan hanya untuk penggunaan satu kali.
+ Anda dapat mengambil paling banyak 1.00.000 catatan menggunakan konektor. Untuk informasi selengkapnya, lihat [Mengeksekusi Kueri SuiteQL Melalui Layanan Web](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_157909186990.html) REST.
+ Partisi dibuat sedemikian rupa sehingga setiap partisi akan mengambil catatan dalam kelipatan 1000, kecuali mungkin yang terakhir yang akan mengambil catatan yang tersisa.
+ Untuk objek Item, Jalur Transaksi dan Jalur Akuntansi Transaksi, konektor tidak akan mendukung beberapa operator karena alasan berikut:
  + Menerapkan`EQUAL_TO`, `NOT_EQUAL_TO` filter operator ke bidang jenis Tanggal memberikan hasil yang tidak dapat diandalkan.
  + Menerapkan operator `LESS_THAN_OR_EQUAL_TO` filter ke bidang tipe Tanggal memberikan hasil yang tidak dapat diandalkan dan berperilaku mirip dengan operator. `LESS_THAN`
  + Menerapkan operator `GREATER_THAN` filter ke bidang tipe Date= memberikan hasil yang tidak dapat diandalkan dan berperilaku mirip dengan operator. `GREATER_THAN_OR_EQUAL_TO`
+ Untuk objek Item, Transaction Line, Transaction Accounting Line, dan Custom Record Type, nilai boolean datang dalam format T/F bukan standar true/false. The connector maps the t/f values to true/false untuk memastikan konsistensi dalam data.

# Menghubungkan ke OpenSearch Layanan di AWS Glue Studio
<a name="connecting-to-data-opensearch"></a>

 AWS Gluemenyediakan dukungan bawaan untuk Amazon OpenSearch Service. AWS Glue Studiomenyediakan antarmuka visual untuk terhubung ke Amazon OpenSearch Service, membuat pekerjaan integrasi data, dan menjalankannya di runtime Spark AWS Glue Studio tanpa server. Fitur ini tidak kompatibel dengan OpenSearch Layanan tanpa server. 

 AWS Glue Studio membuat koneksi terpadu untuk Amazon OpenSearch Service. Untuk informasi selengkapnya, lihat [Pertimbangan-pertimbangan](using-connectors-unified-connections.md#using-connectors-unified-connections-considerations). 

**Topics**
+ [Membuat koneksi OpenSearch Layanan](creating-opensearch-connection.md)
+ [Membuat node sumber OpenSearch Layanan](creating-opensearch-source-node.md)
+ [Membuat node target OpenSearch Service](creating-opensearch-target-node.md)
+ [Opsi lanjutan](#creating-opensearch-connection-advanced-options)

# Membuat koneksi OpenSearch Layanan
<a name="creating-opensearch-connection"></a>

**Prasyarat**:
+ Identifikasi titik akhir domain, *aosEndpoint* dan port, yang ingin *aosPort* Anda baca, atau buat sumber daya dengan mengikuti petunjuk dalam dokumentasi OpenSearch Layanan Amazon. Untuk informasi selengkapnya tentang membuat domain, lihat [Membuat dan mengelola domain OpenSearch Layanan Amazon](https://docs.aws.amazon.com//opensearch-service/latest/developerguide/createupdatedomains.html) di dokumentasi OpenSearch Layanan Amazon.

  Titik akhir domain OpenSearch Layanan Amazon akan memiliki formulir default berikut, https://search - *domainName* -*unstructuredIdContent*. *region*.es.amazonaws.com. Untuk informasi selengkapnya tentang mengidentifikasi titik akhir domain Anda, lihat [Membuat dan mengelola domain OpenSearch Layanan Amazon](https://docs.aws.amazon.com//opensearch-service/latest/developerguide/createupdatedomains.html) di dokumentasi OpenSearch Layanan Amazon. 

  Identifikasi atau hasilkan kredensyal otentikasi dasar HTTP, *aosUser* dan *aosPassword* untuk domain Anda.

**Untuk mengkonfigurasi koneksi ke OpenSearch Layanan:**

1. Di AWS Secrets Manager, buat rahasia menggunakan kredensyal OpenSearch Layanan Anda. Untuk membuat rahasia di Secrets Manager, ikuti tutorial yang tersedia di [Buat AWS Secrets Manager rahasia](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret.html) dalam AWS Secrets Manager dokumentasi. Setelah membuat rahasia, simpan nama Rahasia, *secretName* untuk langkah selanjutnya. 
   + Saat memilih **pasangan kunci/nilai**, buat pasangan untuk kunci `USERNAME` dengan nilainya. *aosUser*
   + Saat memilih **pasangan kunci/nilai**, buat pasangan untuk kunci `PASSWORD` dengan nilainya. *aosPassword*

1. Di AWS Glue konsol, buat koneksi dengan mengikuti langkah-langkah di[Menambahkan AWS Glue koneksi](console-connections.md). Setelah membuat koneksi, pertahankan nama koneksi,*connectionName*, untuk penggunaan masa depan di AWS Glue. 
   + Saat memilih **jenis Koneksi**, pilih OpenSearch Layanan.
   + Saat memilih titik akhir Domain, berikan*aosEndpoint*.
   + Saat memilih port, sediakan*aosPort*.
   + Saat memilih **AWS Rahasia**, berikan*secretName*.

# Membuat node sumber OpenSearch Layanan
<a name="creating-opensearch-source-node"></a>

## Prasyarat yang dibutuhkan
<a name="creating-opensearch-source-node-prerequisites"></a>
+ Koneksi AWS Glue OpenSearch layanan, dikonfigurasi dengan AWS Secrets Manager rahasia, seperti yang dijelaskan di bagian sebelumnya,[Membuat koneksi OpenSearch Layanan](creating-opensearch-connection.md).
+ Izin yang sesuai pada pekerjaan Anda untuk membaca rahasia yang digunakan oleh koneksi.
+ Indeks OpenSearch Layanan yang ingin Anda baca,*aosIndex*.

## Menambahkan sumber data OpenSearch Layanan
<a name="creating-opensearch-source-node-add"></a>

**Untuk menambahkan **sumber Data — Node OpenSearch layanan**:**

1.  Pilih sambungan untuk sumber data OpenSearch Layanan Anda. Karena Anda telah membuatnya, itu harus tersedia di dropdown. Jika Anda perlu membuat koneksi, pilih **Buat koneksi OpenSearch Layanan**. Untuk informasi lebih lanjut lihat bagian sebelumnya,[Membuat koneksi OpenSearch Layanan](creating-opensearch-connection.md). 

    Setelah Anda memilih koneksi, Anda dapat melihat properti koneksi dengan mengklik **Lihat properti**. 

1. Berikan **Indeks**, indeks yang ingin Anda baca.

1. Secara opsional, berikan **Query**, OpenSearch kueri untuk memberikan hasil yang lebih spesifik. Untuk informasi lebih lanjut tentang menulis OpenSearch pertanyaan, konsultasikan[Membaca dari indeks OpenSearch Layanan](aws-glue-programming-etl-connect-opensearch-home.md#aws-glue-programming-etl-connect-opensearch-read).

1.  Di **properti OpenSearch Layanan Kustom**, masukkan parameter dan nilai sesuai kebutuhan. 

# Membuat node target OpenSearch Service
<a name="creating-opensearch-target-node"></a>

## Prasyarat yang dibutuhkan
<a name="creating-opensearch-target-node-prerequisites"></a>
+ Koneksi AWS Glue OpenSearch layanan, dikonfigurasi dengan AWS Secrets Manager rahasia, seperti yang dijelaskan di bagian sebelumnya,[Membuat koneksi OpenSearch Layanan](creating-opensearch-connection.md).
+ Izin yang sesuai pada pekerjaan Anda untuk membaca rahasia yang digunakan oleh koneksi.
+ Indeks OpenSearch Layanan yang ingin Anda tulis,*aosIndex*.

## Menambahkan target data OpenSearch Layanan
<a name="creating-opensearch-target-node-add"></a>

**Untuk menambahkan **target Data — Node OpenSearch layanan**:**

1.  Pilih sambungan untuk sumber data OpenSearch Layanan Anda. Karena Anda telah membuatnya, itu harus tersedia di dropdown. Jika Anda perlu membuat koneksi, pilih **Buat koneksi OpenSearch Layanan**. Untuk informasi lebih lanjut lihat bagian sebelumnya,[Membuat koneksi OpenSearch Layanan](creating-opensearch-connection.md). 

    Setelah Anda memilih koneksi, Anda dapat melihat properti koneksi dengan mengklik **Lihat properti**. 

1. Berikan **Indeks**, indeks yang ingin Anda baca.

1.  Di **properti OpenSearch Layanan Kustom**, masukkan parameter dan nilai sesuai kebutuhan. 

## Opsi lanjutan
<a name="creating-opensearch-connection-advanced-options"></a>

Anda dapat memberikan opsi lanjutan saat membuat node OpenSearch Layanan. Opsi ini sama dengan yang tersedia saat pemrograman AWS Glue untuk skrip Spark.

Lihat [OpenSearch Koneksi layanan](aws-glue-programming-etl-connect-opensearch-home.md). 

# Menghubungkan ke Okta
<a name="connecting-to-okta"></a>

 Okta API adalah antarmuka terprogram untuk Okta, digunakan untuk mengelola akun dan kampanye Okta yang besar atau kompleks. Jika Anda pengguna Okta, Anda dapat terhubung AWS Glue ke akun Okta Anda. Kemudian, Anda dapat menggunakan Okta sebagai sumber data dalam pekerjaan ETL Anda. Jalankan pekerjaan ini untuk mentransfer data antara Okta dan AWS layanan atau aplikasi lain yang didukung. 

**Topics**
+ [AWS Glue dukungan untuk Okta](okta-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](okta-configuring-iam-permissions.md)
+ [Mengkonfigurasi Okta](okta-configuring.md)
+ [Mengkonfigurasi koneksi Okta](okta-configuring-connections.md)
+ [Membaca dari entitas Okta](okta-reading-from-entities.md)
+ [Referensi opsi koneksi Okta](okta-connection-options.md)
+ [Langkah pembuatan Akun Baru dan Aplikasi Pengembang Okta](okta-create-account.md)
+ [Batasan](okta-connector-limitations.md)

# AWS Glue dukungan untuk Okta
<a name="okta-support"></a>

AWS Glue mendukung Okta sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi Okta API yang didukung**  
 v1. 

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="okta-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": "*"
    }
  ]
}
```

------

Anda juga dapat menggunakan kebijakan IAM terkelola berikut untuk mengizinkan akses:
+  [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 Okta
<a name="okta-configuring"></a>

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

## Persyaratan minimum
<a name="okta-configuring-min-requirements"></a>
+  Anda memiliki akun Okta. Untuk informasi selengkapnya tentang membuat akun, lihat[Langkah pembuatan Akun Baru dan Aplikasi Pengembang Okta](okta-create-account.md). 
+  Akun Okta Anda diaktifkan untuk akses API. 
+  Anda telah membuat integrasi OAuth2 API di akun Okta Anda. Integrasi ini menyediakan kredensi klien yang AWS Glue digunakan untuk mengakses data Anda dengan aman saat melakukan panggilan yang diautentikasi ke akun Anda. Untuk informasi selengkapnya, lihat Langkah-langkah Membuat aplikasi Klien dan OAuth2 kredensial.0: Langkah Pembuatan Akun Baru dan Aplikasi Pengembang Okta 
+  Anda memiliki akun Okta dengan file. OktaApiToken Lihat [dokumentasi Okta](https://developer.okta.com/docs/guides/create-an-api-token/main/#create-the-token). 

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

# Mengkonfigurasi koneksi Okta
<a name="okta-configuring-connections"></a>

 Okta mendukung dua jenis mekanisme otentikasi: 
+  OAuth auth: Okta mendukung jenis `AUTHORIZATION_CODE` hibah. 
  +  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. AWS Glue Konsol akan mengarahkan pengguna ke Okta di mana pengguna harus masuk dan mengizinkan izin AWS Glue yang diminta untuk mengakses instance Okta mereka. 
  +  Pengguna dapat memilih untuk membuat aplikasi mereka sendiri yang terhubung di Okta dan memberikan ID klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue Konsol. Dalam skenario ini, mereka masih akan diarahkan ke Okta untuk masuk dan memberi wewenang AWS Glue untuk mengakses sumber daya mereka. 
  +  Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses berumur pendek, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran. 
  +  Untuk informasi selengkapnya, lihat [dokumentasi Okta publik tentang cara membuat aplikasi yang terhubung untuk alur Kode OAuth Otorisasi](https://developers.google.com/workspace/guides/create-credentials). 
+  Autentikasi kustom: 
  +  Untuk dokumentasi Okta publik tentang pembuatan kunci API yang diperlukan untuk otorisasi kustom, lihat dokumentasi [Okta](https://developer.okta.com/docs/guides/create-an-api-token/main/#create-the-token). 

Untuk mengkonfigurasi koneksi Okta:

1.  Di AWS Secrets Manager, buat rahasia dengan detail berikut. Diperlukan untuk membuat rahasia untuk setiap koneksi di AWS Glue. 

   1.  Untuk OAuth autentikasi: 
      +  Untuk aplikasi terhubung yang dikelola pelanggan — Rahasia harus berisi aplikasi yang terhubung Rahasia Konsumen dengan kunci `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` sebagai. 

   1.  Untuk autentikasi khusus: 
      +  Untuk aplikasi terhubung yang dikelola pelanggan - Rahasia harus berisi aplikasi yang terhubung Rahasia Konsumen dengan kunci `OktaApiToken` sebagai. 

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

   1.  Di bawah Koneksi, pilih **Buat koneksi**. 

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

   1. Berikan subdomain Okta Anda.

   1. Pilih URL Domain Okta dari akun Okta Anda.

   1.  Pilih peran 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 Jenis Otentikasi untuk terhubung ke sumber data. 

   1.  Untuk jenis OAuth2 otentikasi, berikan **Aplikasi Klien Terkelola Pengguna ClientId dari aplikasi** Okta. 

   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 Okta
<a name="okta-reading-from-entities"></a>

 **Prasyarat** 
+  Objek Okta yang ingin Anda baca. Lihat tabel entitas yang didukung di bawah ini untuk memeriksa entitas yang tersedia. 

 **Entitas yang didukung** 


| Entitas | Dapat disaring | Mendukung Batas | Mendukung Order By | Mendukung Pilih\$1 | Mendukung Partisi | 
| --- | --- | --- | --- | --- | --- | 
| Aplikasi | Ya | Ya | Tidak | Ya | Tidak | 
| Perangkat | Ya | Ya | Tidak | Ya | Ya | 
| Grup | Ya | Ya | Ya | Ya | Ya | 
| Pengguna | Ya | Ya | Ya | Ya | Ya | 
| Jenis Pengguna | Tidak | Tidak | Tidak | Ya | Tidak | 

 **Contoh** 

```
okta_read = glueContext.create_dynamic_frame.from_options(
    connection_type="Okta",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "applications",
        "API_VERSION": "v1"
    }
```

 **Entitas Okta dan detail bidang** 

 Daftar entitas: 
+  Aplikasi: [https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/) 
+  Perangkat: [https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Device/](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Device/) 
+  Grup: [https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/) 
+  Pengguna: [https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/) 
+  Tipe Pengguna: [https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/) 

 **Mempartisi kueri** 

 Opsi percikan tambahan`PARTITION_FIELD`,, `LOWER_BOUND``UPPER_BOUND`, `NUM_PARTITIONS` dapat diberikan 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 percikan secara bersamaan. 
+  `PARTITION_FIELD`: nama bidang yang akan digunakan untuk mempartisi kueri. 
+  `LOWER_BOUND`: nilai batas bawah inklusif dari bidang partisi yang dipilih. 

   Untuk tanggal, kami menerima format tanggal Spark yang digunakan dalam kueri Spark SQL. Contoh nilai yang valid:`"2024-02-06"`. 
+  `UPPER_BOUND`: nilai batas atas eksklusif dari bidang partisi yang dipilih. 
+  `NUM_PARTITIONS`: jumlah partisi. 

 **Contoh** 

```
okta_read = glueContext.create_dynamic_frame.from_options(
    connection_type="okta",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "lastUpdated",
        "API_VERSION": "v1",
        "PARTITION_FIELD": "lastMembershipUpdated"
        "LOWER_BOUND": "2022-08-10T10:28:46.000Z"
        "UPPER_BOUND": "2024-08-10T10:28:46.000Z"
        "NUM_PARTITIONS": "10"
    }
```

# Referensi opsi koneksi Okta
<a name="okta-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Okta:
+  `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Nama Objek Anda di Okta. 
+  `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Versi Okta Rest API yang ingin Anda gunakan. Contoh: v1. 
+  `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. 

# Langkah pembuatan Akun Baru dan Aplikasi Pengembang Okta
<a name="okta-create-account"></a>

 Buat akun pengembang di Okta untuk mendapatkan akses ke Okta API. Akun pengembang Okta gratis memberikan akses ke sebagian besar fitur pengembang utama yang diperlukan untuk mengakses Okt API. 

**Untuk membuat akun pengembang di Okta**

1.  Navigasi ke [https://developer.okta.com/signup/](https://console.cloud.google.com). 

1.  Masukkan email informasi akun, nama depan, nama belakang, dan negara/wilayah. Pilih **saya bukan robot** dan kemudian, **Daftar**. 

1.  Email verifikasi dikirim ke id email terdaftar Anda. Anda akan menerima tautan di email Anda untuk mengaktifkan akun pengembang Okta Anda. Pilih **Aktifkan**. 

1.  Anda akan diarahkan ke halaman reset kata sandi. Masukkan kata sandi baru dua kali dan pilih **Reset kata sandi**. 

1.  Anda akan dialihkan ke dasbor akun pengembang Okta Anda. 

**Untuk membuat aplikasi klien dan kredensi OAuth 2.0**

1.  Di dasbor pengembang, pilih buat integrasi aplikasi.   
![\[Tangkapan layar menunjukkan halaman Buat ID OAuth klien dan bagian Pengalihan URIs Resmi. Di sini, tambahkan URIs dan pilih ADD URI jika diperlukan. Setelah selesai, pilih CREATE.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/create-client-app-step-1.png)

1.  Jendela **Create a new app Integration** akan muncul dan menyajikan berbagai metode login. Pilih **OIDC —OpenID** Connect. 

1.  Gulir ke bawah ke bagian Jenis aplikasi. Pilih sebagai **Aplikasi Web** dan pilih **Berikutnya**. 

1.  Pada layar “Integrasi Aplikasi Web Baru”, isi informasi berikut: 
   + Nama integrasi aplikasi - Masukkan nama aplikasi. 
   + Jenis hibah - Pilih **Kode Otorisasi** dan **Segarkan Token** dari daftar.
   + Pengalihan masuk URIs - Pilih **Tambah URI dan tambahkan**. `https://{regioncode}.console.aws.amazon.com/appflow/oauth` Misalnya, jika Anda menggunakan, `us-west-2 (Oregon)` Anda dapat menambahkan`https://us-east-1.console.aws.amazon.com/appflow/oauth`.
   + Akses Terkendali - Tetapkan aplikasi ke grup pengguna sesuai kebutuhan dan pilih **Simpan**.

1. ID Klien dan Rahasia Klien Anda dihasilkan.

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

Berikut ini adalah batasan untuk konektor Okta:
+  Untuk entitas 'Aplikasi' hanya satu filter yang dapat diterapkan. Jika lebih dari 1 filter diterapkan maka 400 Permintaan Buruk dikembalikan dengan ringkasan kesalahan —'Kriteria Pencarian Tidak Valid'. 
+  Order by dapat didukung hanya dengan permintaan pencarian. Sebagai contoh, ` http://dev-15940405.okta.com/api/v1/groups?search=type e.q. "OKTA_GROUP"&sortBy=lastUpdated&sortOrder=asc `. 

# Menghubungkan ke PayPal
<a name="connecting-to-data-paypal"></a>

PayPal adalah sistem pembayaran yang memfasilitasi transfer uang secara online antar pihak, seperti transfer antara pelanggan dan vendor online. Jika Anda PayPal pengguna, akun Anda berisi data tentang transaksi Anda, seperti pembayar, tanggal, dan status mereka. Anda dapat menggunakan AWS Glue untuk mentransfer data dari PayPal ke AWS layanan tertentu atau aplikasi lain yang didukung.

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

# AWS Glue dukungan untuk PayPal
<a name="paypal-support"></a>

AWS Glue mendukung PayPal sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi PayPal API yang didukung**  
Versi PayPal API berikut didukung:
+ v1

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="paypal-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 PayPal
<a name="paypal-configuring"></a>

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

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

Berikut ini adalah persyaratan minimum:
+ Anda memiliki PayPal akun dengan kredensi klien.
+  PayPal Akun Anda memiliki akses API dengan lisensi yang valid.

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

# Mengkonfigurasi koneksi PayPal
<a name="paypal-configuring-connections"></a>

PayPal mendukung jenis hibah KREDENSIAL KLIEN untuk. OAuth2
+ Jenis hibah ini dianggap OAuth 2.0 berkaki 2 karena digunakan oleh klien untuk mendapatkan token akses di luar konteks pengguna. AWS Glue dapat menggunakan ID klien dan rahasia klien untuk mengautentikasi PayPal APIs yang disediakan oleh layanan khusus yang Anda tentukan.
+ Setiap layanan kustom dimiliki oleh pengguna khusus API yang memiliki serangkaian peran dan izin yang mengizinkan layanan untuk melakukan tindakan tertentu. Token akses dikaitkan dengan satu layanan kustom.
+ Jenis hibah ini menghasilkan token akses yang berumur pendek, dan dapat diperbarui dengan memanggil `/v2/oauth2/token` titik akhir lagi.
+ [Untuk PayPal dokumentasi publik untuk OAuth 2.0 dengan kredensi klien, lihat Otentikasi.](https://developer.paypal.com/api/rest/authentication/)

Untuk mengkonfigurasi PayPal koneksi:

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

   1. 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 untuk koneksi Anda 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 PayPal.

   1. Berikan PayPal 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`.

## Mendapatkan kredensi OAuth 2.0
<a name="paypal-getting-oauth-20-credentials"></a>

Untuk memanggil API Istirahat, Anda harus menukar ID klien dan rahasia klien Anda dengan token akses. Untuk informasi selengkapnya, lihat [Memulai PayPal REST APIs](https://developer.paypal.com/api/rest/).

# Membaca dari PayPal entitas
<a name="paypal-reading-from-entities"></a>

**Prasyarat**

 PayPal Objek yang ingin Anda baca. Anda akan membutuhkan nama objek,`transaction`.

**Entitas yang didukung untuk sumber**:


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih \$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| transaksi | Ya | Ya | Tidak | Ya | Ya | 

**Contoh:**

```
paypal_read = glueContext.create_dynamic_frame.from_options(
    connection_type="paypal",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "transaction",
        "API_VERSION": "v1",
        "INSTANCE_URL": "https://api-m.paypal.com"
    }
```

**PayPal detail entitas dan bidang**:

Entitas dengan metadata statis:

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

## Mempartisi kueri
<a name="paypal-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 bidang Datetime, 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.

Bidang berikut didukung untuk partisi berdasarkan entitas:


| Nama entitas | Bidang partisi | Jenis data | 
| --- | --- | --- | 
| transaksi | transaction\$1initiation\$1date | DateTime | 

Contoh:

```
paypal_read = glueContext.create_dynamic_frame.from_options(
    connection_type="paypal",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "transaction",
        "API_VERSION": "v1",
        "PARTITION_FIELD": "transaction_initiation_date"
        "LOWER_BOUND": "2024-07-01T00:00:00.000Z"
        "UPPER_BOUND": "2024-07-02T00:00:00.000Z"
        "NUM_PARTITIONS": "10"
    }
```

# PayPal opsi koneksi
<a name="paypal-connection-options"></a>

Berikut ini adalah opsi koneksi untuk PayPal:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama objek Anda di PayPal.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. PayPal Rest versi API yang ingin Anda gunakan.
+ `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.

# Keterbatasan dan catatan untuk PayPal konektor
<a name="paypal-connector-limitations"></a>

Berikut ini adalah batasan atau catatan untuk PayPal konektor:
+ [Dokumentasi PayPal transaksi](https://developer.paypal.com/docs/api/transaction-search/v1/#search_get) menyebutkan bahwa dibutuhkan maksimal tiga jam agar transaksi yang dieksekusi muncul dalam daftar panggilan transaksi. Namun, telah diamati untuk mengambil lebih banyak waktu daripada itu tergantung [https://developer.paypal.com/docs/api/transaction-search/v1/#search_get:~:text=last_refreshed_datetime](https://developer.paypal.com/docs/api/transaction-search/v1/#search_get:~:text=last_refreshed_datetime). Di sini, `last_refreshed_datetime` adalah jumlah waktu sampai Anda memiliki data yang tersedia dari APIs.
+ Jika `last_refreshed_datetime` kurang dari yang diminta `end_date` maka, `end_date` menjadi sama dengan `last_refreshed_datetime` karena kita hanya memiliki data sampai titik itu.
+ `transaction_initiation_date`Kolom adalah filter wajib yang akan disediakan untuk `transaction` entitas dan rentang tanggal [maksimum yang didukung](https://developer.paypal.com/docs/transaction-search/#:~:text=The%20maximum%20supported%20date%20range%20is%2031%20days.) untuk bidang ini adalah 31 hari.
+ Saat Anda memanggil permintaan API `transaction` entitas dengan filter (parameter kueri) selain `transaction_initiation_date` bidang, diharapkan nilai [https://developer.paypal.com/docs/api/transaction-search/v1/#search_get:~:text=If%20you%20specify%20one%20or%20more%20optional%20query%20parameters%2C%20the%20ending_balance%20response%20field%20is%20empty.](https://developer.paypal.com/docs/api/transaction-search/v1/#search_get:~:text=If%20you%20specify%20one%20or%20more%20optional%20query%20parameters%2C%20the%20ending_balance%20response%20field%20is%20empty.)bidang tidak akan diambil dalam respons.

# 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`. 

# Menghubungkan ke Pipedrive
<a name="connecting-to-pipedrive"></a>

 Pipedrive adalah saluran penjualan CRM yang dirancang untuk membantu usaha kecil mengelola prospek, melacak aktivitas penjualan, dan menutup lebih banyak penawaran. Pipedrive memungkinkan tim penjualan di bisnis kecil untuk: Merampingkan proses dan mengkonsolidasikan data penjualan dalam satu alat penjualan CRM terpadu. Jika Anda pengguna Pipedrive, Anda dapat terhubung AWS Glue ke akun Pipedrive Anda. Kemudian, Anda dapat menggunakan Pipedrive sebagai sumber data dalam Pekerjaan ETL Anda. Jalankan pekerjaan ini untuk mentransfer data antara Pipedrive dan AWS layanan atau aplikasi lain yang didukung. 

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

# AWS Glue dukungan untuk Pipedrive
<a name="pipedrive-support"></a>

AWS Glue mendukung Pipedrive sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi Pipedrive API yang didukung**  
 v1. 

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="pipedrive-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": "*"
    }
  ]
}
```

------

Anda juga dapat menggunakan kebijakan IAM terkelola berikut untuk mengizinkan akses:
+  [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 Pipedrive
<a name="pipedrive-configuring"></a>

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

## Persyaratan minimum
<a name="pipedrive-configuring-min-requirements"></a>
+  Anda memiliki akun Pipedrive. 
+  Akun Pipedrive Anda diaktifkan untuk akses API. 

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

# Mengkonfigurasi koneksi Pipedrive
<a name="pipedrive-configuring-connections"></a>

 Pipedrive mendukung jenis hibah AUTHORIZATION\$1CODE untuk. OAuth2 
+  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 di mana mereka tidak perlu memberikan informasi OAuth terkait apa pun kecuali untuk instanceurl Pipedrive. AWS Glue Konsol akan mengarahkan pengguna ke Pipedrive di mana pengguna harus masuk dan mengizinkan AWS Glue izin yang diminta untuk mengakses instance PipeDrive mereka. 
+  Pengguna harus memilih untuk membuat aplikasi mereka sendiri yang terhubung di Pipedrive dan memberikan id klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue Konsol. Dalam skenario ini, mereka masih akan diarahkan ke Pipedrive untuk masuk dan mengotorisasi AWS Glue untuk mengakses sumber daya mereka. 
+  Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses aktif selama satu jam, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran. 
+  Untuk informasi selengkapnya, lihat [dokumentasi tentang membuat aplikasi yang terhubung untuk alur AUTHORIZATION\$1CODE OAuth ](https://developers.pipedrive.com/docs/api/v1/Oauth). 

Untuk mengkonfigurasi koneksi Pipedrive:

1.  Di AWS Secrets Manager, buat rahasia dengan detail berikut. Diperlukan untuk membuat rahasia untuk setiap koneksi di AWS Glue. 

   1.  Untuk aplikasi terhubung yang dikelola pelanggan - Rahasia harus berisi aplikasi Consumer Secret yang terhubung dengan USER\$1MANAGED\$1CLIENT\$1APPLICATION\$1CLIENT\$1SECRET sebagai kunci. 

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

   1.  Di bawah Koneksi Data, pilih **Buat koneksi**. 

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

   1. **Berikan InstanceURL PipeDrive Anda.**

   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.  Berikan Aplikasi Klien Terkelola Pengguna ClientId dari Pipedrive yang ingin Anda sambungkan. 

   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`. Pilih **Berikutnya**. 

1.  **Berikan **ConnectionName** dan pilih Next.** 

1.  Pada halaman berikutnya pilih **Buat koneksi**. Anda akan diminta untuk masuk ke Pipedrive. Berikan nama pengguna dan kata sandi Anda dan pilih **Masuk**. 

1.  Setelah Anda masuk, pilih **Lanjutkan ke Aplikasi**. Sekarang koneksi Anda siap digunakan. 

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

# Membaca dari entitas Pipedrive
<a name="pipedrive-reading-from-entities"></a>

 **Prasyarat** 
+  Objek Pipedrive yang ingin Anda baca. Lihat tabel entitas yang didukung di bawah ini untuk memeriksa entitas yang tersedia. 

 **Entitas yang didukung** 


| Entitas | Dapat disaring | Mendukung Batas | Mendukung Order By | Mendukung Pilih \$1 | Mendukung Partisi | 
| --- | --- | --- | --- | --- | --- | 
| Aktivitas | Ya | Ya | Tidak | Ya | Ya | 
| Jenis Aktivitas | Tidak | Tidak | Tidak | Ya | Tidak | 
| Log Panggilan | Tidak | Tidak | Tidak | Ya | Tidak | 
| Mata Uang | Ya | Ya | Tidak | Ya | Tidak | 
| Penawaran | Ya | Ya | Ya | Ya | Ya | 
| Prospek | Ya | Ya | Ya | Ya | Tidak | 
| Sumber Timbal | Tidak | Ya | Tidak | Ya | Tidak | 
| Label Timbal | Tidak | Tidak | Tidak | Tidak | Tidak | 
| Catatan | Ya | Ya | Ya | Ya | Ya | 
| Organisasi | Ya | Ya | Tidak | Ya | Ya | 
| Set Izin | Ya | Tidak | Tidak | Ya | Tidak | 
| Orang | Ya | Ya | Ya | Ya | Ya | 
| Alur | Tidak | Ya | Tidak | Ya | Tidak | 
| Produk | Ya | Ya | Tidak | Ya | Ya | 
| Peran | Tidak | Ya | Tidak | Ya | Tidak | 
| Tahapan | Ya | Ya | Tidak | Ya | Tidak | 
| Pengguna | Tidak | Tidak | Tidak | Ya | Tidak | 

 **Contoh** 

```
pipedrive_read= glueContext.create_dynamic_frame.from_options(
    connection_type="PIPEDRIVE",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "activites",
        "API_VERSION": "v1"
    }
```

 **Detail entitas dan bidang Pipedrive** 

 Daftar entitas: 
+  Kegiatan: [https://developers.pipedrive.com/docs/api/v1/Activities](https://developers.pipedrive.com/docs/api/v1/Activities) 
+  Jenis Kegiatan: [https://developers.pipedrive.com/docs/api/v1/ActivityTypes](https://developers.pipedrive.com/docs/api/v1/ActivityTypes) 
+  Log Panggilan: [https://developers.pipedrive.com/docs/api/v1/CallLogs](https://developers.pipedrive.com/docs/api/v1/CallLogs) 
+  Mata uang: [https://developers.pipedrive.com/docs/api/v1/Currencies](https://developers.pipedrive.com/docs/api/v1/Currencies) 
+  Penawaran: [https://developers.pipedrive.com/docs/api/v1/Deals](https://developers.pipedrive.com/docs/api/v1/Deals) 
+  Memimpin: [https://developers.pipedrive.com/docs/api/v1/Leads](https://developers.pipedrive.com/docs/api/v1/Leads) 
+  Sumber Utama: [https://developers.pipedrive.com/docs/api/v1/LeadSources](https://developers.pipedrive.com/docs/api/v1/LeadSources) 
+  Label Timbal: [https://developers.pipedrive.com/docs/api/v1/LeadLabels](https://developers.pipedrive.com/docs/api/v1/LeadLabels) 
+  Catatan: [https://developers.pipedrive.com/docs/api/v1/Notes](https://developers.pipedrive.com/docs/api/v1/Notes) 
+  Organizations: [https://developers.pipedrive.com/docs/api/v1/Organizations](https://developers.pipedrive.com/docs/api/v1/Organizations) 
+  Set Izin: [https://developers.pipedrive.com/docs/api/v1/PermissionSets](https://developers.pipedrive.com/docs/api/v1/PermissionSets) 
+  Orang: [https://developers.pipedrive.com/docs/api/v1/Persons](https://developers.pipedrive.com/docs/api/v1/Persons) 
+  Pipa: [https://developers.pipedrive.com/docs/api/v1/Pipelines](https://developers.pipedrive.com/docs/api/v1/Pipelines) 
+  Produk: [https://developers.pipedrive.com/docs/api/v1/Products](https://developers.pipedrive.com/docs/api/v1/Products) 
+  Peran: [https://developers.pipedrive.com/docs/api/v1/Roles](https://developers.pipedrive.com/docs/api/v1/Roles) 
+  Tahapan: [https://developers.pipedrive.com/docs/api/v1/Stages](https://developers.pipedrive.com/docs/api/v1/Stages) 
+  Pengguna: [https://developers.pipedrive.com/docs/api/v1/Users](https://developers.pipedrive.com/docs/api/v1/Users) 


| Entitas | Tipe data | Operator yang Didukung | 
| --- | --- | --- | 
| Aktivitas, Penawaran, Catatan, Organisasi, Orang dan Produk. | Date | '=' | 
|  | Bilangan Bulat | '=' | 
|  | String | '=' | 
|  | Boolean | '=' | 

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

 Di Pipedrive, hanya satu bidang (due\$1date) dari entitas Aktivitas yang mendukung partisi berbasis lapangan. Ini adalah bidang Tanggal. 

 Opsi percikan tambahan`PARTITION_FIELD`,, `LOWER_BOUND``UPPER_BOUND`, `NUM_PARTITIONS` dapat diberikan 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 percikan secara bersamaan. 
+  `PARTITION_FIELD`: nama bidang yang akan digunakan untuk mempartisi kueri. 
+  `LOWER_BOUND`: nilai batas bawah inklusif dari bidang partisi yang dipilih. 

   Untuk tanggal, kami menerima format tanggal Spark yang digunakan dalam kueri Spark SQL. Contoh nilai yang valid:`"2024-02-06"`. 
+  `UPPER_BOUND`: nilai batas atas eksklusif dari bidang partisi yang dipilih. 
+  `NUM_PARTITIONS`: jumlah partisi. 

 **Contoh** 

```
pipedrive_read = glueContext.create_dynamic_frame.from_options(
    connection_type="PIPEDRIVE",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "activites",
        "API_VERSION": "v1",
        "PARTITION_FIELD": "due_date"
        "LOWER_BOUND": "2023-09-07T02:03:00.000Z"
        "UPPER_BOUND": "2024-05-07T02:03:00.000Z"
        "NUM_PARTITIONS": "10"
    }
```

# Referensi opsi koneksi Pipedrive
<a name="pipedrive-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Pipedrive:
+  `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Nama Objek Anda di Pipedrive. 
+  `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Versi Pipedrive Rest API yang ingin Anda gunakan. Contoh: v1. 
+  `INSTANCE_URL`(String) - (Diperlukan) URL dari contoh di mana pengguna ingin menjalankan operasi. Contoh: v1. 
+  `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="pipedrive-connector-limitations"></a>

Berikut ini adalah batasan untuk konektor Pipedrive:
+ Pipedrive mendukung partisi berbasis bidang hanya untuk satu entitas (Aktivitas).
+ Pipedrive mendukung partisi berbasis rekaman untuk entitas Aktivitas, Penawaran, Catatan, Orang, Organizations, dan Produk.
+ Di entitas Penawaran, bidang status sebagai filter akan mengembalikan semua catatan jika nilai filter nilai tidak valid digunakan.
+ Di entitas Deals, pemesanan dengan beberapa bidang tidak didukung.
+ Untuk mendapatkan data kinerja, kami menggunakan AWS akun lokal. Namun, karena keterbatasan menyegarkan token akses secara lokal, AWS Glue pekerjaan untuk memproses 1 GB data gagal. Akibatnya, kami telah mengoptimalkan uji kinerja dengan 179 MB data, dan hasil di atas didasarkan pada pengoptimalan ini. Namun demikian, kami telah mengamati bahwa dengan meningkatnya jumlah partisi, titik akhir SaaS membutuhkan lebih banyak waktu dibandingkan dengan satu partisi. Kami telah berkonsultasi dengan tim dukungan Pipedrive mengenai perilaku ini, dan mereka memberi tahu kami bahwa Pipedrive diam-diam membatasi permintaan dan menunda respons. Oleh karena itu, saat menjalankan AWS Glue pekerjaan dengan kumpulan data besar atau memanggil titik akhir API yang sama beberapa kali, ini dapat mengakibatkan masalah batas waktu karena implementasi Pipedrive API. Namun, waktu respons konektor dan shim menurun seperti yang diharapkan dengan peningkatan jumlah partisi.

# Menghubungkan ke Productboard
<a name="connecting-to-productboard"></a>

Productboard adalah sistem manajemen produk yang membantu tim produk mendapatkan produk yang tepat ke pasar, lebih cepat. Lebih dari 3.000 perusahaan modern yang dipimpin oleh produk, seperti Zendesk, UiPath dan Microsoft, menggunakan Productboard untuk memahami apa yang benar-benar dibutuhkan pengguna, memprioritaskan apa yang akan dibangun selanjutnya, dan menggalang semua orang di sekitar peta jalan mereka.

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

# AWS Glue dukungan untuk Productboard
<a name="productboard-support"></a>

AWS Glue mendukung Productboard sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi API Productboard yang didukung**  
 v1 

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="productboard-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 Productboard
<a name="productboard-configuring"></a>

Sebelum Anda dapat menggunakan AWS Glue untuk mentransfer dari Productboard, Anda harus memenuhi persyaratan berikut:

## Persyaratan minimum
<a name="productboard-configuring-min-requirements"></a>
+ Anda memiliki akun Productboard dengan email dan kata sandi. Untuk informasi selengkapnya tentang membuat akun, lihat [Membuat akun Productboard](productboard-create-account.md). 
+  Anda harus memiliki AWS Akun yang dibuat dengan akses layanan ke AWS Glue. 
+ Anda memiliki detail otentikasi akun Productboard - baik Token JWT jika seseorang ingin menggunakan Custom Auth atau Client ID dan rahasia jika ingin menggunakan .0. OAuth2
+ Jika pengguna ingin menggunakan`OAuth2.0`, [Daftarkan aplikasi Anda dengan Productboard](https://app.productboard.com/oauth2/applications/new) dan atur aplikasi dengan mengikuti petunjuk di, [Cara mengintegrasikan dengan Productboard via OAuth2 ](https://developer.productboard.com/docs/how-to-integrate-with-productboard-via-oauth2-developer-documentation) - dokumentasi pengembang.

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

# Mengkonfigurasi koneksi Productboard
<a name="productboard-configuring-connections"></a>

 

Productboard mendukung otentikasi khusus dan. `OAuth2.0` Untuk `OAuth2.0` Productboard mendukung jenis `AUTHORIZATION_CODE` hibah.
+ 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 di mana mereka tidak perlu memberikan informasi `OAuth` terkait apa pun kecuali ID Klien Productboard dan Rahasia Klien mereka. AWS Glue Konsol akan mengarahkan pengguna ke Productboard tempat pengguna harus masuk dan mengizinkan izin yang diminta untuk mengakses AWS Glue instance Productboard mereka.
+ Pengguna masih dapat memilih untuk membuat aplikasi mereka sendiri yang terhubung di Productboard dan memberikan ID Klien dan Rahasia Klien mereka sendiri saat membuat koneksi melalui AWS Glue Konsol. Dalam skenario ini, mereka masih akan diarahkan ke Productboard untuk login dan otorisasi AWS Glue untuk mengakses sumber daya mereka.
+ Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses berumur pendek, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran.
+ Untuk dokumentasi Productboard publik tentang cara membuat aplikasi yang terhubung untuk `AUTHORIZATION_CODE OAuth` alur, lihat [Cara mengintegrasikan dengan Productboard melalui OAuth2 ](https://developer.productboard.com/docs/how-to-integrate-with-productboard-via-oauth2-developer-documentation) - dokumentasi pengembang. 

Untuk mengkonfigurasi koneksi Productboard:

1. Di AWS Secrets Manager, buat rahasia dengan detail berikut: 
   + Untuk `OAuth` autentikasi — Untuk aplikasi terhubung yang dikelola pelanggan: Rahasia harus berisi aplikasi yang terhubung Rahasia Konsumen dengan kunci `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` sebagai. 
   + Untuk `Custom auth` — Untuk aplikasi terhubung yang dikelola pelanggan: Rahasia harus berisi aplikasi yang terhubung `JWT token` dengan `access_token` sebagai kunci. 
**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 Productboard. 

   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 Jenis Otentikasi untuk terhubung ke sumber data:
      + Untuk `OAuth` autentikasi — Menyediakan`Token URL`, dan `User Managed Client Application ClientId` dari aplikasi Productboard.

   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 Productboard
<a name="productboard-reading-from-entities"></a>

 **Prasyarat** 

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

 **Entitas yang didukung** 
+ [Laporan penyalahgunaan](https://productboard.com/developer/marketing/api/campaign-abuse/)
+ [Otomatisasi](https://productboard.com/developer/marketing/api/automation/list-automations/)
+ [Kampanye](https://productboard.com/developer/marketing/api/campaigns/list-campaigns/)
+ [Detail klik-](https://productboard.com/developer/marketing/api/link-clickers/)
+ [Daftar](https://productboard.com/developer/marketing/api/link-clickers/)
+ [Anggota](https://productboard.com/developer/marketing/api/list-segment-members/)
+ [Detail terbuka](https://productboard.com/developer/marketing/api/list-members/)
+ [Segmen](https://productboard.com/developer/marketing/api/list-segments/)
+ [Toko](https://productboard.com/developer/marketing/api/ecommerce-stores/list-stores/)
+ [Berhenti berlangganan](https://productboard.com/developer/marketing/api/unsub-reports/)


| Entitas | Dapat disaring | Mendukung Batas | Mendukung Order By | Mendukung Pilih\$1 | Mendukung Partisi | 
| --- | --- | --- | --- | --- | --- | 
|  Fitur  | Ya | Ya | Tidak | Ya | Ya | 
|  Komponen-komponen  | Tidak | Ya | Tidak | Ya | Tidak | 
|  Produk  | Tidak | Ya | Tidak | Ya | Tidak | 
|  Status Fitur  | Tidak | Ya | Tidak | Ya | Ya | 
|  Definisi Bidang Kustom  | Tidak | Ya | Tidak | Ya | Tidak | 
|  Nilai Bidang Kustom  | Ya | Ya | Tidak | Ya | Tidak | 

 **Contoh** 

```
Productboard_read = glueContext.create_dynamic_frame.from_options(
    connection_type="Productboard",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "feature",
        "API_VERSION": "1"
    }
```

 **Entitas papan produk dan detail bidang** 
+ [Fitur](https://developer.productboard.com/#tag/features)
+ [Komponen](https://developer.productboard.com/#tag/components)
+ [Status fitur](https://developer.productboard.com/#tag/statuses)
+ [Produk](https://developer.productboard.com/#tag/products)
+ [Definisi bidang khusus](https://developer.productboard.com/#tag/hierarchyEntitiesCustomFields)
+ [Nilai bidang kustom](https://developer.productboard.com/#tag/hierarchyEntitiesCustomFieldsValues)

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

Berikut ini adalah opsi koneksi untuk Productboard:
+  `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Nama Objek Anda di Productboard. 
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Productboard 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.

# Membuat akun Productboard
<a name="productboard-create-account"></a>

1. Arahkan ke [halaman pendaftaran Productboard](https://app.productboard.com/), masukkan ID email dan kata sandi Anda, lalu pilih **Masuk saya**.

1. Di bidang **Nama Akun**, masukkan nama akun Productboard Anda, lalu pilih kotak **centang Saya setuju dengan Kebijakan Privasi**.

1. Pada halaman **Sekarang buat ruang kerja Anda**, di bidang **URL Workspace, masukkan URL** untuk ruang kerja baru Anda. Kemudian pilih **Lanjutkan** untuk melanjutkan ke halaman berikutnya dan berikan detail yang tersisa.

   Ini membuat akun uji coba Anda. Akun uji coba gratis selama 15 hari. Setelah masa uji coba berakhir, Anda dapat membeli paket berbayar. Catat alamat email, kata sandi, dan URL ruang kerja Anda. Anda akan memerlukan informasi ini untuk mengakses akun Anda di masa depan.”

**Mendaftarkan `OAuth2.0` aplikasi**

1. Arahkan ke [halaman login Productboard](https://login.productboard.com/?locale=en), masukkan ID email dan kata sandi Anda, dan pilih **Masuk**. 

1. Pilih ikon **Pengguna** di sudut kanan atas, lalu pilih **Akun dan penagihan** dari menu tarik-turun.

1. Pilih **Ekstra** dan pilih **Aplikasi terdaftar** dari menu tarik-turun.

1. Cari dan pilih **Daftarkan Aplikasi**.

1. Masukkan detail berikut:
   + **Nama aplikasi** — Nama aplikasi. 
   + **Perusahaan/Organisasi** — Nama Perusahaan atau Organisasi Anda.
   + **Situs web aplikasi** — Situs web aplikasi.
   + **URI Pengalihan** — Pola URI Pengalihan adalah jalur URI (atau daftar jalur yang dipisahkan koma) yang dapat dialihkan oleh Productboard (jika diminta) saat alur masuk selesai. Sebagai contoh, `https://ap-southeast-2\\.console\\.aws\\.amazon\\.com`.

1. Pilih **Buat**. 

1. **Client ID** dan **Client Secret** sekarang akan terlihat. Salin dan simpan di lokasi yang aman. Kemudian, pilih **Selesai**. 
**catatan**  
ID Klien dan string Rahasia Klien Anda adalah kredensil yang digunakan untuk membuat koneksi dengan konektor ini saat menggunakan atau. AppFlow AWS Glue

**Mengambil CustomAuth Kredensial**

1. Arahkan ke [halaman login Productboard](https://app.productboard.com/), masukkan ID email dan kata sandi Anda, dan pilih **Masuk saya**.

   Anda akan diarahkan ke halaman rumah.

1. Di halaman beranda, navigasikan ke **Pengaturan Ruang Kerja** > **Integrasi** > **Publik APIs** > Token **Akses**.
**catatan**  
Jika APIs bagian **Publik** tidak terlihat, akun Anda mungkin ada di paket Essentials. Akses ke token API membutuhkan setidaknya paket Pro. Fitur dan nama paket dapat berubah sewaktu-waktu. Untuk informasi selengkapnya tentang paket, lihat Harga [Productboard](https://www.productboard.com/pricing/).

1. Pilih **\$1** untuk menghasilkan token baru, dan pastikan untuk menyimpannya dengan aman untuk referensi di masa mendatang.

**Membuat `OAuth2.0` kredensil**

Untuk menggunakan `OAuth2.0` otentikasi dengan konektor Productboard, Anda perlu mendaftarkan aplikasi Anda di platform Productboard dan menghasilkan dan. `Client ID` `Client Secret`

1. Arahkan ke [halaman login Productboard](https://app.productboard.com/), masukkan ID email dan kata sandi Anda, dan pilih **Masuk saya**.

1. Untuk mendaftarkan OAuth2 aplikasi baru dengan akun Productboard Anda, navigasikan ke halaman [Producboard](to register new OAuth2 application with your Productboard account).

1. Lengkapi bidang yang diperlukan dan pilih cakupan yang diperlukan untuk setiap entitas yang ingin Anda akses. 
**catatan**  
Anda telah memilih empat cakupan berikut, yang diperlukan untuk enam entitas yang didukung.

1. **URL pengalihan** harus memiliki format berikut: `https://ap-southeast-2\\.console\\.aws\\.amazon\\.com`
**catatan**  
Pengalihan Appflow dapat berubah URLs sewaktu-waktu. Setelah tersedia, perbarui pengalihan URLs untuk AWS Glue platform.

1. **Client ID** dan **Client Secret** sekarang akan terlihat. Salin dan simpan di lokasi yang aman. 

1. Anda dapat mengatur dan memverifikasi `OAuth2` dengan mengikuti langkah-langkah di [Cara Mengintegrasikan dengan Productboard melalui dokumentasi OAuth2 pengembang](https://developer.productboard.com/docs/how-to-integrate-with-productboard-via-oauth2-developer-documentation).

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

Berikut ini adalah batasan untuk konektor Productboard:
+ Productboard tidak mendukung partisi berbasis bidang atau berbasis rekaman.

# Menghubungkan ke QuickBooks
<a name="connecting-to-data-quickbooks"></a>

QuickBooks adalah aplikasi akuntansi terkemuka untuk usaha kecil dan menengah. QuickBooks Aplikasi akuntansi berasal dari tahun 1980-an sebagai salah satu produk pertama oleh Intuit, dan karenanya awalnya perangkat lunak desktop. Saat ini, QuickBooks menawarkan beberapa aplikasi akuntansi dan keuangan bisnis sebagai perangkat lunak yang dapat diinstal dan perangkat lunak SaaS berbasis cloud. Sebagai QuickBooks pengguna, Anda dapat terhubung AWS Glue ke QuickBooks akun Anda. Kemudian, Anda dapat menggunakan QuickBooks sebagai sumber data dalam pekerjaan ETL Anda. Jalankan pekerjaan ini untuk mentransfer data antara QuickBooks dan AWS layanan atau aplikasi lain yang didukung.

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

# AWS Glue dukungan untuk QuickBooks
<a name="quickbooks-support"></a>

AWS Glue mendukung QuickBooks sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

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

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="quickbooks-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 QuickBooks
<a name="quickbooks-configuring"></a>

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

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

Berikut ini adalah persyaratan minimum:
+ Anda memiliki QuickBooks akun.
+  QuickBooks Akun Anda diaktifkan untuk akses API.

Untuk informasi selengkapnya, lihat topik berikut dalam QuickBooks dokumentasi:
+ [Buat Akun Intuit](https://quickbooks.intuit.com/learn-support/en-us/help-article/account-management/create-intuit-user-account/L62kSFEOM_US_en_US)
+ [Membuat dan mulai mengembangkan aplikasi Anda](https://developer.intuit.com/app/developer/qbo/docs/get-started/start-developing-your-app)

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

# Mengkonfigurasi koneksi QuickBooks
<a name="quickbooks-configuring-connections"></a>

QuickBooks mendukung jenis hibah AUTHORIZATION\$1CODE untuk. OAuth2 Jenis hibah menentukan cara AWS Glue berkomunikasi dengan QuickBooks meminta akses ke data Anda.
+ 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 masih dapat memilih untuk membuat aplikasi terhubung mereka sendiri QuickBooks dan memberikan ID klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue konsol. Dalam skenario ini, mereka masih akan diarahkan ke login dan memberi wewenang QuickBooks AWS Glue untuk mengakses sumber daya mereka.
+ Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses berumur pendek, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran.
+ Untuk QuickBooks dokumentasi publik tentang cara membuat aplikasi yang terhubung untuk OAuth alur Kode Otorisasi, lihat [Menyiapkan OAuth 2.0](https://developer.intuit.com/app/developer/qbo/docs/develop/authentication-and-authorization/oauth-2.0).

Untuk mengkonfigurasi QuickBooks koneksi:

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 QuickBooks.

   1. Berikan URL instance dan ID perusahaan dari QuickBooks instance 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 QuickBooks entitas
<a name="quickbooks-reading-from-entities"></a>

**Prasyarat**

 QuickBooks Objek yang ingin Anda baca.

**Entitas yang didukung untuk sumber**:


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih\$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| Akun | Ya | Ya | Ya | Ya | Ya | 
| Tagihan | Ya | Ya | Ya | Ya | Ya | 
| Info Perusahaan | Tidak | Tidak | Tidak | Ya | Tidak | 
| Pelanggan | Ya | Ya | Ya | Ya | Ya | 
| Karyawan | Ya | Ya | Ya | Ya | Ya | 
| Estimasi | Ya | Ya | Ya | Ya | Ya | 
| Faktur | Ya | Ya | Ya | Ya | Ya | 
| Item | Ya | Ya | Ya | Ya | Ya | 
| Pembayaran | Ya | Ya | Ya | Ya | Ya | 
| Preferensi | Tidak | Tidak | Tidak | Ya | Tidak | 
| Untung dan Rugi | Ya | Tidak | Tidak | Ya | Tidak | 
| Agen Pajak | Ya | Ya | Ya | Ya | Ya | 
| Vendor | Ya | Ya | Ya | Ya | Ya | 

**Contoh:**

```
QuickBooks_read = glueContext.create_dynamic_frame.from_options(
    connection_type="quickbooks",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "Account",
        "API_VERSION": "v3"
    }
```

**QuickBooks detail entitas dan bidang**:

Untuk informasi selengkapnya tentang entitas dan detail bidang, lihat:
+ [Akun](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/account)
+ [Tagihan](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/bill)
+ [CompanyInfo](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/companyinfo)
+ [Pelanggan](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/customer)
+ [Karyawan](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/employee)
+ [Estimasi](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/estimate)
+ [Faktur](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/invoice)
+ [Barang](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/item)
+ [Pembayaran](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/payment)
+ [Preferensi](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/preferences)
+ [ProfitAndLoss](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/profitandloss)
+ [TaxAgency](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/taxagency)
+ [Vendor](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/vendor)

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

**Partisi berbasis lapangan**:

Di QuickBooks, bidang Integer dan DateTime tipe data mendukung partisi berbasis bidang.

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 bidang Datetime, kami menerima format stempel waktu Spark yang digunakan dalam kueri Spark SQL.

  Contoh nilai valid:

  ```
  "2024-05-07T02:03:00.00Z"
  ```
+ `UPPER_BOUND`: nilai batas atas **eksklusif** dari bidang partisi yang dipilih.
+ `NUM_PARTITIONS`: jumlah partisi.

Contoh:

```
QuickBooks_read = glueContext.create_dynamic_frame.from_options(
    connection_type="quickbooks",
    connection_options={
        "connectionName": "connectionName",
        "REALMID": "12345678690123456789",
        "ENTITY_NAME": "Account",
        "API_VERSION": "v3",
        "PARTITION_FIELD": "MetaData_CreateTime"
        "LOWER_BOUND": "2023-09-07T02:03:00.000Z"
        "UPPER_BOUND": "2024-05-07T02:03:00.000Z"
        "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:

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

# QuickBooks opsi koneksi
<a name="quickbooks-connection-options"></a>

Berikut ini adalah opsi koneksi untuk QuickBooks:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama objek Anda di QuickBooks.
+ `INSTANCE_URL`(String) - (Diperlukan) URL QuickBooks contoh yang valid.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. QuickBooks Rest versi API yang ingin Anda gunakan.
+ `REALM_ID`(String) - ID yang mengidentifikasi perusahaan QuickBooks 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.
+ `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.

# Keterbatasan dan catatan untuk QuickBooks konektor
<a name="quickbooks-connector-limitations"></a>

Berikut ini adalah batasan atau catatan untuk QuickBooks konektor:
+ Di `taxAgency` API, urutan berdasarkan pemfilteran tidak berfungsi seperti yang diharapkan.

# Menghubungkan ke REST API
<a name="connecting-to-data-rest-api"></a>

 AWS Glue memungkinkan Anda untuk mengkonfigurasi AWS Glue ConnectionType yang dapat digunakan untuk terhubung AWS Glue ke sumber data berbasis REST API. Ini dapat digunakan sebagai sumber data dalam Pekerjaan ETL Anda. Anda dapat menjalankan pekerjaan ini untuk mentransfer data antara sumber data berbasis REST API dan AWS layanan atau aplikasi lain yang didukung. 

**Topics**
+ [AWS Glue dukungan untuk REST API](rest-api-support.md)
+ [Kebijakan yang berisi operasi API untuk mendaftarkan jenis dan creating/using koneksi koneksi](rest-api-configuring-iam-permissions.md)
+ [Mengonfigurasi REST API ConnectionType](rest-api-configuring.md)
+ [Mengonfigurasi koneksi REST API](rest-api-configuring-connections.md)
+ [Tutorial: Membuat REST API ConnectionType dan Koneksi](rest-api-example.md)
+ [Batasan](rest-api-limitations.md)

# AWS Glue dukungan untuk REST API
<a name="rest-api-support"></a>

AWS Glue mendukung REST API sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

# Kebijakan yang berisi operasi API untuk mendaftarkan jenis dan creating/using koneksi koneksi
<a name="rest-api-configuring-iam-permissions"></a>

 Contoh kebijakan IAM berikut menjelaskan izin yang diperlukan untuk mendaftar, membuat, mengelola, dan menggunakan koneksi REST API dalam pekerjaan AWS Glue ETL. Jika Anda membuat peran baru, buat kebijakan yang berisi hal-hal berikut: 

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

Anda juga dapat menggunakan kebijakan IAM berikut untuk mengizinkan akses:
+ [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.

Jika menyediakan Opsi Jaringan saat membuat koneksi REST API, tindakan berikut juga harus disertakan dalam peran IAM:

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

# Mengonfigurasi REST API ConnectionType
<a name="rest-api-configuring"></a>

 Sebelum Anda dapat menggunakan AWS Glue untuk mentransfer data dari sumber data berbasis REST API, Anda harus memenuhi persyaratan ini: 

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

Berikut ini adalah persyaratan minimum:
+  Anda telah mengonfigurasi dan mendaftarkan jenis koneksi AWS Glue REST API. Lihat [Menghubungkan ke ISTIRAHAT APIs](https://docs.aws.amazon.com/glue/latest/dg/rest-api-connections.html). 
+  Jika menggunakan OAuth2 Client Client Client, Authorization Code atau JWT, konfigurasikan aplikasi klien yang sesuai. 

 Jika Anda memenuhi persyaratan ini, Anda siap untuk terhubung AWS Glue ke sumber data berbasis REST API Anda. Biasanya, tidak ada konfigurasi lebih lanjut yang diperlukan di sisi REST API. 

# Mengonfigurasi koneksi REST API
<a name="rest-api-configuring-connections"></a>

 Untuk mengonfigurasi konektor AWS Glue REST API, Anda perlu mengonfigurasi jenis AWS Glue koneksi. Jenis koneksi ini berisi rincian tentang properti bagaimana sumber data REST beroperasi dan menafsirkan hal-hal seperti otentikasi, permintaan, tanggapan, pagination, validasi, dan entitas/metadata. Untuk daftar lengkap properti yang diperlukan untuk jenis koneksi AWS Glue REST, lihat [ RegisterConnectionType](https://docs.aws.amazon.com/glue/latest/webapi/API_DescribeConnectionType.html)API dan langkah-langkah untuk [Menyambung ke REST APIs](https://docs.aws.amazon.com/glue/latest/dg/rest-api-connections.html). 

 Saat membuat konektor REST API, kebijakan berikut diperlukan untuk mengizinkan tindakan yang relevan: 

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

# Tutorial: Membuat REST API ConnectionType dan Koneksi
<a name="rest-api-example"></a>

**Menghubungkan ke Foo REST API**

 Kami akan membuat AWS Glue REST API ConnectionType dan AWS Glue koneksi yang sesuai untuk Foo REST API. API ini memiliki properti berikut (yang dapat diambil dari dokumentasi REST API). 
+  **URL Contoh**: https://foo.cloud.com/rest/ v1. 
+  **Jenis otentikasi**: OAuth2 (Kredensial Klien). 
+  **Metode REST**: GET. 
+  **Jenis pagination**: Offset dengan properti “limit” dan “offset” ditempatkan dalam parameter permintaan permintaan. 
+ **Entitas yang didukung**:
  +  **Bilah**: jalur relatif [/bar.json]. 
  +  **Baz**: jalur relatif [/baz.json]. 

 Setelah semua detail diperoleh, kita dapat mulai membuat AWS Glue koneksi ke Foo REST API. 

**Untuk membuat koneksi REST API**:

1.  Buat tipe koneksi REST API AWS Glue dengan memanggil RegisterConnectionType API menggunakan AWS API, CLI, atau SDK. Ini akan menciptakan ConnectionType sumber daya baru di AWS Glue. 

   ```
   {
       "ConnectionType": "REST-FOO-CONNECTOR",
       "IntegrationType": "REST",
       "Description": "AWS Glue Connection Type for the FOO REST API",
       "ConnectionProperties": {
           "Url": {
               "Name": "Url",
               "Required": true,
               "DefaultValue": "https://foo.cloud.com/rest/v1",
               "PropertyType": "USER_INPUT"
           }
       },
       "ConnectorAuthenticationConfiguration": {
           "AuthenticationTypes": ["OAUTH2"],
           "OAuth2Properties": {
               "OAuth2GrantType": "CLIENT_CREDENTIALS"
           }
       },
       "RestConfiguration": {
           "GlobalSourceConfiguration": {
           "RequestMethod": "GET",
           "ResponseConfiguration": {
               "ResultPath": "$.result",
               "ErrorPath": "$.error.message"
           },
           "PaginationConfiguration": {
               "OffsetConfiguration": {
                   "OffsetParameter": {
                       "Key": "offset",
                       "PropertyLocation": "QUERY_PARAM"
                   },
                   "LimitParameter": {
                       "Key": "limit",
                       "PropertyLocation": "QUERY_PARAM",
                       "DefaultValue": "50"
                   }
               }
           }
       },
       "ValidationEndpointConfiguration": {
           "RequestMethod": "GET",
           "RequestPath": "/bar.json?offset=1&limit=10"
       },
       "EntityConfigurations": {
           "bar": {
               "SourceConfiguration": {
                   "RequestMethod": "GET",
                   "RequestPath": "/bar.json",
                   "ResponseConfiguration": {
                       "ResultPath": "$.result",
                       "ErrorPath": "$.error.message"
                   }
               },
               "Schema": {
                   "name": {
                       "Name": "name",
                       "FieldDataType": "STRING"
                   },
                   "description": {
                       "Name": "description",
                       "FieldDataType": "STRING"
                   },
                   "id": {
                       "Name": "id",
                       "FieldDataType": "STRING"
                   },
                   "status": {
                       "Name": "status",
                       "FieldDataType": "STRING"
                   }
               }
           }
       }
   }
   }
   ```

1.  Di AWS Secrets Manager, buat rahasia. Rahasia harus berisi aplikasi Consumer Secret yang terhubung dengan `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` sebagai kunci. 
**catatan**  
Anda harus membuat rahasia per koneksi di AWS Glue

1.  Buat AWS Glue koneksi dengan memanggil CreateConnection API menggunakan AWS API, CLI, atau SDK. 

   1.  Referensikan nama jenis koneksi REST dari Langkah 1 sebagai “ConnectionType”. 

   1.  Berikan InstanceUrl dan ConnectionProperties yang lainnya yang ditentukan selama proses AWS Glue ConnectionType pendaftaran. 

   1.  Pilih dari Jenis Otentikasi yang dikonfigurasi. REST API Foo menggunakan OAuth2 dengan tipe ClientCredentials hibah. 

   1.  Berikan **SecretArn**dan lainnya **AuthenticationProperties**yang dikonfigurasi. Sebagai contoh, kita telah mengkonfigurasi `OAUTH2` sebagai AuthenticationType sehingga kita akan mengatur “OAuth2Properties” di CreateConnectionInput. Ini akan membutuhkan properti seperti “OAuth2GrantType”, “TokenUrl”, dan “OAuth2ClientApplication”. 

1.  Buat CreateConnection permintaan yang akan membuat AWS Glue koneksi. 

   ```
   {
       "ConnectionInput": {
           "Name": "ConnectionFooREST",
           "ConnectionType": "REST-FOO-CONNECTOR",
           "ConnectionProperties": {},
           "ValidateCredentials": true,
           "AuthenticationConfiguration": {
               "AuthenticationType": "OAUTH2",
               "SecretArn": "arn:aws:secretsmanager:<region>:<accountId>:secret:<secretId>",
               "OAuth2Properties": {
                   "OAuth2GrantType": "CLIENT_CREDENTIALS",
                   "TokenUrl": "https://foo.cloud.com/oauth/token",
                   "OAuth2ClientApplication": {
                       "UserManagedClientApplicationClientId": "your-managed-client-id"
                   }
               }
           }
       }
   }
   ```

# Batasan
<a name="rest-api-limitations"></a>

Berikut ini adalah batasan untuk konektor REST API
+  Konektor REST API hanya tersedia melalui AWS API, CLI, atau SDK. Anda tidak dapat mengkonfigurasi konektor REST melalui konsol. 
+  AWS Glue REST hanya ConnectionType dapat dikonfigurasi untuk MEMBACA data dari sumber data berbasis REST API. Koneksi hanya dapat digunakan sebagai SUMBER dalam pekerjaan AWS Glue ETL. 
+  Pemfilteran dan partisi tidak didukung. 
+  Pemilihan bidang tidak didukung. 

# Menghubungkan ke Salesforce
<a name="connecting-to-data-salesforce"></a>

Salesforce menyediakan perangkat lunak manajemen hubungan pelanggan (CRM) yang membantu Anda dengan penjualan, layanan pelanggan, e-commerce, dan banyak lagi. Jika Anda pengguna Salesforce, Anda dapat terhubung AWS Glue ke akun Salesforce Anda. Kemudian, Anda dapat menggunakan Salesforce sebagai sumber data atau tujuan dalam Pekerjaan ETL Anda. Jalankan pekerjaan ini untuk mentransfer data antara Salesforce dan AWS layanan atau aplikasi lain yang didukung.

**Topics**
+ [AWS Glue Dukungan untuk Salesforce](salesforce-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](salesforce-configuring-iam-permissions.md)
+ [Mengkonfigurasi Salesforce](salesforce-configuring.md)
+ [Terapkan profil Admin Sistem](#salesforce-configuring-apply-system-admin-profile)
+ [Mengkonfigurasi koneksi Salesforce](salesforce-configuring-connections.md)
+ [Membaca dari Salesforce](salesforce-reading-from-entities.md)
+ [Menulis ke Salesforce](salesforce-writing-to.md)
+ [Opsi koneksi Salesforce](salesforce-connection-options.md)
+ [Keterbatasan untuk konektor Salesforce](salesforce-connector-limitations.md)
+ [Siapkan alur Kode Otorisasi untuk Salesforce](salesforce-setup-authorization-code-flow.md)
+ [Siapkan aliran pembawa JWT untuk Salesforce OAuth](salesforce-setup-jwt-bearer-oauth.md)

# AWS Glue Dukungan untuk Salesforce
<a name="salesforce-support"></a>

AWS Glue mendukung Salesforce sebagai berikut:

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

**Didukung sebagai target?**  
Ya. Anda dapat menggunakan pekerjaan AWS Glue ETL untuk menulis catatan ke Salesforce.

**Versi API Salesforce yang didukung**  
Versi API Salesforce berikut didukung
+ v58.0
+ v59.0
+ v60.0

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

Contoh kebijakan IAM berikut menjelaskan izin yang diperlukan untuk membuat, mengelola, dan menggunakan koneksi Salesforce dalam pekerjaan ETL. AWS Glue Jika Anda membuat peran baru, buat kebijakan yang berisi hal-hal berikut:

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

****  

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

------

Anda juga dapat menggunakan kebijakan IAM berikut untuk mengizinkan akses:
+ [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.

Jika menyediakan Opsi Jaringan saat membuat koneksi Salesforce, tindakan berikut juga harus disertakan dalam peran IAM:

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

****  

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

------

 [Untuk koneksi Salesforce nol-ETL, lihat Prasyarat nol-ETL.](https://docs.aws.amazon.com/glue/latest/dg/zero-etl-prerequisites.html) 

 [Untuk koneksi Salesforce nol-ETL, lihat Prasyarat nol-ETL.](https://docs.aws.amazon.com/glue/latest/dg/zero-etl-prerequisites.html) 

# Mengkonfigurasi Salesforce
<a name="salesforce-configuring"></a>

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

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

Berikut ini adalah persyaratan minimum:
+ Anda memiliki akun Salesforce.
+ Akun Salesforce Anda diaktifkan untuk akses API. Akses API diaktifkan secara default untuk edisi Enterprise, Unlimited, Developer, dan Performance.

Jika Anda memenuhi persyaratan ini, Anda siap untuk terhubung AWS Glue ke akun Salesforce Anda. AWS Glue menangani persyaratan yang tersisa dengan aplikasi terhubung AWS terkelola.

## Aplikasi terhubung AWS terkelola untuk Salesforce
<a name="salesforce-configuring-connected-app"></a>

Aplikasi tersambung AWS terkelola membantu Anda membuat koneksi Salesforce dalam langkah yang lebih sedikit. Di Salesforce, aplikasi yang terhubung adalah kerangka kerja yang mengotorisasi aplikasi eksternal, seperti AWS Glue, untuk mengakses data Salesforce Anda menggunakan 2.0. OAuth Untuk menggunakan aplikasi tersambung AWS terkelola, buat koneksi Salesforce dengan menggunakan konsule. AWS Glue Saat Anda mengonfigurasi koneksi, atur **jenis OAuth hibah** ke **kode Otorisasi** dan biarkan kotak dicentang untuk **Gunakan aplikasi klien AWS terkelola**.

Saat menyimpan koneksi, Anda akan diarahkan ke Salesforce untuk masuk dan menyetujui AWS Glue akses ke akun Salesforce Anda.

## Terapkan profil Admin Sistem
<a name="salesforce-configuring-apply-system-admin-profile"></a>

 Di Salesforce, ikuti langkah-langkah untuk menerapkan profil Admin Sistem: 

1.  Di Salesforce, navigasikan ke **Pengaturan> Aplikasi Terhubung> Penggunaan Aplikasi OAuth Terhubung**. 

1.  Dalam daftar aplikasi yang terhubung, temukan AWS Glue dan pilih **Instal**. Jika perlu, pilih **Buka Blokir**. 

1.  Arahkan ke **Pengaturan > Kelola Aplikasi Terhubung lalu pilih AWS Glue**. Di bawah OAuth Kebijakan, pilih **Pengguna yang disetujui admin sudah diotorisasi sebelumnya** dan pilih profil **Admin Sistem**. Tindakan ini membatasi akses AWS Glue hanya ke pengguna dengan profil Admin Sistem. 

## Terapkan profil Admin Sistem
<a name="salesforce-configuring-apply-system-admin-profile"></a>

 Di Salesforce, ikuti langkah-langkah untuk menerapkan profil Admin Sistem: 

1.  Di Salesforce, navigasikan ke **Pengaturan> Aplikasi Terhubung> Penggunaan Aplikasi OAuth Terhubung**. 

1.  Dalam daftar aplikasi yang terhubung, temukan AWS Glue dan pilih **Instal**. Jika perlu, pilih **Buka Blokir**. 

1.  Arahkan ke **Settings > Manage Connected Apps lalu pilih AWS Glue**. Di bawah OAuth Kebijakan, pilih **Pengguna yang disetujui admin sudah diotorisasi sebelumnya** dan pilih profil **Admin Sistem**. Tindakan ini membatasi akses AWS Glue hanya ke pengguna dengan profil Admin Sistem. 

# Mengkonfigurasi koneksi Salesforce
<a name="salesforce-configuring-connections"></a>

Untuk mengonfigurasi koneksi Salesforce:

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

   1. Untuk jenis hibah JWT\$1TOKEN - rahasia harus berisi kunci JWT\$1TOKEN dengan nilainya.

   1. Untuk jenis AuthorizationCode hibah:

      1. Untuk aplikasi yang terhubung AWS Terkelola, rahasia kosong atau rahasia dengan beberapa nilai sementara harus disediakan.

      1. Untuk aplikasi terhubung yang dikelola pelanggan, rahasia harus berisi aplikasi yang terhubung `Consumer Secret` dengan `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` sebagai kuncinya.

   1. Catatan: Anda harus membuat rahasia untuk koneksi Anda 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 Salesforce.

   1. Berikan INSTANCE\$1URL instance Salesforce yang ingin Anda sambungkan.

   1. Menyediakan lingkungan Salesforce.

   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 jenis OAuth2 hibah yang ingin Anda gunakan untuk koneksi. Jenis hibah menentukan cara AWS Glue berkomunikasi dengan Salesforce untuk meminta akses ke data Anda. Pilihan Anda memengaruhi persyaratan yang harus Anda penuhi sebelum membuat koneksi. Anda dapat memilih salah satu dari jenis ini:
      + Jenis Hibah **JWT\$1BEARER: Jenis hibah** ini berfungsi dengan baik untuk skenario otomatisasi karena memungkinkan Token Web JSON (JWT) dibuat di depan dengan izin pengguna tertentu dalam instance Salesforce. Pembuat memiliki kendali atas berapa lama JWT berlaku. AWS Glue dapat menggunakan JWT untuk mendapatkan token akses yang digunakan untuk memanggil Salesforce. APIs

        Alur ini mengharuskan pengguna telah membuat aplikasi yang terhubung dalam instance Salesforce mereka yang memungkinkan penerbitan token akses berbasis JWT untuk pengguna.

        Untuk informasi tentang cara membuat aplikasi yang terhubung untuk alur pembawa JWT, lihat OAuth alur pembawa [JWT OAuth 2.0](https://help.salesforce.com/s/articleView?id=sf.remoteaccess_oauth_jwt_flow.htm) untuk integrasi. server-to-server Untuk mengatur aliran pembawa JWT dengan aplikasi yang terhubung dengan Salesforce, lihat. [Siapkan aliran pembawa JWT untuk Salesforce OAuth](salesforce-setup-jwt-bearer-oauth.md)
      + Jenis Hibah **AUTHORIZATION\$1CODE: 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 yang AWS Glue terhubung (aplikasi klien AWS Glue terkelola) di mana mereka tidak perlu memberikan informasi OAuth terkait apa pun kecuali URL instance Salesforce mereka. AWS Glue Konsol akan mengarahkan pengguna ke Salesforce di mana pengguna harus masuk dan mengizinkan AWS Glue izin yang diminta untuk mengakses instance Salesforce mereka.

        Pengguna masih dapat memilih untuk membuat aplikasi terhubung mereka sendiri di Salesforce dan memberikan ID klien dan rahasia klien mereka sendiri saat membuat koneksi melalui konsol. AWS Glue Dalam skenario ini, mereka masih akan diarahkan ke Salesforce untuk masuk dan memberi wewenang AWS Glue untuk mengakses sumber daya mereka.

        Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses berumur pendek, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran.

        Untuk informasi tentang membuat aplikasi yang terhubung untuk OAuth alur Kode Otorisasi, lihat[Siapkan alur Kode Otorisasi untuk Salesforce](salesforce-setup-authorization-code-flow.md).

   1. Pilih `secretName` yang ingin Anda gunakan untuk koneksi ini AWS Glue untuk menyimpan token OAuth 2.0.

   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. Jika menyediakan opsi jaringan, berikan juga izin berikut kepada peran IAM:

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

****  

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

------

## Mengkonfigurasi koneksi Salesforce dengan CLI AWS
<a name="salesforce-configuring-connections-cli"></a>

Anda dapat membuat koneksi Salesforce menggunakan CLI AWS :

```
aws glue create-connection --connection-input \
"{\"Name\": \"salesforce-conn1\",\"ConnectionType\": \"SALESFORCE\",\"ConnectionProperties\": {\"ROLE_ARN\": \"arn:aws:iam::123456789012:role/glue-role\",\"INSTANCE_URL\": \"https://example.my.salesforce.com\"},\"ValidateCredentials\": true,\"AuthenticationConfiguration\": {\"AuthenticationType\": \"OAUTH2\",\"SecretArn\": \"arn:aws:secretsmanager:us-east-1:123456789012:secret:salesforce-conn1-secret-IAmcdk\",\"OAuth2Properties\": {\"OAuth2GrantType\": \"JWT_BEARER\",\"TokenUrl\": \"https://login.salesforce.com/services/oauth2/token\"}}}" \
--endpoint-url https://glue.us-east-1.amazonaws.com \
--region us-east-1
```

# Membaca dari Salesforce
<a name="salesforce-reading-from-entities"></a>

**Prasyarat**

Salesforce SoBject yang ingin Anda baca. Anda akan membutuhkan nama objek seperti `Account` atau `Case` atau`Opportunity`.

**Contoh:**

```
salesforce_read = glueContext.create_dynamic_frame.from_options(
    connection_type="salesforce",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "Account",
        "API_VERSION": "v60.0"
    }
)
```

## Mempartisi kueri
<a name="salesforce-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 bidang Tanggal atau Timestamp, konektor menerima format stempel waktu Spark yang digunakan dalam kueri Spark SQL.

  Contoh nilai yang valid:

  ```
  "TIMESTAMP \"1707256978123\""
  "TIMESTAMP '2018-01-01 00:00:00.000 UTC'"
  "TIMESTAMP \"2018-01-01 00:00:00 Pacific/Tahiti\"" 
  "TIMESTAMP \"2018-01-01 00:00:00\""
  "TIMESTAMP \"-123456789\" Pacific/Tahiti"
  "TIMESTAMP \"1702600882\""
  ```
+ `UPPER_BOUND`: nilai batas atas **eksklusif** dari bidang partisi yang dipilih.
+ `NUM_PARTITIONS`: jumlah partisi.
+  `TRANSFER_MODE`: mendukung dua mode: `SYNC` dan`ASYNC`. Default-nya adalah `SYNC`. Ketika diatur ke`ASYNC`, Bulk API 2.0 Query akan digunakan untuk pemrosesan. 

Contoh:

```
salesforce_read = glueContext.create_dynamic_frame.from_options(
    connection_type="salesforce",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "Account",
        "API_VERSION": "v60.0",
        "PARTITION_FIELD": "SystemModstamp",
        "LOWER_BOUND": "TIMESTAMP '2021-01-01 00:00:00 Pacific/Tahiti'",
        "UPPER_BOUND": "TIMESTAMP '2023-01-10 00:00:00 Pacific/Tahiti'",
        "NUM_PARTITIONS": "10",
        "TRANSFER_MODE": "ASYNC" 
    }
)
```

## Opsi FILTER\$1PREDICATE
<a name="salesforce-filter-predicate"></a>

**FILTER\$1PREDICATE**: Ini adalah parameter opsional. Opsi ini digunakan untuk filter kueri.

Contoh **FILTER\$1PREDICATE**:

```
     Case 1: FILTER_PREDICATE with single criterion
     Examples: 	
       LastModifiedDate >= TIMESTAMP '2025-04-01 00:00:00 Pacific/Tahiti'
       LastModifiedDate <= TIMESTAMP "2025-04-01 00:00:00"
       LastModifiedDate >= TIMESTAMP '2018-01-01 00:00:00.000 UTC'
       LastModifiedDate <= TIMESTAMP "-123456789 Pacific/Tahiti"
       LastModifiedDate <= TIMESTAMP "1702600882"

     Case 2: FILTER_PREDICATE with multiple criteria
     Examples: 
       LastModifiedDate >= TIMESTAMP '2025-04-01 00:00:00 Pacific/Tahiti' AND Id = "0012w00001CotGiAAJ"
       LastModifiedDate >= TIMESTAMP "1702600882" AND Id = "001gL000002i26MQAQ"

     Case 3: FILTER_PREDICATE single criterion with LIMIT
     Examples: 
       LastModifiedDate >= TIMESTAMP "1702600882" LIMIT 2

     Case 4: FILTER_PREDICATE with LIMIT
     Examples: 
       LIMIT 2
```

# Menulis ke Salesforce
<a name="salesforce-writing-to"></a>

**Prasyarat**

Salesforce SoBject yang ingin Anda tulis. Anda akan membutuhkan nama objek seperti `Account` atau `Case` atau`Opportunity`.

Konektor Salesforce mendukung empat operasi tulis:
+ INSERT
+ MENEGAKKAN
+ UPDATE
+ DELETE

Saat menggunakan operasi `UPSERT` tulis, `ID_FIELD_NAMES` opsi harus disediakan untuk menentukan bidang ID eksternal untuk catatan.

 Anda juga dapat menambahkan opsi koneksi: 
+  `TRANSFER_MODE`: Mendukung dua mode: `SYNC` dan`ASYNC`. Default-nya adalah `SYNC`. Ketika diatur ke`ASYNC`, Bulk API 2.0 Ingest akan digunakan untuk pemrosesan. 
+  `FAIL_ON_FIRST_ERROR`: Nilai defaultnya adalah`FALSE`, yang berarti AWS Glue pekerjaan akan terus memproses semua data meskipun ada beberapa catatan tulis yang gagal. Ketika disetel ke`TRUE`, AWS Glue pekerjaan akan gagal jika ada catatan tulis yang gagal, dan itu tidak akan melanjutkan pemrosesan. 

**Contoh**

```
salesforce_write = glueContext.write_dynamic_frame.from_options(
    frame=frameToWrite,
    connection_type="salesforce",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "Account",
        "API_VERSION": "v60.0",
        "WRITE_OPERATION": "INSERT",
        "TRANSFER_MODE": "ASYNC",
        "FAIL_ON_FIRST_ERROR": "true"
    }
)
```

# Opsi koneksi Salesforce
<a name="salesforce-connection-options"></a>

Opsi koneksi berikut didukung untuk konektor Salesforce:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Nama Objek Anda di Salesforce.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Salesforce Rest API versi yang ingin Anda gunakan.
+ `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.

  Saat menyediakan predikat filter, hanya `AND` operator yang didukung. Operator lain seperti `OR` dan `IN` saat ini tidak didukung.
+ `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.
+ `IMPORT_DELETED_RECORDS`(String) - Default: FALSE. Digunakan untuk membaca. Untuk mendapatkan catatan hapus saat melakukan kueri.
+ `WRITE_OPERATION`(String) - Default: SISIPKAN. Digunakan untuk menulis. Nilai harus INSERT, UPDATE, UPSERT, DELETE.
+ `ID_FIELD_NAMES`(String) - Default: null. Diperlukan untuk UPDATE dan UPSERT.

# Keterbatasan untuk konektor Salesforce
<a name="salesforce-connector-limitations"></a>

Berikut ini adalah batasan untuk konektor Salesforce:
+ Kami hanya mendukung Spark SQL dan Salesforce SOQL tidak didukung.
+ Bookmark Job tidak didukung.
+ Nama bidang Salesforce peka huruf besar/kecil. Saat menulis ke Salesforce, data harus sesuai dengan casing bidang yang ditentukan dalam Salesforce.

# Siapkan alur Kode Otorisasi untuk Salesforce
<a name="salesforce-setup-authorization-code-flow"></a>

Lihat dokumentasi publik Salesforce untuk mengaktifkan alur Kode Otorisasi OAuth 2.0.

Untuk mengonfigurasi aplikasi yang terhubung:

1. Aktifkan kotak centang **Aktifkan OAuth Pengaturan**.

1. Di bidang teks **URL Callback**, masukkan satu atau beberapa pengalihan URLs untuk. AWS Glue

   Redirect URLs memiliki format berikut:

   https://*region*.console.aws.amazon. com/gluestudio/oauth

   Di URL ini, *wilayah* adalah kode untuk AWS Wilayah tempat Anda gunakan AWS Glue untuk mentransfer data dari Salesforce. Misalnya, kode untuk Wilayah AS Timur (Virginia N.) adalah`us-east-1`. Untuk Wilayah itu, URL-nya adalah sebagai berikut:

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

   Untuk AWS Wilayah yang AWS Glue mendukung, dan kodenya, lihat [AWS Glue titik akhir dan kuota di Referensi AWS](https://docs.aws.amazon.com/general/latest/gr/glue.html) *Umum*.

1. Aktifkan kotak centang **Require Secret for Web Server Flow**.

1. Dalam daftar ** OAuth Cakupan yang Tersedia**, tambahkan cakupan berikut:
   + Mengelola data pengguna melalui APIs (api)
   + Akses izin khusus (custom\$1permissions)
   + Akses layanan URL identitas (id, profil, email, alamat, telepon)
   + Akses pengenal pengguna unik (openid)
   + Lakukan permintaan kapan saja (refresh\$1token, offline\$1access)

1. Setel kebijakan penyegaran token untuk aplikasi yang terhubung ke **Refresh token valid hingga dicabut**. Jika tidak, pekerjaan Anda akan gagal saat token penyegaran Anda kedaluwarsa. Untuk informasi selengkapnya tentang cara memeriksa dan mengedit kebijakan penyegaran token, lihat [Mengelola Kebijakan OAuth Akses untuk Aplikasi Terhubung](https://help.salesforce.com/articleView?id=connected_app_manage_oauth.htm) di dokumentasi Salesforce.

# Siapkan aliran pembawa JWT untuk Salesforce OAuth
<a name="salesforce-setup-jwt-bearer-oauth"></a>

Lihat dokumentasi publik Salesforce untuk mengaktifkan server-to-server integrasi dengan [OAuth 2.0 JSON](https://help.salesforce.com/s/articleView?id=sf.remoteaccess_oauth_jwt_flow.htm) Web Tokens.

Setelah Anda membuat JWT dan mengonfigurasi aplikasi yang terhubung dengan tepat di Salesforce, Anda dapat membuat koneksi Salesforce baru dengan set kunci `JWT_TOKEN` di Secrets Manager Secret Anda. Setel jenis OAuth hibah ke **JWT Bearer Token** saat membuat koneksi.

# Menghubungkan ke Salesforce Marketing Cloud
<a name="connecting-to-data-salesforce-marketing-cloud"></a>

Salesforce Marketing Cloud adalah penyedia otomatisasi pemasaran dan perangkat lunak analitik untuk pemasaran email, seluler, sosial, dan online. Ini juga menawarkan layanan konsultasi dan implementasi. Sebagai pengguna Salesforce Marketing Cloud, Anda dapat terhubung AWS Glue ke akun Salesforce Marketing Cloud Anda. Kemudian, Anda dapat menggunakan Salesforce Marketing Cloud sebagai sumber data atau tujuan dalam pekerjaan ETL Anda. Jalankan pekerjaan ini untuk mentransfer data antara Salesforce Marketing Cloud dan AWS layanan atau aplikasi lain yang didukung.

**Topics**
+ [AWS Glue dukungan untuk Salesforce Marketing Cloud](salesforce-marketing-cloud-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](salesforce-marketing-cloud-configuring-iam-permissions.md)
+ [Mengkonfigurasi Cloud Pemasaran Salesforce](salesforce-marketing-cloud-configuring.md)
+ [Mengkonfigurasi koneksi Cloud Pemasaran Salesforce](salesforce-marketing-cloud-configuring-connections.md)
+ [Membaca dari entitas Salesforce Marketing Cloud](salesforce-marketing-cloud-reading-from-entities.md)
+ [Menulis ke entitas Cloud Pemasaran Salesforce](salesforce-marketing-cloud-writing-to-entities.md)
+ [Opsi koneksi Cloud Pemasaran Salesforce](salesforce-marketing-cloud-connection-options.md)
+ [Keterbatasan dan catatan untuk konektor Cloud Pemasaran Salesforce](salesforce-marketing-cloud-connector-limitations.md)

# AWS Glue dukungan untuk Salesforce Marketing Cloud
<a name="salesforce-marketing-cloud-support"></a>

AWS Glue mendukung Salesforce Marketing Cloud sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi Salesforce Marketing Cloud API yang didukung**  
Versi Salesforce Marketing Cloud API berikut didukung:
+ v1

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="salesforce-marketing-cloud-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 Cloud Pemasaran Salesforce
<a name="salesforce-marketing-cloud-configuring"></a>

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

## Persyaratan minimum
<a name="salesforce-marketing-cloud-configuring-min-requirements"></a>

Berikut ini adalah persyaratan minimum:
+ Anda memiliki akun Salesforce Marketing Cloud. Untuk informasi selengkapnya, lihat [Membuat akun Cloud Pemasaran Salesforce](#salesforce-marketing-cloud-configuring-creating-salesforce-marketing-cloud-account).
+ Akun Salesforce Marketing Cloud Anda diaktifkan untuk akses API. Akses API diaktifkan secara default untuk edisi Enterprise, Unlimited, Developer, dan Performance.

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

## Membuat akun Cloud Pemasaran Salesforce
<a name="salesforce-marketing-cloud-configuring-creating-salesforce-marketing-cloud-account"></a>

Untuk cloud Pemasaran Salesforce, Anda perlu menghubungi vendor untuk pembuatan akun. Jika Anda atau perusahaan Anda memiliki asosiasi dengan Salesforce, hubungi manajer akun Salesforce Anda untuk meminta lisensi Salesforce Marketing Cloud. Jika tidak, Anda dapat meminta kontak dari perwakilan Salesforce sebagai berikut: 

1. Buka https://www.salesforce.com/in/products/marketing-cloud/overview/dan pilih **Daftar**.

1. Pilih tautan **Hubungi Kami** di kanan atas halaman.

1. Masukkan informasi yang diperlukan dalam formulir dan pilih **Hubungi Saya**.

Perwakilan Salesforce akan menghubungi Anda untuk mendiskusikan kebutuhan Anda.

## Membuat proyek dan kredensi OAuth 2.0
<a name="salesforce-marketing-cloud-configuring-creating-salesforce-marketing-cloud-project-oauth"></a>

Untuk mendapatkan proyek dan kredensi OAuth 2.0:

1. Masuk ke [instans Salesforce Marketing Cloud](https://mc.login.exacttarget.com/hub-cas/login) Anda dengan nama pengguna dan kata sandi Anda dan autentikasi menggunakan nomor ponsel terdaftar Anda.

1. Klik pada profil Anda di pojok kanan atas dan kemudian pergi ke **Pengaturan**.

1. Di bawah **Platform Tools** pilih **Apps** dan kemudian pilih **Paket Terinstal**.  
![\[\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/sfmc-platform-tools.png)

1. Pada halaman **Paket Terinstal**, klik **Baru** di sudut kanan atas. Berikan nama dan deskripsi paket.

   Simpan paketnya. Setelah paket disimpan, Anda dapat melihat detail paket.

1. Pada halaman **Detail** paket, di bawah bagian **Component**, pilih **Add Component**.   
![\[\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/sfmc-add-component.png)

1. **Pilih **Component Type** sebagai 'API Integration' dan klik Next.**

1. **Pilih **Jenis Integrasi** sebagai 'Server-to-Server' (yang memiliki jenis OAuth hibah kredensial klien) dan klik Berikutnya.**

1. Tambahkan cakupan berdasarkan kebutuhan Anda dan klik **Simpan**.

# Mengkonfigurasi koneksi Cloud Pemasaran Salesforce
<a name="salesforce-marketing-cloud-configuring-connections"></a>

Salesforce Marketing Cloud mendukung jenis hibah KREDENSIAL KLIEN untuk. OAuth2
+ Jenis hibah ini dianggap OAuth 2.0 berkaki 2 karena digunakan oleh klien untuk mendapatkan token akses di luar konteks pengguna. AWS Glue dapat menggunakan ID klien dan rahasia klien untuk mengautentikasi Salesforce Marketing Cloud APIs yang disediakan oleh layanan khusus yang Anda tentukan.
+ Setiap layanan kustom dimiliki oleh pengguna khusus API yang memiliki serangkaian peran dan izin yang mengizinkan layanan untuk melakukan tindakan tertentu. Token akses dikaitkan dengan satu layanan kustom.
+ Jenis hibah ini menghasilkan token akses yang berumur pendek, dan dapat diperbarui dengan memanggil titik akhir identitas.
+ Untuk dokumentasi Cloud Pemasaran Salesforce publik untuk OAuth 2.0 dengan kredensional klien, lihat [Mengatur Lingkungan Pengembangan Anda untuk Paket](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/mc-dev-setup-enhanced.html) yang Ditingkatkan.

Untuk mengonfigurasi koneksi Salesforce Marketing Cloud:

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

   1. 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 untuk koneksi Anda 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 Salesforce Marketing Cloud.

   1. Berikan Salesforce Marketing Cloud yang ingin Anda sambungkan. `Subdomain Endpoint`

   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 Salesforce Marketing Cloud
<a name="salesforce-marketing-cloud-reading-from-entities"></a>

**Prasyarat**

Objek Salesforce Marketing Cloud yang ingin Anda baca. Anda akan membutuhkan nama objek seperti `Activity` atau`Campaigns`. Tabel berikut menunjukkan entitas yang didukung.

**Entitas yang didukung untuk sumber**:


| Entitas | Antarmuka | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung SELECT \$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | --- | 
| Panggilan Balik Pemberitahuan Acara | REST | Tidak | Tidak | Tidak | Ya | Tidak | 
| Daftar Benih | REST | Tidak | Ya | Tidak | Ya | Tidak | 
| Pengaturan | REST | Ya | Ya | Tidak | Ya | Tidak | 
| Verifikasi Domain | REST | Ya | Ya | Ya | Ya | Tidak | 
| Tag Bersarang Objek | REST | Ya | Tidak | Tidak | Ya | Tidak | 
| Kontak | REST | Tidak | Ya | Tidak | Ya | Tidak | 
| Langganan Pemberitahuan Acara | REST | Tidak | Tidak | Tidak | Ya | Tidak | 
| Perpesanan | REST | Tidak | Ya | Tidak | Ya | Tidak | 
| Aktifitas | SOAP | Tidak | Tidak | Tidak | Ya | Ya | 
| Acara Bounce | SOAP | Tidak | Tidak | Tidak | Ya | Ya | 
| Klik Acara | SOAP | Tidak | Tidak | Tidak | Ya | Ya | 
| Area Konten | SOAP | Tidak | Tidak | Tidak | Ya | Ya | 
| Ekstensi Data | SOAP | Tidak | Ya | Tidak | Ya | Ya | 
| Email | SOAP | Tidak | Ya | Tidak | Ya | Ya | 
| Acara Email yang Diteruskan | SOAP | Tidak | Ya | Tidak | Ya | Ya | 
| Teruskan Email OptInEvent | SOAP | Tidak | Ya | Tidak | Ya | Ya | 
| Tautan | SOAP | Tidak | Ya | Tidak | Ya | Ya | 
| Tautan Kirim | SOAP | Tidak | Ya | Tidak | Ya | Ya | 
| Daftar | SOAP | Tidak | Ya | Tidak | Ya | Ya | 
| Daftar Pelanggan | SOAP | Tidak | Ya | Tidak | Ya | Ya | 
| Acara Tidak Terkirim | SOAP | Tidak | Ya | Tidak | Ya | Ya | 
| Acara Terbuka | SOAP | Tidak | Ya | Tidak | Ya | Ya | 
| Kirim | SOAP | Tidak | Ya | Tidak | Ya | Ya | 
| Acara Terkirim | SOAP | Tidak | Ya | Tidak | Ya | Ya | 
| Pelanggan | SOAP | Tidak | Ya | Tidak | Ya | Ya | 
| Acara Survei | SOAP | Tidak | Ya | Tidak | Ya | Ya | 
| Acara Unsub | SOAP | Tidak | Ya | Tidak | Ya | Ya | 
| Acara Audit | REST | Tidak | Ya | Ya | Ya | Tidak | 
| Kampanye | REST | Tidak | Ya | Ya | Ya | Tidak | 
| Interaksi | REST | Tidak | Ya | Ya | Ya | Tidak | 
| Aset Konten | REST | Tidak | Ya | Ya | Ya | Tidak | 

**Contoh untuk REST**:

```
salesforcemarketingcloud_read = glueContext.create_dynamic_frame.from_options(
    connection_type="salesforcemarketingcloud",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "Campaigns",
        "API_VERSION": "v1",
        "INSTANCE_URL": "https://**********************.rest.marketingcloudapis.com"
    }
)
```

**Contoh untuk SOAP**:

```
salesforcemarketingcloud_read = glueContext.create_dynamic_frame.from_options(
    connection_type="salesforcemarketingcloud",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "Activity",
        "API_VERSION": "v1",
        "INSTANCE_URL": "https://**********************.soap.marketingcloudapis.com"
    }
)
```

**Entitas dan detail bidang Salesforce Marketing Cloud**:

Tabel berikut menjelaskan entitas Salesforce Marketing Cloud. Ada entitas REST dengan metadata statis dan entitas SOAP dengan metadata dinamis.

**Entitas REST dengan metadata statis**:

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

**Entitas SOAP dengan metadata dinamis**:

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

## Mempartisi kueri
<a name="salesforce-marketing-cloud-reading-partitioning-queries"></a>

Di Salesforce Marketing Cloud, bidang Integer dan DateTime tipe data mendukung partisi berbasis lapangan.

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 bidang timestamp, kami menerima format stempel waktu Spark yang digunakan dalam kueri Spark SQL.

  Contoh nilai valid:

  ```
  “2024-05-07T02:03:00.00Z"
  ```
+ `UPPER_BOUND`: nilai batas atas **eksklusif** dari bidang partisi yang dipilih.
+ `NUM_PARTITIONS`: jumlah partisi.

Contoh:

```
salesforcemarketingcloud_read = glueContext.create_dynamic_frame.from_options(
    connection_type="salesforcemarketingcloud",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "ListSubscriber",
        "API_VERSION": "v1",
        "PARTITION_FIELD": "CreatedDate",
        "LOWER_BOUND": "2023-09-07T02:03:00.000Z",
        "UPPER_BOUND": "2024-05-07T02:03:00.000Z",
        "NUM_PARTITIONS": "10"
    }
)
```

# Menulis ke entitas Cloud Pemasaran Salesforce
<a name="salesforce-marketing-cloud-writing-to-entities"></a>

**Prasyarat**
+ Objek Pemasaran Salesforce yang ingin Anda tulis. Anda perlu menentukan nama objek seperti `List` atau `Campaigns` atau entitas lain yang diuraikan dalam tabel di bawah ini.
+ Konektor Salesforce Marketing Cloud mendukung tiga operasi penulisan:
  + INSERT
  + MENEGAKKAN
  + UPDATE

  Saat menggunakan operasi `UPDATE` dan `UPSERT` tulis, Anda harus memberikan `ID_FIELD_NAMES` opsi untuk menentukan bidang ID eksternal untuk catatan. 

**Entitas yang didukung untuk tujuan**:


| Entitas | Prioritas | Antarmuka (REST, SOAP, dll) | Dapat Dimasukkan | Dapat Diperbarui | Dapat Ditambah | 
| --- | --- | --- | --- | --- | --- | 
| Kampanye | P0 | REST | Y- Tunggal | Y- Tunggal | T | 
| Aset Konten | P0 | REST | Y- Tunggal, Massal | Y- Tunggal | T | 
| Kontak | P1 | REST | Y- Tunggal | Y- Tunggal | T | 
| Verifikasi Domain | P1 | REST | Y- Tunggal | Y- Tunggal, Massal | T | 
| Callback Pemberitahuan Acara | P1 | REST | Y- Tunggal | Y- Tunggal | T | 
| Langganan Pemberitahuan Acara | P1 | REST | Y- Tunggal | Y- Tunggal | T | 
| Perpesanan | P1 | REST | Y- Tunggal | T | T | 
| Tag Bersarang Objek | P2 | REST | Y- Tunggal | Y- Tunggal | T | 
| Daftar Benih | P1 | REST | Y- Tunggal | Y- Tunggal | T | 
| Pengaturan | P1 | REST | Y- Tunggal | Y- Tunggal | T | 
| Ekstensi Data | P0 | SOAP | Y- Tunggal | Y- Tunggal | Y- Tunggal | 
| Email | P0 | SOAP | Y- Tunggal | Y- Tunggal | T | 
| Daftar | P0 | SOAP | Y- Tunggal | Y- Tunggal | T | 
| Kirim | P0 | SOAP | Y- Tunggal | T | T | 
| Pelanggan | P0 | SOAP | Y- Tunggal | Y- Tunggal | T | 

**Contoh untuk operasi INSERT untuk REST**:

```
salesforcemarketingcloud_write = glueContext.write_dynamic_frame.from_options(
    connection_type="salesforcemarketingcloud",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "Campaigns",
        "API_VERSION": "v1",
        "writeOperation" : "INSERT",
        "INSTANCE_URL": "https://**********************.rest.marketingcloudapis.com"
    }
)
```

**Contoh untuk operasi INSERT untuk SOAP**:

```
salesforcemarketingcloud_write = glueContext.write_dynamic_frame.from_options(
    connection_type="salesforcemarketingcloud",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "List",
        "API_VERSION": "v1",
        "writeOperation" : "INSERT",
        "INSTANCE_URL": "https://**********************.rest.marketingcloudapis.com"
    }
)
```

**Contoh untuk operasi UPDATE untuk REST**:

```
salesforcemarketingcloud_write = glueContext.write_dynamic_frame.from_options(
    connection_type="salesforcemarketingcloud",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "Campaigns",
        "API_VERSION": "v1",
        "writeOperation" : "UPDATE",
         "ID_FIELD_NAMES": "id",
        "INSTANCE_URL": "https://**********************.rest.marketingcloudapis.com"
    }
)
```

**Contoh untuk operasi UPDATE untuk SOAP**:

```
salesforcemarketingcloud_write = glueContext.write_dynamic_frame.from_options(
    connection_type="salesforcemarketingcloud",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "List",
        "API_VERSION": "v1",
        "writeOperation" : "UPDATE",
         "ID_FIELD_NAMES": "id",
        "INSTANCE_URL": "https://**********************.rest.marketingcloudapis.com"
    }
)
```

**Contoh untuk operasi UPSERT untuk SOAP**:

```
salesforcemarketingcloud_write = glueContext.write_dynamic_frame.from_options(
    connection_type="salesforcemarketingcloud",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "DataExtension/Insert-***E/6*******3",
        "API_VERSION": "v1",
        "writeOperation" : "UPSERT",
        "INSTANCE_URL": "https://**********************.rest.marketingcloudapis.com"
    }
)
```

# Opsi koneksi Cloud Pemasaran Salesforce
<a name="salesforce-marketing-cloud-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Salesforce Marketing Cloud:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama objek Anda di Salesforce Marketing Cloud.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Salesforce Marketing Cloud Rest dan SOAP API versi yang ingin Anda gunakan.
+ `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.
+ `WRITE_OPERATION`(String) - Default: SISIPKAN. Digunakan untuk menulis. Nilai harus INSERT, UPDATE, UPSERT.
+ `ID_FIELD_NAMES`(String) - Default: null. Diperlukan untuk UPDATE/UPSERT.

# Keterbatasan dan catatan untuk konektor Cloud Pemasaran Salesforce
<a name="salesforce-marketing-cloud-connector-limitations"></a>

Berikut ini adalah batasan atau catatan untuk konektor Salesforce Marketing Cloud:
+ Saat menggunakan filter pada bidang DateTime tipe data, Anda harus meneruskan nilai dalam format "yyyy-mm-ddTHH: mm: SSZ”.
+ Dalam Data Preview, nilai Boolean Datatype datang sebagai Blank.
+ Untuk entitas SOAP, Anda dapat menentukan maksimal dua filter, dan untuk entitas REST, Anda hanya dapat menentukan satu filter, yang membatasi pengujian partisi dengan filter.
+ Beberapa perilaku tak terduga telah diamati dari sisi SaaS: `Link.Alias` bidang di entitas `linksend` tidak mendukung operator CONTAINS (misalnya,`Link.Alias CONTAINS "ViewPrivacyPolicy"`), dan operator filter untuk entitas Ekstensi Data (seperti EQUALS dan GREATER THAN) tidak mengembalikan hasil yang diharapkan.
+ SFMC ClickEvent SOAP API memiliki penundaan dalam mencerminkan catatan yang baru dibuat sehingga, catatan yang dibuat baru-baru ini mungkin tidak segera tersedia dalam respons API.

  Contoh: Jika Anda membuat 5 ClickEvent catatan baru pada **2025-01-10T 14:30:00** dan segera mengambilnya menggunakan SOAP API, responsnya mungkin tidak menyertakan semua 5 catatan. Diperlukan waktu hingga 5 menit agar catatan yang baru dibuat muncul dalam respons API. Penundaan ini dapat memengaruhi pengambilan data dan jadwal berjalan juga.
+ Dua DateTime format berbeda: **2025-03-11T 04:46:00 (tanpa milidetik) dan **2025-03-11T 04:46:00.000**** Z didukung saat melakukan operasi penulisan dalam (dengan milidetik). AWS Glue 
+ Untuk entitas Langganan Pemberitahuan Acara, langganan hanya dapat dibuat untuk URL panggilan balik terverifikasi, dan Anda dapat memiliki hingga 200 langganan per panggilan balik.
+ Untuk entitas Callback Pemberitahuan Peristiwa, maksimal 50 catatan dapat dibuat per akun.

# Menghubungkan ke Salesforce Commerce Cloud
<a name="connecting-to-salesforce-commerce-cloud"></a>

 B2C Commerce API adalah kumpulan RESTful APIs untuk berinteraksi dengan instans B2C Commerce. Ini berjalan dengan beberapa nama yang berbeda: Salesforce Commerce API, singkatan SCAPI, atau hanya Commerce API.

 API memungkinkan pengembang untuk membangun berbagai aplikasi: dari etalase lengkap hingga alat pedagang khusus untuk menambah Manajer Bisnis. Untuk semua pelanggan B2C Commerce, API tersedia tanpa biaya tambahan. 

 API dibagi menjadi dua kelompok utama APIs: Shopper APIs dan Admin APIs. Dan dalam setiap grup, mereka dibagi menjadi keluarga API dan menjadi kelompok yang lebih kecil yang berfokus pada fungsionalitas terkait. 

**Topics**
+ [AWS Glue dukungan untuk Salesforce Commerce Cloud](salesforce-commerce-cloud-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](salesforce-commerce-cloud-configuring-iam-permissions.md)
+ [Mengkonfigurasi Salesforce Commerce Cloud](salesforce-commerce-cloud-configuring.md)
+ [Mengkonfigurasi koneksi Cloud Salesforce Commerce](salesforce-commerce-cloud-configuring-connections.md)
+ [Membaca dari entitas Salesforce Commerce Cloud](salesforce-commerce-cloud-reading-from-entities.md)
+ [Referensi opsi koneksi Salesforce Commerce Cloud](salesforce-commerce-cloud-connection-options.md)
+ [Batasan](salesforce-commerce-cloud-connector-limitations.md)

# AWS Glue dukungan untuk Salesforce Commerce Cloud
<a name="salesforce-commerce-cloud-support"></a>

AWS Glue mendukung Salesforce Commerce Cloud sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi Salesforce Commerce Cloud API yang didukung**  
 v1. 

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="salesforce-commerce-cloud-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": "*"
    }
  ]
}
```

------

Anda juga dapat menggunakan kebijakan IAM terkelola berikut untuk mengizinkan akses:
+  [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 Salesforce Commerce Cloud
<a name="salesforce-commerce-cloud-configuring"></a>

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

## Persyaratan minimum
<a name="salesforce-commerce-cloud-configuring-min-requirements"></a>
+  Anda memiliki aplikasi klien Salesforce Commerce Cloud dengan ClientID dan ClientSecret. 
+  Akun Salesforce Commerce Cloud Anda diaktifkan untuk akses API. 

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

# Mengkonfigurasi koneksi Cloud Salesforce Commerce
<a name="salesforce-commerce-cloud-configuring-connections"></a>

 Salesforce Commerce Cloud mendukung jenis hibah KREDENSIAL KLIEN untuk. OAuth2 
+  Jenis hibah ini dianggap OAuth 2.0 berkaki 2 karena digunakan oleh klien untuk mendapatkan token akses di luar konteks pengguna. AWS Glue dapat menggunakan ID klien dan rahasia klien untuk mengautentikasi Salesforce Commerce Cloud APIs yang disediakan oleh layanan khusus yang Anda tentukan. 
+  Setiap layanan kustom dimiliki oleh pengguna khusus API yang memiliki serangkaian peran dan izin yang mengizinkan layanan untuk melakukan tindakan tertentu. Token akses dikaitkan dengan satu layanan kustom. 
+  Jenis hibah ini menghasilkan token akses yang berumur pendek, dan dapat diperbarui dengan memanggil titik akhir identitas. 
+  [Untuk informasi selengkapnya tentang dokumentasi Salesforce Commerce Cloud tentang pembuatan kredensil Klien, lihat Dokumentasi Salesforce.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization.html) 

Untuk mengonfigurasi koneksi Salesforce Commerce Cloud:

1.  Di AWS Secrets Manager, buat rahasia dengan detail berikut. Diperlukan untuk membuat rahasia untuk setiap koneksi di AWS Glue. 

   1.  Untuk aplikasi terhubung yang dikelola pelanggan - Rahasia harus berisi aplikasi Consumer Secret yang terhubung dengan USER\$1MANAGED\$1CLIENT\$1APPLICATION\$1CLIENT\$1SECRET sebagai kunci. 

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

   1.  Di bawah Koneksi Data, pilih **Buat koneksi**. 

   1. Saat memilih **Sumber Data**, pilih Salesforce Commerce Cloud.

   1. Berikan Salesforce Commerce Cloud **Short Code**, **ID Organisasi, dan ID** **Situs Anda**.

   1. Pilih URL Domain Cloud Salesforce Commerce dari akun Salesforce Commerce Cloud Anda.

   1.  Pilih peran 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.  Berikan OAuth cakupan - opsional, Aplikasi Klien yang Dikelola Pengguna ClientId dari Salesforce Commerce Cloud yang ingin Anda sambungkan. 

   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 Salesforce Commerce Cloud
<a name="salesforce-commerce-cloud-reading-from-entities"></a>

 **Prasyarat** 
+  Objek Cloud Salesforce Commerce yang ingin Anda baca. Lihat tabel entitas yang didukung di bawah ini untuk memeriksa entitas yang tersedia. 

 **Entitas yang didukung** 


| Entitas | Dapat disaring | Mendukung Batas | Mendukung Order By | Mendukung Pilih \$1 | Mendukung Partisi | 
| --- | --- | --- | --- | --- | --- | 
| Tugas | Ya | Ya | Ya | Ya | Ya | 
| Kampanye | Ya | Ya | Ya | Ya | Ya | 
| Katalog | Ya | Ya | Ya | Ya | Ya | 
| Kategori | Ya | Ya | Ya | Ya | Ya | 
| Kupon | Ya | Ya | Ya | Ya | Ya | 
| Sertifikat Hadiah | Ya | Ya | Ya | Ya | Ya | 
| Produk | Ya | Ya | Ya | Ya | Ya | 
| Promosi | Ya | Ya | Ya | Ya | Ya | 
| Grup Kode Sumber | Ya | Ya | Ya | Ya | Ya | 

 **Contoh** 

```
salesforce_commerce_cloud_read = glueContext.create_dynamic_frame.from_options(
     connection_type="SalesforceCommerceCloud",
     connection_options={
         "connectionName": "connectionName",
         "ENTITY_NAME": "campaign",
         "API_VERSION": "v1"      
     }
)
```

 **Entitas Salesforce Commerce Cloud dan detail bidang** 

 Daftar entitas: 
+  Tugas: [https://developer.salesforce.com/docs/commerce/commerce-api/references/assignments]( https://developer.salesforce.com/docs/commerce/commerce-api/references/assignments) 
+  Kampanye: [https://developer.salesforce.com/docs/commerce/commerce-api/references/campaigns](https://developer.salesforce.com/docs/commerce/commerce-api/references/campaigns) 
+  Katalog: [https://developer.salesforce.com/docs/commerce/commerce-api/references/catalogs](https://developer.salesforce.com/docs/commerce/commerce-api/references/catalogs) 
+  Kategori: [https://developer.salesforce.com/docs/commerce/commerce-api/references/catalogs? meta=PencarianKategori](https://developer.salesforce.com/docs/commerce/commerce-api/references/catalogs?meta=searchCategories) 
+  Sertifikat Hadiah: [https://developer.salesforce.com/docs/commerce/commerce-api/references/gift-sertifikat](https://developer.salesforce.com/docs/commerce/commerce-api/references/gift-certificates) 
+  Produk: [https://developer.salesforce.com/docs/commerce/commerce-api/references/products](https://developer.salesforce.com/docs/commerce/commerce-api/references/products) 
+  Promosi: [https://developer.salesforce.com/docs/commerce/commerce-api/references/promotions](https://developer.salesforce.com/docs/commerce/commerce-api/references/promotions) 
+  Grup Kode Sumber: [https://developer.salesforce.com/docs/commerce/commerce-api/references/source-code-groups](https://developer.salesforce.com/docs/commerce/commerce-api/references/source-code-groups) 

 **Mempartisi kueri** 

 Opsi percikan tambahan`PARTITION_FIELD`,, `LOWER_BOUND``UPPER_BOUND`, `NUM_PARTITIONS` dapat diberikan 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 percikan secara bersamaan. 
+  `PARTITION_FIELD`: nama bidang yang akan digunakan untuk mempartisi kueri. 
+  `LOWER_BOUND`: nilai batas bawah inklusif dari bidang partisi yang dipilih. 

   Untuk tanggal, kami menerima format tanggal Spark yang digunakan dalam kueri Spark SQL. Contoh nilai yang valid:`"2024-02-06"`. 
+  `UPPER_BOUND`: nilai batas atas eksklusif dari bidang partisi yang dipilih. 
+  `NUM_PARTITIONS`: jumlah partisi. 

 Detail dukungan bidang partisi berdasarkan entitas ditangkap dalam tabel di bawah ini: 


| Entitas | Bidang Partisi | DataType | 
| --- | --- | --- | 
| Kampanye | Terakhir Dimodifikasi | DateTime | 
| Kampanye | StartDate | DateTime | 
| Kampanye | EndDate | DateTime | 
| Katalog | creationDate | DateTime | 
| Kategori | CreatiionDate | DateTime | 
| Sertifikat Hadiah | Merchantid | String | 
| Sertifikat Hadiah | CreatiionDate | DateTime | 
| Produk | CreatiionDate | DateTime | 
| Produk | Terakhir Dimodifikasi | DateTime | 
| Grup Kode Sumber | creationDate | DateTime | 
| Grup Kode Sumber | startTime | DateTime | 
| Grup Kode Sumber | endTime | DateTime | 

 **Contoh** 

```
 salesforceCommerceCloud_read = glueContext.create_dynamic_frame.from_options(
     connection_type="SalesforceCommerceCloud",
     connection_options={
         "connectionName": "connectionName",
         "ENTITY_NAME": "coupons",
         "API_VERSION": "v1",
         "PARTITION_FIELD": "creationDate",
         "LOWER_BOUND": "2020-05-01T20:55:02.000Z",
         "UPPER_BOUND": "2024-07-11T20:55:02.000Z",
         "NUM_PARTITIONS": "10"
     }
)
```

# Referensi opsi koneksi Salesforce Commerce Cloud
<a name="salesforce-commerce-cloud-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Salesforce Commerce Cloud:
+  `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama Objek Anda di Salesforce Commerce Cloud. 
+  `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Salesforce Commerce Cloud Rest API versi yang ingin Anda gunakan. Contoh: v1. 
+  `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="salesforce-commerce-cloud-connector-limitations"></a>

Berikut ini adalah batasan untuk konektor Cloud Salesforce Commerce:
+ Filter Berisi tidak berfungsi seperti yang diharapkan saat mempartisi.
+ Entitas CDN Zones tidak mendukung instance sandbox, dan hanya mendukung jenis instance Pengembangan dan produksi. Untuk informasi selengkapnya, lihat [https://help.salesforce.com/s/ArticleView? id=cc.b2c\$1embedded\$1cdn\$1overview.htm](https://help.salesforce.com/s/articleView?id=cc.b2c_embedded_cdn_overview.htm).
+ Di Salesforce Commerce Cloud, tidak ada titik akhir API untuk mengambil Metadata Dinamis. Akibatnya, tidak ada ketentuan untuk mendukung bidang kustom di entitas Produk dan Kategori.
+ Id situs adalah parameter kueri wajib. Anda harus meneruskan nilai Id Situs melalui Pengaturan Konektor Kustom. Untuk informasi selengkapnya, lihat [URL Dasar dan Formasi Permintaan](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html).
+ Anda dapat menerapkan filter pada maksimal dua bidang (tidak termasuk Level jika ada) dalam permintaan API tunggal dengan kombinasi operator yang berbeda seperti yang disebutkan dalam tabel di bawah ini:    
<a name="salesforce-commerce-cloud-limitations-filters"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/salesforce-commerce-cloud-connector-limitations.html)
+ Di beberapa entitas, tipe data untuk bidang saat mengambil berbeda dari saat digunakan sebagai bidang yang dapat dicari. Akibatnya, tidak ada ketentuan fitur filter untuk bidang ini. Tabel berikut memberikan rincian tentang bidang tersebut.     
<a name="salesforce-commerce-cloud-limitations-filters-provision"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/salesforce-commerce-cloud-connector-limitations.html)

# Menghubungkan ke Keterlibatan Akun Cloud Pemasaran Salesforce
<a name="connecting-to-data-salesforce-marketing-cloud-account-engagement"></a>

Salesforce Marketing Cloud Account Engagement adalah solusi otomatisasi pemasaran yang membantu perusahaan menciptakan koneksi yang berarti, menghasilkan lebih banyak saluran, dan memberdayakan penjualan untuk menutup lebih banyak transaksi. Jika Anda adalah pengguna Keterlibatan Akun Cloud Pemasaran Salesforce, Anda dapat terhubung AWS Glue ke akun Keterlibatan Akun Cloud Pemasaran Salesforce Anda. Anda dapat menggunakan Salesforce Marketing Cloud Account Engagement sebagai sumber data dalam pekerjaan ETL Anda. Jalankan pekerjaan ini untuk mentransfer data dari Salesforce Marketing Cloud Account Engagement ke AWS layanan atau aplikasi lain yang didukung.

**Topics**
+ [AWS Glue dukungan untuk Keterlibatan Akun Cloud Pemasaran Salesforce](salesforce-marketing-cloud-account-engagement-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](salesforce-marketing-cloud-account-engagement-configuring-iam-permissions.md)
+ [Mengkonfigurasi Keterlibatan Akun Cloud Pemasaran Salesforce](salesforce-marketing-cloud-account-engagement-configuring.md)
+ [Mengkonfigurasi koneksi Keterlibatan Akun Cloud Pemasaran Salesforce](salesforce-marketing-cloud-account-engagement-configuring-connections.md)
+ [Membaca dari entitas Keterlibatan Akun Cloud Pemasaran Salesforce](salesforce-marketing-cloud-account-engagement-reading-from-entities.md)
+ [Opsi koneksi Keterlibatan Akun Cloud Pemasaran Salesforce](salesforce-marketing-cloud-account-engagement-connection-options.md)
+ [Keterbatasan dan catatan untuk konektor Keterlibatan Akun Cloud Pemasaran Salesforce](salesforce-marketing-cloud-account-engagement-connector-limitations.md)

# AWS Glue dukungan untuk Keterlibatan Akun Cloud Pemasaran Salesforce
<a name="salesforce-marketing-cloud-account-engagement-support"></a>

AWS Glue mendukung Keterlibatan Akun Cloud Pemasaran Salesforce sebagai berikut:

**Didukung sebagai sumber?**  
Ya. Anda dapat menggunakan pekerjaan AWS Glue ETL untuk menanyakan data dari Keterlibatan Akun Cloud Pemasaran Salesforce dalam mode Async atau Sync.

**Didukung sebagai target?**  
Tidak.

**Versi API Keterlibatan Akun Cloud Pemasaran Salesforce yang didukung**  
Versi Salesforce Marketing Cloud Account Engagement API berikut didukung:
+ v5

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="salesforce-marketing-cloud-account-engagement-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 Keterlibatan Akun Cloud Pemasaran Salesforce
<a name="salesforce-marketing-cloud-account-engagement-configuring"></a>

Sebelum dapat digunakan AWS Glue untuk mentransfer data dari Salesforce Marketing Cloud Account Engagement, Anda harus memenuhi persyaratan berikut:

## Persyaratan minimum
<a name="salesforce-marketing-cloud-account-engagement-configuring-min-requirements"></a>

Berikut ini adalah persyaratan minimum:
+ Anda memiliki akun pemasaran Salesforce.
+ Anda memiliki paket Keterlibatan Akun berlisensi untuk akun Salesforce. 
+ Anda telah menyinkronkan pengguna Salesforce dengan pengguna Keterlibatan Akun.
+ Anda telah membuat aplikasi baru yang terhubung di bawah App Manager untuk mendapatkan OAuth Kredensial.

Jika memenuhi persyaratan ini, Anda siap untuk terhubung AWS Glue ke akun Keterlibatan Akun Cloud Pemasaran Salesforce Anda.

# Mengkonfigurasi koneksi Keterlibatan Akun Cloud Pemasaran Salesforce
<a name="salesforce-marketing-cloud-account-engagement-configuring-connections"></a>

Jenis hibah menentukan cara AWS Glue berkomunikasi dengan Salesforce Marketing Cloud Account Engagement untuk meminta akses ke data Anda. Pilihan Anda memengaruhi persyaratan yang harus Anda penuhi sebelum membuat koneksi. Keterlibatan Akun Cloud Pemasaran Salesforce hanya mendukung jenis hibah AUTHORIZATION\$1CODE untuk 2.0. OAuth 
+ 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 masih dapat memilih untuk membuat aplikasi terhubung mereka sendiri di Salesforce Marketing Cloud Account Engagement dan memberikan ID klien dan rahasia klien mereka sendiri saat membuat koneksi melalui konsol. AWS Glue Dalam skenario ini, mereka masih akan diarahkan ke Salesforce Marketing Cloud Account Engagement untuk login dan otorisasi AWS Glue untuk mengakses sumber daya mereka.
+ Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses berumur pendek, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran.
+ [Untuk dokumentasi Keterlibatan Akun Cloud Pemasaran Salesforce publik tentang cara membuat aplikasi yang terhubung untuk OAuth alur Kode Otorisasi, lihat Otentikasi.](https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html#authentication)

Untuk mengonfigurasi koneksi Keterlibatan Akun Cloud Pemasaran Salesforce:

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 Keterlibatan Akun Cloud Pemasaran Salesforce.

   1. Berikan contoh `INSTANCE_URL` Keterlibatan Akun Cloud Pemasaran Salesforce yang ingin Anda sambungkan.

   1. Berikan contoh `PARDOT_BUSINESS_UNIT_ID` Keterlibatan Akun Cloud Pemasaran Salesforce yang ingin Anda sambungkan.

   1. Pilih **URL Kode Otorisasi** yang sesuai dari dropdown.

   1. Pilih **URL Token** yang sesuai dari dropdown.

   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. Berikan ID Klien Aplikasi Klien Terkelola Pengguna (ID klien dari aplikasi yang terhubung).

   1. Pilih `secretName` yang ingin Anda gunakan untuk koneksi ini AWS Glue untuk memasukkan token. Rahasia yang dipilih harus memiliki kunci `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` dengan nilai Rahasia Klien dari aplikasi yang terhubung.

   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 Keterlibatan Akun Cloud Pemasaran Salesforce
<a name="salesforce-marketing-cloud-account-engagement-reading-from-entities"></a>

**Prasyarat**

Objek Keterlibatan Akun Cloud Pemasaran Salesforce yang ingin Anda baca. Anda akan membutuhkan nama objek.

**Entitas yang didukung untuk sumber Sinkronisasi**:


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih\$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| Kampanye | Ya | Ya | Ya | Ya | Ya | 
| Konten Dinamis | Ya | Ya | Ya | Ya | Ya | 
| Email | Ya | Ya | Ya | Ya | Ya | 
| Template Email | Ya | Ya | Ya | Ya | Ya | 
| Program Studio Keterlibatan | Ya | Ya | Ya | Ya | Ya | 
| Isi Folder | Ya | Ya | Ya | Ya | Ya | 
| Halaman Landing | Ya | Ya | Ya | Ya | Ya | 
| Riwayat Siklus Hidup | Ya | Ya | Ya | Ya | Ya | 
| Tahap Siklus Hidup | Ya | Ya | Ya | Ya | Ya | 
| Daftar | Ya | Ya | Ya | Ya | Ya | 
| Daftar Email | Ya | Ya | Ya | Ya | Ya | 
| Daftar Keanggotaan | Ya | Ya | Ya | Ya | Ya | 
| Peluang | Ya | Ya | Ya | Ya | Ya | 
| Prospek | Ya | Ya | Ya | Ya | Ya | 
| Akun Prospek | Ya | Ya | Ya | Ya | Ya | 
| Pengguna | Ya | Ya | Ya | Ya | Ya | 

**Contoh:**

```
salesforcepardot_read = glueContext.create_dynamic_frame.from_options(
    connection_type="SalesforcePardot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v5"
    }
   )
```

**Entitas yang didukung untuk sumber Async**:


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih\$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| Kampanye | Ya | Tidak | Tidak | Ya | Tidak | 
| Konten Dinamis | Ya | Tidak | Tidak | Ya | Tidak | 
| Template Email | Ya | Tidak | Tidak | Ya | Tidak | 
| Halaman Landing | Ya | Tidak | Tidak | Ya | Tidak | 
| Riwayat Siklus Hidup | Ya | Tidak | Tidak | Ya | Tidak | 
| Tahap Siklus Hidup | Ya | Tidak | Tidak | Ya | Tidak | 
| Daftar | Ya | Tidak | Tidak | Ya | Tidak | 
| Daftar Email | Ya | Tidak | Tidak | Ya | Tidak | 
| Daftar Keanggotaan | Ya | Tidak | Tidak | Ya | Tidak | 
| Peluang | Ya | Tidak | Tidak | Ya | Tidak | 
| Prospek | Ya | Tidak | Tidak | Ya | Tidak | 
| Akun Prospek | Ya | Tidak | Tidak | Ya | Tidak | 
| Pengguna | Ya | Tidak | Tidak | Ya | Tidak | 

**Contoh:**

```
salesforcepardot_read = glueContext.create_dynamic_frame.from_options(
    connection_type="SalesforcePardot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v5",
        "TRANSFER_MODE": "ASYNC"
    }
   )
```

**Entitas dan detail bidang Keterlibatan Akun Cloud Pemasaran Salesforce**:

Untuk melihat detail bidang untuk entitas berikut, navigasikan ke [Salesforce Marketing Cloud Account Engagement API](https://developer.salesforce.com/docs/marketing/pardot), pilih **Guides**, gulir ke bawah ke **Open Source API Wrappers, perluas** **Versi 5 Docs** dari menu dan pilih entitas.

Daftar entitas:
+ Kampanye
+ Konten Dinamis
+ Email
+ Template Email
+ Program Studio Keterlibatan
+ Konten Folder
+ Halaman Landing
+ Riwayat Siklus Hidup
+ Tahap Siklus Hidup
+ Daftar
+ Daftar Email
+ Daftar Keanggotaan
+ Peluang
+ Prospek
+ Akun Prospek
+ Pengguna

Selain bidang yang disebutkan di atas, mode Async mendukung bidang yang dapat difilter khusus untuk setiap entitas, seperti yang ditunjukkan pada tabel di bawah ini.


| Entitas | Bidang disaring tambahan yang didukung di Async | 
| --- | --- | 
| Kampanye | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Konten Dinamis | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Template Email | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Program Studio Keterlibatan | - | 
| Halaman Landing | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Riwayat Siklus Hidup | createdAfter, createdBefore | 
| Tahap Siklus Hidup | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Daftar | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Daftar Email | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Daftar Keanggotaan | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Peluang | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Prospek | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Akun Prospek | createdAfter, createdBefore, deleted | 
| Pengguna | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 

Untuk informasi selengkapnya tentang bidang tambahan, lihat [Salesforce](https://developer.salesforce.com/docs/marketing/pardot/guide/export-v5.html#procedures) Export API

Perhatikan pertimbangan berikut untuk konektor:
+ Nilai `delete` bidang dalam entitas dapat `false` (default),`true`, atau`all`.

## Mempartisi kueri
<a name="salesforce-marketing-cloud-account-engagement-reading-partitioning-queries"></a>

Partisi **berbasis filter**:

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 bidang Datetime, kami menerima format stempel waktu Spark yang digunakan dalam kueri SQL. SPark 

  Contoh nilai valid:

  ```
  "2022-01-01T01:01:01.000Z"
  ```
+ `UPPER_BOUND`: nilai batas atas **eksklusif** dari bidang partisi yang dipilih.
+ `NUM_PARTITIONS`: jumlah partisi.
+ `PARTITION_BY`: jenis partisi yang akan dilakukan. “FIELD” harus diteruskan jika terjadi partisi berbasis lapangan.

Contoh:

```
salesforcepardot_read = glueContext.create_dynamic_frame.from_options(
    connection_type="salesforcepardot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v5",
        "PARTITION_FIELD": "createdAt"
        "LOWER_BOUND": "2022-01-01T01:01:01.000Z"
        "UPPER_BOUND": "2024-01-01T01:01:01.000Z"
        "NUM_PARTITIONS": "10",
        "PARTITION_BY": "FIELD"
    }
   )
```

# Opsi koneksi Keterlibatan Akun Cloud Pemasaran Salesforce
<a name="salesforce-marketing-cloud-account-engagement-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Salesforce Marketing Cloud Account Engagement:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama objek Anda di Salesforce Marketing Cloud Account Engagement.
+ `PARDOT_BUSINESS_UNIT_ID`- (Wajib) Digunakan untuk membuat koneksi. ID unit bisnis dari instans Keterlibatan Akun Cloud Pemasaran Salesforce Marketing yang ingin Anda sambungkan.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Salesforce Marketing Cloud Account Engagement Rest versi API yang ingin Anda gunakan.
+ `SELECTED_FIELDS`(Daftar<String>) - Default: kosong (SELECT \$1). Digunakan untuk Baca. Kolom yang ingin Anda pilih untuk objek.
+ `FILTER_PREDICATE`(Tali) -
  + Dalam mode Sinkronisasi - Default: kosong. Digunakan untuk Baca. Itu harus dalam format Spark SQL.
  + Dalam mode Async - Default: `DateTime` Nilai saat ini (sesuai zona waktu pengguna) - 1 tahun. Digunakan untuk Baca.
+ `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.
+ `INSTANCE_URL`(String) - (Diperlukan) Digunakan untuk Baca. URL instans Keterlibatan Akun Cloud Pemasaran Salesforce yang valid.
+ `PARTITION_BY`(String) - (Diperlukan) Digunakan untuk Baca. Jenis partisi yang akan dilakukan. “FIELD” harus diteruskan jika terjadi partisi berbasis lapangan.
+ `TRANSFER_MODE`(String) - (Opsional), Nilai yang akan digunakan untuk menjalankan pekerjaan dalam mode ASYNC, jika opsi ini tidak diberikan pekerjaan akan berjalan dalam mode SYNC.

# Keterbatasan dan catatan untuk konektor Keterlibatan Akun Cloud Pemasaran Salesforce
<a name="salesforce-marketing-cloud-account-engagement-connector-limitations"></a>

Catatan dan batasan berikut berlaku:
+ Ketika batas dan partisi diterapkan, batas lebih diutamakan daripada partisi.
+ Sesuai dengan Dokumen API, `SalesforceMarketingCloudEngagement` diberlakukan RateLimit pada permintaan harian dan bersamaan. Untuk informasi selengkapnya, lihat [Batas Tarif](https://developer.salesforce.com/docs/marketing/pardot/guide/overview.html?q=limitation#rate-limits).
+ API Ekspor tunduk pada batas panggilan API Keterlibatan Akun harian dan batas panggilan API Keterlibatan Akun bersamaan untuk akun Anda.
+ Mirip dengan antrian, panggilan Export/Async API dijalankan secara berurutan untuk setiap akun. Ekspor yang lebih tua diproses sebelum ekspor yang lebih baru.
+ Partisi tidak didukung dalam mode Async.
+ Jumlah bidang yang dipilih yang ditentukan dalam panggilan Export/Async API tidak boleh melebihi 150.
+ Entitas **Prospect** mendukung lebih dari 150 bidang, tetapi hanya 150 bidang yang dapat dipilih sekaligus. Jika `Select All` dipilih, beberapa bidang akan dikecualikan. Untuk mengambil data untuk bidang yang dikecualikan ini, Anda harus memasukkannya ke dalam `Selected Fields` opsi.

  Berikut ini adalah daftar bidang yang dikecualikan di `SELECT_ALL` - `updatedBy.firstName``updatedBy.lastName`,`updatedBy.jobTitle`,`updatedBy.roleName`,`updatedBy.salesforceId`,`updatedBy.createdAt`,`updatedBy.updatedAt`,`updatedBy.isDeleted`,`updatedBy.createdById`,`updatedBy.updatedById`, `updatedBy.tagReplacementLanguage`
+ Kolom koleksi tidak dapat diekspor untuk Async. Misalnya, pada Daftar Email, `replyToOptions` bidang `senderOptions` dan tidak didukung.
+ Untuk semua entitas, filter adalah wajib. Jika tidak ada filter yang disediakan, predikat filter default diatur ke `Created After` bidang dengan nilai tanggal-waktu saat ini (disesuaikan dengan zona waktu Anda) dikurangi satu tahun.
+ Sesuai batasan Keterlibatan Akun Cloud Pemasaran Salesforce, di Async, rentang maksimum untuk mengambil data adalah 1 tahun. Jika kueri disediakan selama lebih dari 1 tahun, pekerjaan akan menimbulkan kesalahan. 
+ Saat ini, ada bug di Salesforce Pardot. Ketika pekerjaan hanya mencakup satu bidang yang tidak memiliki data apa pun, nilai bidang tidak mengembalikan hasil yang benar dan sebagai gantinya, nama bidang dikembalikan beberapa kali. Tim Salesforce Pardot menyadari masalah ini dan secara aktif mengerjakan resolusi.

# Menyambung ke SAP HANA di AWS Glue Studio
<a name="connecting-to-data-saphana"></a>

 AWS Gluemenyediakan dukungan bawaan untuk SAP HANA. AWS Glue Studiomenyediakan antarmuka visual untuk terhubung ke SAP HANA, pekerjaan integrasi data penulis, dan menjalankannya pada runtime Spark AWS Glue Studio tanpa server. 

 AWS Glue Studio membuat koneksi terpadu untuk SAP HANA. Untuk informasi selengkapnya, lihat [Pertimbangan-pertimbangan](using-connectors-unified-connections.md#using-connectors-unified-connections-considerations). 

**Topics**
+ [Membuat koneksi SAP HANA](creating-saphana-connection.md)
+ [Membuat node sumber SAP HANA](creating-saphana-source-node.md)
+ [Membuat node target SAP HANA](creating-saphana-target-node.md)
+ [Opsi lanjutan](#creating-saphana-connection-advanced-options)

# Membuat koneksi SAP HANA
<a name="creating-saphana-connection"></a>

Untuk terhubung ke SAP HANA dari AWS Glue, Anda harus membuat dan menyimpan kredensi SAP HANA Anda secara AWS Secrets Manager rahasia, kemudian mengaitkan rahasia itu dengan koneksi SAP HANA. AWS Glue Anda perlu mengkonfigurasi konektivitas jaringan antara layanan SAP HANA Anda dan AWS Glue.

**Prasyarat**:
+ Jika layanan SAP HANA Anda berada di VPC Amazon, konfigurasikan Amazon VPC untuk memungkinkan pekerjaan AWS Glue Anda berkomunikasi dengan layanan SAP HANA tanpa lalu lintas melintasi internet publik.

  Di Amazon VPC, identifikasi atau buat **grup **VPC**, **Subnet**, dan Keamanan** yang AWS Glue akan digunakan saat menjalankan pekerjaan. Selain itu, Anda perlu memastikan Amazon VPC dikonfigurasi untuk mengizinkan lalu lintas jaringan antara titik akhir SAP HANA Anda dan lokasi ini. Pekerjaan Anda perlu membuat koneksi TCP dengan port SAP HANA JDBC Anda. Untuk informasi selengkapnya tentang port SAP HANA, lihat dokumentasi [SAP HANA](https://help.sap.com/docs/HANA_SMART_DATA_INTEGRATION/7952ef28a6914997abc01745fef1b607/88e2e8bded9e4041ad3ad87dc46c7b55.html?locale=en-US). Berdasarkan tata letak jaringan Anda, ini mungkin memerlukan perubahan pada aturan grup keamanan, Jaringan, Gateway NAT ACLs, dan koneksi Peering.

**Untuk mengkonfigurasi koneksi ke SAP HANA:**

1. Di AWS Secrets Manager, buat rahasia menggunakan kredensi SAP HANA Anda. Untuk membuat rahasia di Secrets Manager, ikuti tutorial yang tersedia di [Buat AWS Secrets Manager rahasia](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret.html) dalam AWS Secrets Manager dokumentasi. Setelah membuat rahasia, simpan nama Rahasia, *secretName* untuk langkah selanjutnya. 
   + Saat memilih **pasangan kunci/nilai**, buat pasangan untuk kunci `username/USERNAME` dengan nilainya. *saphanaUsername*
   + Saat memilih **pasangan kunci/nilai**, buat pasangan untuk kunci `password/PASSWORD` dengan nilainya. *saphanaPassword*

1. Di AWS Glue konsol, buat koneksi dengan mengikuti langkah-langkah di[Menambahkan AWS Glue koneksi](console-connections.md). Setelah membuat koneksi, pertahankan nama koneksi,*connectionName*, untuk penggunaan masa depan di AWS Glue. 
   + Saat memilih **jenis Koneksi**, pilih SAP HANA.
   + Saat memberikan **URL SAP HANA**, berikan URL untuk instance Anda.

     SAP HANA JDBC URLs ada dalam bentuk `jdbc:sap://saphanaHostname:saphanaPort/?databaseName=saphanaDBname,ParameterName=ParameterValue`

     AWS Glue memerlukan parameter URL JDBC berikut: 
     + `databaseName`— Database default di SAP HANA untuk terhubung ke.
   + Saat memilih **AWS Rahasia**, berikan*secretName*.

Setelah membuat koneksi AWS Glue SAP HANA, Anda harus melakukan langkah-langkah berikut sebelum menjalankan AWS Glue pekerjaan Anda:
+ Berikan peran IAM yang terkait dengan izin AWS Glue pekerjaan Anda untuk membaca*secretName*.

# Membuat node sumber SAP HANA
<a name="creating-saphana-source-node"></a>

## Prasyarat yang dibutuhkan
<a name="creating-saphana-source-node-prerequisites"></a>
+ Koneksi AWS Glue SAP HANA, dikonfigurasi dengan AWS Secrets Manager rahasia, seperti yang dijelaskan di bagian sebelumnya,[Membuat koneksi SAP HANA](creating-saphana-connection.md).
+ Izin yang sesuai pada pekerjaan Anda untuk membaca rahasia yang digunakan oleh koneksi.
+ Tabel SAP HANA yang ingin Anda baca,*tableName*, atau kueri*targetQuery*.

  Sebuah tabel dapat ditentukan dengan nama tabel SAP HANA dan nama skema, dalam formulir. `schemaName.tableName` Nama skema dan pemisah “.” tidak diperlukan jika tabel dalam skema default, “publik”. Panggil ini*tableIdentifier*. Perhatikan bahwa database disediakan sebagai parameter URL JDBC di. `connectionName`

## Menambahkan sumber data SAP HANA
<a name="creating-saphana-source-node-add"></a>

**Untuk menambahkan **sumber Data — SAP HANA** node:**

1.  Pilih koneksi untuk sumber data SAP HANA Anda. Karena Anda telah membuatnya, itu harus tersedia di dropdown. Jika Anda perlu membuat koneksi, pilih **Buat koneksi SAP HANA**. Untuk informasi lebih lanjut lihat bagian sebelumnya,[Membuat koneksi SAP HANA](creating-saphana-connection.md). 

    Setelah Anda memilih koneksi, Anda dapat melihat properti koneksi dengan mengklik **Lihat properti**. 

1.  Pilih opsi **Sumber SAP HANA**: 
   +  **Pilih satu tabel** — akses semua data dari satu tabel. 
   +  **Masukkan kueri kustom** — akses kumpulan data dari beberapa tabel berdasarkan kueri kustom Anda. 

1.  Jika Anda memilih satu tabel, masukkan*tableName*. 

    Jika Anda memilih **Masukkan kueri kustom**, masukkan kueri SQL SELECT. 

1.  Di **properti Custom SAP HANA**, masukkan parameter dan nilai sesuai kebutuhan. 

# Membuat node target SAP HANA
<a name="creating-saphana-target-node"></a>

## Prasyarat yang dibutuhkan
<a name="creating-saphana-target-node-prerequisites"></a>
+ Koneksi AWS Glue SAP HANA, dikonfigurasi dengan AWS Secrets Manager rahasia, seperti yang dijelaskan di bagian sebelumnya,[Membuat koneksi SAP HANA](creating-saphana-connection.md).
+ Izin yang sesuai pada pekerjaan Anda untuk membaca rahasia yang digunakan oleh koneksi.
+ Meja SAP HANA yang ingin Anda tulis,*tableName*.

  Sebuah tabel dapat ditentukan dengan nama tabel SAP HANA dan nama skema, dalam formulir. `schemaName.tableName` Nama skema dan pemisah “.” tidak diperlukan jika tabel dalam skema default, “publik”. Panggil ini*tableIdentifier*. Perhatikan bahwa database disediakan sebagai parameter URL JDBC di. `connectionName`

## Menambahkan target data SAP HANA
<a name="creating-saphana-target-node-add"></a>

**Untuk menambahkan **target Data — SAP HANA** node:**

1.  Pilih koneksi untuk sumber data SAP HANA Anda. Karena Anda telah membuatnya, itu harus tersedia di dropdown. Jika Anda perlu membuat koneksi, pilih **Buat koneksi SAP HANA**. Untuk informasi lebih lanjut lihat bagian sebelumnya,[Membuat koneksi SAP HANA](creating-saphana-connection.md). 

    Setelah Anda memilih koneksi, Anda dapat melihat properti koneksi dengan mengklik **Lihat properti**. 

1. Konfigurasikan **nama Tabel** dengan menyediakan*tableName*.

1.  Di **properti Custom Teradata**, masukkan parameter dan nilai sesuai kebutuhan. 

## Opsi lanjutan
<a name="creating-saphana-connection-advanced-options"></a>

Anda dapat memberikan opsi lanjutan saat membuat node SAP HANA. Opsi ini sama dengan yang tersedia saat pemrograman AWS Glue untuk skrip Spark.

Lihat [Koneksi SAP HANA](aws-glue-programming-etl-connect-saphana-home.md). 

# Menghubungkan ke SAP OData
<a name="connecting-to-data-sap-odata"></a>

SAP OData adalah protokol Web standar yang digunakan untuk query dan memperbarui data yang ada di SAP menggunakan ABAP (Advanced Business Application Programming), menerapkan dan membangun teknologi Web seperti HTTP untuk menyediakan akses ke informasi dari berbagai aplikasi eksternal, platform dan perangkat. Dengan produk ini, Anda dapat mengakses semua yang Anda butuhkan untuk membantu Anda mengintegrasikan dengan mulus dengan sistem, aplikasi, atau data SAP Anda.

**Topics**
+ [AWS Glue Dukungan untuk SAP OData](sap-odata-support.md)
+ [Buat koneksi](sap-odata-creating-connections.md)
+ [Membuat pekerjaan SAP OData](sap-odata-creating-job.md)
+ [Menulis ke SAP OData](sap-odata-writing.md)
+ [Menggunakan skrip manajemen OData status SAP](sap-odata-state-management-script.md)
+ [Partisi untuk entitas Non ODP](sap-odata-non-odp-entities-partitioning.md)
+ [Opsi OData koneksi SAP](sap-odata-connection-options.md)
+ [OData Entitas SAP dan detail bidang](sap-odata-entity-field-details.md)

# AWS Glue Dukungan untuk SAP OData
<a name="sap-odata-support"></a>

AWS Glue mendukung SAP OData sebagai berikut:

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

**Didukung sebagai target?**  
Ya. Anda dapat menggunakan pekerjaan AWS Glue ETL untuk menulis catatan ke SAP OData.

**Versi SAP OData API yang didukung**  
Versi SAP OData API berikut didukung:
+ 2.0

**Sumber yang didukung**  
Sumber-sumber berikut didukung:
+ Sumber ODP (Penyediaan Data Operasional):
  + Ekstraktor BW () DataSources
  + Tampilan CDS
  + SLT
+ Sumber non-ODP, misalnya:
  + CDS Lihat Layanan
  + Layanan Berbasis RFC
  + Layanan ABAP Kustom

**Komponen SAP yang Didukung**  
Berikut ini adalah persyaratan minimum:
+ Anda harus mengaktifkan layanan katalog untuk penemuan layanan.
  + Konfigurasikan sumber data penyediaan data operasional (ODP) untuk ekstraksi di SAP Gateway sistem SAP Anda.
  + **OData V2.0**: Aktifkan layanan katalog OData V2.0 di SAP Gateway Anda melalui transaksi. `/IWFND/MAINT_SERVICE`
  + Aktifkan layanan OData V2.0 di SAP Gateway Anda melalui transaksi. `/IWFND/MAINT_SERVICE`
  +  OData Layanan SAP Anda harus mendukung pagination/query opsi sisi klien seperti `$top` dan`$skip`. Itu juga harus mendukung opsi kueri sistem`$count`.
  + Anda harus memberikan otorisasi yang diperlukan bagi pengguna di SAP untuk menemukan layanan dan mengekstrak data menggunakan layanan SAP OData . Lihat dokumentasi keamanan yang disediakan oleh SAP.
+ Jika Anda ingin menggunakan OAuth 2.0 sebagai mekanisme otorisasi, Anda harus mengaktifkan OAuth 2.0 untuk OData layanan dan mendaftarkan OAuth klien per dokumentasi SAP.
+ Untuk menghasilkan OData layanan berdasarkan sumber data ODP, SAP Gateway Foundation harus diinstal secara lokal di ERP/BW tumpukan Anda atau dalam konfigurasi hub.
  + Untuk ERP/BW aplikasi Anda, tumpukan SAP NetWeaver AS ABAP harus pada 7,50 SP02 atau lebih tinggi.
  + Untuk sistem hub (SAP Gateway), SAP NetWeaver AS ABAP dari sistem hub harus 7,50 SP01 atau lebih tinggi untuk pengaturan hub jarak jauh.
+ Untuk sumber non-ODP, versi NetWeaver stack SAP Anda harus 7.40 SP02 atau lebih tinggi.

**Metode Otentikasi yang Didukung**  
Metode otentikasi berikut didukung:
+ Otentikasi Dasar
+ OAuth 2.0

# Prasyarat
<a name="sap-odata-prerequisites"></a>

Sebelum memulai AWS Glue pekerjaan untuk ekstraksi data dari SAP OData menggunakan OData koneksi SAP, selesaikan prasyarat berikut:
+  OData Layanan SAP yang relevan harus diaktifkan dalam sistem SAP, memastikan sumber data tersedia untuk dikonsumsi. Jika OData layanan tidak diaktifkan, pekerjaan Glue tidak akan dapat mengakses atau mengekstrak data dari SAP.
+ Mekanisme otentikasi yang tepat seperti otentikasi dasar (kustom) atau OAuth 2.0 harus dikonfigurasi dalam SAP untuk memastikan bahwa AWS Glue pekerjaan tersebut dapat berhasil membuat koneksi dengan layanan SAP. OData 
+ Konfigurasikan kebijakan IAM untuk memberikan izin AWS Glue pekerjaan yang sesuai untuk mengakses SAP, Secrets Manager, dan AWS sumber daya lain yang terlibat dalam proses tersebut.
+ Jika sistem SAP di-host dalam jaringan pribadi, konektivitas VPC harus dikonfigurasi untuk memastikan bahwa AWS Glue pekerjaan dapat berkomunikasi dengan aman dengan SAP tanpa mengekspos data sensitif melalui internet publik.

AWS Secrets Manager dapat digunakan untuk menyimpan informasi sensitif dengan aman seperti kredensi SAP, yang AWS Glue pekerjaan dapat diambil secara dinamis saat runtime. Pendekatan ini menghilangkan kebutuhan akan kredensi kode keras, meningkatkan keamanan dan fleksibilitas.

Prasyarat berikut memberikan step-by-step panduan tentang cara mengatur setiap komponen untuk kelancaran integrasi antara dan SAP. AWS Glue OData

**Topics**
+ [Aktivasi SAP OData](sap-odata-activation.md)
+ [Kebijakan IAM](sap-odata-configuring-iam-permissions.md)
+ [Konektivitas/Koneksi VPC](sap-odata-connectivity-vpc-connection.md)
+ [Otentikasi SAP](sap-odata-authentication.md)
+ [AWS Secrets Manager untuk menyimpan rahasia Auth Anda](sap-odata-aws-secret-manager-auth-secret.md)

# Aktivasi SAP OData
<a name="sap-odata-activation"></a>

Selesaikan langkah-langkah berikut untuk OData koneksi SAP:

## Sumber ODP
<a name="sap-odata-odp-sources"></a>

Sebelum Anda dapat mentransfer data dari penyedia ODP, Anda harus memenuhi persyaratan berikut:
+ Anda memiliki instance SAP NetWeaver AS ABAP.
+  NetWeaver Instans SAP Anda berisi penyedia ODP yang ingin Anda transfer datanya. Penyedia ODP meliputi:
  + SAP DataSources (Kode RSO2 transaksi)
  + Layanan Data Inti SAP Tampilan CDS ABAP
  + Sistem SAP BW atau SAP BW/4HANA (, Objek) InfoObject DataStore 
  + Replikasi Tabel dan tampilan DB secara real-time dari Sistem Sumber SAP melalui SAP Landscape Replication Server (SAP SLT)
  + Tampilan Informasi SAP HANA di Sumber berbasis SAP ABAP
+  NetWeaver Instans SAP Anda memiliki komponen SAP Gateway Foundation.
+ Anda telah membuat OData layanan yang mengekstrak data dari penyedia ODP Anda. Untuk membuat OData layanan, Anda menggunakan SAP Gateway Service Builder. Untuk mengakses data ODP Anda, Amazon AppFlow memanggil layanan ini dengan menggunakan OData API. Untuk informasi selengkapnya, lihat [Menghasilkan Layanan untuk Mengekstrak Data ODP melalui OData dokumentasi](https://help.sap.com/docs/SAP_BPC_VERSION_BW4HANA/dd104a87ab9249968e6279e61378ff66/69b481859ef34bab9cc7d449e6fff7b6.html?version=11.0) SAP BW/4HANA.
+ Untuk menghasilkan OData layanan berdasarkan sumber data ODP, SAP Gateway Foundation harus diinstal secara lokal di ERP/BW tumpukan Anda atau dalam konfigurasi hub.
  + Untuk ERP/BW aplikasi Anda, tumpukan SAP NetWeaver AS ABAP harus pada 7,50 SP02 atau lebih tinggi.
  + Untuk sistem hub (SAP Gateway), SAP NetWeaver AS ABAP dari sistem hub harus 7,50 SP01 atau lebih tinggi untuk pengaturan hub jarak jauh.

## Sumber Non-ODP
<a name="sap-odata-non-odp-sources"></a>
+ Versi SAP NetWeaver stack Anda harus 7.40 SP02 atau lebih tinggi.
+ Anda harus mengaktifkan layanan katalog untuk penemuan layanan.
  + **OData V2.0**: Layanan katalog OData V2.0 dapat diaktifkan di SAP Gateway Anda melalui transaksi `/IWFND/MAINT_SERVICE`
+  OData Layanan SAP Anda harus mendukung pagination/query opsi sisi klien seperti `$top` dan`$skip`. Itu juga harus mendukung opsi kueri sistem`$count`.
+ Untuk OAuth 2.0, Anda harus mengaktifkan OAuth 2.0 untuk OData layanan dan mendaftarkan OAuth klien per dokumentasi SAP dan mengatur URL pengalihan resmi sebagai berikut:
  + `https://<region>.console.aws.amazon.com/gluestudio/oauth`, mengganti `<region>` dengan wilayah tempat AWS Glue berjalan, contoh: us-east-1. 
  + Anda harus mengaktifkan pengaturan aman untuk menghubungkan melalui HTTPS.
+ Anda harus memberikan otorisasi yang diperlukan bagi pengguna di SAP untuk menemukan layanan dan mengekstrak data menggunakan layanan SAP OData . Silakan merujuk ke dokumentasi keamanan yang disediakan oleh SAP.

# Kebijakan IAM
<a name="sap-odata-configuring-iam-permissions"></a>

## Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="sap-odata-policies-api-operations"></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": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "secretsmanager:DescribeSecret",
        "secretsmanager:GetSecretValue",
        "secretsmanager:PutSecretValue"
      ],
      "Resource": "*"
    }
  ]
}
```

------

Peran harus memberikan akses ke semua sumber daya yang digunakan oleh pekerjaan, misalnya Amazon S3. 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.
+ [SecretsManagerReadWrite](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/SecretsManagerReadWrite)— Menyediakan read/write akses ke AWS Secrets Manager melalui AWS Management Console. Catatan: ini tidak termasuk tindakan IAM, jadi gabungkan dengan `IAMFullAccess` jika konfigurasi rotasi diperlukan.

**IAM Policies/Permissions diperlukan untuk mengkonfigurasi VPC**

Izin IAM berikut diperlukan saat menggunakan koneksi VPC untuk membuat Koneksi. AWS Glue Untuk detail selengkapnya, lihat [membuat kebijakan IAM untuk AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/create-service-policy.html).

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

****  

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

------

# Konektivitas/Koneksi VPC
<a name="sap-odata-connectivity-vpc-connection"></a>

Langkah-langkah untuk Koneksi VPC:

1. Gunakan koneksi VPC yang ada atau buat koneksi baru dengan mengikuti dokumentasi Amazon [VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html).

1. Pastikan Anda memiliki NAT Gateway yang mengarahkan lalu lintas ke internet.

1. Pilih titik akhir VPC sebagai Amazon S3 Gateway untuk membuat koneksi.

1. Aktifkan resolusi DNS dan nama host DNS untuk menggunakan Layanan DNS yang AWS disediakan.

1. Buka VPC yang dibuat dan tambahkan titik akhir yang diperlukan untuk berbagai layanan seperti STS, AWS Glue, Manajer Rahasia.

   1. Pilih Buat Titik Akhir.

   1. Untuk Kategori Layanan, pilih AWS Layanan.

   1. Untuk Nama Layanan, pilih layanan yang Anda sambungkan.

   1. Pilih VPC dan Aktifkan Nama DNS.

   1. Titik Akhir VCP diperlukan untuk koneksi VPC:

      1. [STS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sts_vpc_endpoint_create.html)

      1. [AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/vpc-interface-endpoints.html)

      1. [Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/vpc-endpoint-overview.html)

## Konfigurasi Grup Keamanan
<a name="sap-odata-security-group-configuration"></a>

Grup keamanan harus mengizinkan lalu lintas ke port pendengarnya dari AWS Glue VPC AWS Glue agar dapat terhubung dengannya. Ini adalah praktik yang baik untuk membatasi jangkauan alamat IP sumber sebanyak mungkin. 

AWS Glue membutuhkan kelompok keamanan khusus yang memungkinkan semua lalu lintas masuk dari dirinya sendiri. Anda dapat membuat aturan referensi diri yang memungkinkan semua lalu lintas yang berasal dari grup keamanan. Anda dapat memodifikasi grup keamanan yang ada dan menentukan grup keamanan sebagai sumber.

Buka komunikasi dari port HTTPS dari endpoint URL (baik NLB atau SAP instance).

## Opsi konektivitas
<a name="sap-odata-connectivity-options"></a>
+ Koneksi HTTPS dengan NLB internal dan eksternal, sertifikat SSL dari otoritas sertifikat (CA), bukan sertifikat SSL yang ditandatangani sendiri
+ Koneksi HTTPS dengan sertifikat SSL instance SAP dari otoritas sertifikat (CA), bukan sertifikat SSL yang ditandatangani sendiri

# Otentikasi SAP
<a name="sap-odata-authentication"></a>

Konektor SAP mendukung Custom (ini adalah otentikasi SAP BASIC) dan metode otentikasi OAUTH.

## Otentikasi Kustom
<a name="sap-odata-custom-authentication"></a>

AWS Glue mendukung Custom (Basic Authentication) sebagai metode untuk membangun koneksi ke sistem SAP Anda, memungkinkan penggunaan username dan password untuk akses aman. Jenis autentikasi ini berfungsi dengan baik untuk skenario otomatisasi karena memungkinkan penggunaan nama pengguna dan kata sandi di depan dengan izin pengguna tertentu dalam instance SAP OData . AWS Glue dapat menggunakan nama pengguna dan kata sandi untuk mengautentikasi SAP OData APIs. Pada tahun AWS Glue, otorisasi dasar diimplementasikan sebagai otorisasi khusus.

Untuk OData dokumentasi SAP publik untuk alur Auth Dasar, lihat [HTTP Basic](https://help.sap.com/docs/SAP_SUCCESSFACTORS_PLATFORM/d599f15995d348a1b45ba5603e2aba9b/5c8bca0af1654b05a83193b2922dcee2.html) Authentication.

## OAuth 2.0 Otentikasi
<a name="sap-odata-oauth-2.0-authentication"></a>

AWS Glue juga mendukung OAuth 2.0 sebagai mekanisme otentikasi aman untuk membangun koneksi ke sistem SAP Anda. Ini memungkinkan integrasi tanpa batas sambil memastikan kepatuhan dengan standar otentikasi modern dan meningkatkan keamanan akses data.

## Jenis Hibah AUTHORIZATION\$1CODE
<a name="sap-odata-authentication-code-grant-type"></a>

Jenis hibah menentukan cara AWS Glue berkomunikasi dengan SAP OData untuk meminta akses ke data Anda. SAP hanya OData mendukung jenis `AUTHORIZATION_CODE` hibah. 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 masih dapat memilih untuk membuat aplikasi terhubung mereka sendiri di SAP OData dan memberikan ID klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue konsol. Dalam skenario ini, mereka masih akan diarahkan ke SAP untuk masuk dan memberi wewenang OData AWS Glue untuk mengakses sumber daya mereka.

Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses berumur pendek, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran.

Untuk OData dokumentasi SAP publik tentang membuat aplikasi yang terhubung untuk OAuth alur Kode Otorisasi, lihat [Autentikasi](https://help.sap.com/docs/ABAP_PLATFORM_NEW/e815bb97839a4d83be6c4fca48ee5777/2e5104fd87ff452b9acb247bd02b9f9e.html) Menggunakan 2.0. OAuth 

# AWS Secrets Manager untuk menyimpan rahasia Auth Anda
<a name="sap-odata-aws-secret-manager-auth-secret"></a>

Anda harus menyimpan rahasia OData koneksi SAP di AWS Secrets Manager, mengkonfigurasi izin yang diperlukan untuk pengambilan seperti yang ditentukan di [Kebijakan IAM](sap-odata-configuring-iam-permissions.md) bagian, dan menggunakannya saat membuat koneksi.

Gunakan AWS Management Console for AWS Secrets Manager untuk membuat rahasia untuk sumber SAP Anda. Untuk informasi selengkapnya, lihat [Membuat AWS rahasia Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html). Detail di AWS Secrets Manager harus menyertakan elemen dalam kode berikut. 

## Rahasia Otentikasi Kustom
<a name="sap-odata-custom-auth-secret"></a>

Anda harus memasukkan nama pengguna sistem SAP Anda sebagai pengganti** <your SAP username>dan kata sandinya menggantikan** <your SAP username password>dan Benar atau Salah. Dalam konteks ini, pengaturan `basicAuthDisableSSO` untuk `true` menonaktifkan Single Sign-On (SSO) untuk permintaan Otentikasi Dasar, yang memerlukan kredensi pengguna eksplisit untuk setiap permintaan. Sebaliknya, mengaturnya untuk `false` memungkinkan penggunaan sesi SSO yang ada jika tersedia.

```
{
   "basicAuthUsername": "<your SAP username>",
   "basicAuthPassword": "<your SAP username password>",
   "basicAuthDisableSSO": "<True/False>",
   "customAuthenticationType": "CustomBasicAuth"
}
```

## OAuth 2.0 Rahasia
<a name="sap-odata-oauth-2.0-secret"></a>

Jika Anda menggunakan OAuth 2.0 sebagai mekanisme otentikasi Anda, rahasia di AWS Secrets Manager harus memiliki **User Managed Client Application ClientId** dalam format berikut. <your client secret>Anda harus memasukkan rahasia klien SAP Anda sebagai pengganti.

```
{"USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET": "<your client secret>"
}
```

# Buat koneksi
<a name="sap-odata-creating-connections"></a>

Untuk mengkonfigurasi OData koneksi SAP:

1. Masuk ke Konsol AWS Manajemen dan buka [AWS Glue konsol](https://console.aws.amazon.com/glue). Di AWS Glue Studio, buat koneksi dengan mengikuti langkah-langkah di bawah ini:

   1. Klik Koneksi data di panel kiri.

   1. Klik Buat koneksi.

   1. Pilih **SAP OData** di **Pilih sumber data**

   1. Berikan **URL host Aplikasi** dari OData instance SAP yang ingin Anda sambungkan. URL host aplikasi ini harus dapat diakses melalui internet publik untuk koneksi non VPC.

   1. Sediakan **jalur layanan Aplikasi** dari OData instance SAP yang ingin Anda sambungkan. Ini sama dengan jalur layanan katalog. Misalnya:`/sap/opu/odata/iwfnd/catalogservice;v=2`. AWS Glue tidak menerima jalur objek tertentu.

   1. Berikan **nomor Klien** dari OData instans SAP yang ingin Anda sambungkan. Nilai yang dapat diterima adalah [001-999]. Contoh: 010

   1. Berikan **nomor Port** dari OData instans SAP yang ingin Anda sambungkan. Contoh: 443

   1. Berikan **bahasa Logon** dari OData instance SAP yang ingin Anda sambungkan. Contoh: EN

   1. Pilih peran AWS IAM yang AWS Glue dapat mengasumsikan dan memiliki izin seperti yang diuraikan di bagian. [Kebijakan IAM](sap-odata-configuring-iam-permissions.md)

   1. Pilih **Jenis Otentikasi** yang ingin Anda gunakan untuk koneksi ini AWS Glue dari daftar dropdown: atau CUSTOM OAUTH2 

      1. KUSTOM - Pilih rahasia yang Anda buat seperti yang ditentukan di [AWS Secrets Manager untuk menyimpan rahasia Auth Anda](sap-odata-aws-secret-manager-auth-secret.md) bagian.

      1. OAUTH 2.0 - masukkan input berikut hanya dalam kasus 2.0: OAuth 

         1. Di bawah **Aplikasi Klien yang Dikelola Pengguna ClientId**, masukkan id klien Anda.

         1. `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET`(rahasia klien Anda) di AWS Secrets Manager yang Anda buat di [AWS Secrets Manager untuk menyimpan rahasia Auth Anda](sap-odata-aws-secret-manager-auth-secret.md) bagian ini.

         1. Di bawah **URL Kode Otorisasi, masukkan URL** kode otorisasi Anda.

         1. Di bawah **URL Token Otorisasi, masukkan URL** token otorisasi Anda.

         1. Di bawah **OAuth Lingkup**, masukkan OAuth cakupan Anda yang dipisahkan oleh spasi. Contoh: `/IWFND/SG_MED_CATALOG_0002 ZAPI_SALES_ORDER_SRV_0001`

   1. Pilih opsi jaringan jika Anda ingin menggunakan jaringan Anda. Untuk detail selengkapnya, lihat [Konektivitas/Koneksi VPC](sap-odata-connectivity-vpc-connection.md).

1. Berikan peran IAM yang terkait dengan izin AWS Glue pekerjaan Anda untuk membaca`secretName`. Untuk detail selengkapnya, lihat [Kebijakan IAM](sap-odata-configuring-iam-permissions.md).

1. Pilih **Uji koneksi** dan uji koneksi Anda. Jika tes koneksi lulus, klik berikutnya, masukkan nama koneksi Anda dan simpan koneksi Anda. Fungsionalitas koneksi uji tidak tersedia jika Anda telah memilih opsi Jaringan (VPC). 

# Membuat pekerjaan SAP OData
<a name="sap-odata-creating-job"></a>

Lihat [Membangun pekerjaan ETL visual dengan Studio AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/author-job-glue.html)

# Sumber Penyediaan Data Operasional (ODP)
<a name="sap-odata-operational-data-provisioning-sources"></a>

Operational Data Provisioning (ODP) menyediakan infrastruktur teknis yang dapat Anda gunakan untuk mendukung ekstraksi dan replikasi data untuk berbagai aplikasi target dan mendukung mekanisme delta dalam skenario ini. Dalam kasus prosedur delta, data dari sumber (Penyedia ODP) secara otomatis ditulis ke antrian delta (Operational Delta Queue — ODQ) menggunakan proses pembaruan atau diteruskan ke antrian delta menggunakan antarmuka ekstraktor. Penyedia ODP dapat berupa DataSource (extractors), ABAP Core Data Services Views (ABAP CDS Views), SAP BW atau SAP BW/4HANA, SAP Landscape Transformation Replication Server (SLT), dan Tampilan Informasi SAP HANA (tampilan perhitungan). Aplikasi target (disebut sebagai 'pelanggan' ODQ atau lebih umum “Konsumen ODP”) mengambil data dari antrian delta dan melanjutkan pemrosesan data.

## Beban penuh
<a name="sap-odata-full-load"></a>

Dalam konteks entitas SAP OData dan ODP, **Full Load** mengacu pada proses ekstraksi semua data yang tersedia dari entitas ODP dalam satu operasi. Operasi ini mengambil dataset lengkap dari sistem sumber, memastikan bahwa sistem target memiliki up-to-date salinan data entitas yang komprehensif. Beban penuh biasanya digunakan untuk sumber yang tidak mendukung beban tambahan atau ketika penyegaran sistem target diperlukan.

**Contoh**

Anda dapat secara eksplisit mengatur `ENABLE_CDC` bendera ke false, saat membuat. DynamicFrame Catatan: false `ENABLE_CDC` secara default, jika Anda tidak ingin menginisialisasi antrian delta, Anda tidak perlu mengirim bendera ini atau mengaturnya ke true. Tidak menyetel flag ini ke true akan menghasilkan ekstraksi beban penuh.

```
sapodata_df = glueContext.create_dynamic_frame.from_options(
    connection_type="SAPOData",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "ENABLE_CDC": "false"
    }, transformation_ctx=key)
```

## Beban tambahan
<a name="sap-odata-incremental-load"></a>

**Beban tambahan** dalam konteks entitas ODP (Operational Data Provisioning) melibatkan penggalian hanya data baru atau yang diubah (delta) dari sistem sumber sejak ekstraksi data terakhir, menghindari pra-pemrosesan catatan yang sudah diproses. Pendekatan ini secara signifikan meningkatkan efisiensi, mengurangi volume transfer data, meningkatkan kinerja, memastikan sinkronisasi yang efisien antar sistem, dan meminimalkan waktu pemrosesan, terutama untuk kumpulan data besar yang sering berubah.

# Transfer Inkremental berbasis Delta Token
<a name="sap-odata-incremental-transfers"></a>

Untuk mengaktifkan Transfer Inkremental menggunakan Change Data Capture (CDC) untuk entitas berkemampuan ODP yang mendukungnya, ikuti langkah-langkah berikut:

1. Buat pekerjaan Transfer Inkremental dalam mode skrip.

1. Saat membuat DataFrame or Glue DynamicFrame, Anda harus melewati opsi`"ENABLE_CDC": "True"`. Opsi ini memastikan bahwa Anda akan menerima Token Delta dari SAP, yang dapat digunakan untuk pengambilan data yang diubah selanjutnya.

Token delta akan hadir di baris terakhir kerangka data, di kolom DELTA\$1TOKEN. Token ini dapat digunakan sebagai opsi konektor dalam panggilan berikutnya untuk mengambil kumpulan data berikutnya secara bertahap.

**Contoh**
+ Kami mengatur `ENABLE_CDC` bendera ke`true`, saat membuat DynamicFrame. Catatan: `ENABLE_CDC` secara `false` default, jika Anda tidak ingin menginisialisasi antrian delta, Anda tidak perlu mengirim bendera ini atau mengaturnya ke true. Tidak menyetel flag ini ke true akan menghasilkan ekstraksi beban penuh.

  ```
  sapodata_df = glueContext.create_dynamic_frame.from_options(
      connection_type="SAPOData",
      connection_options={
          "connectionName": "connectionName",
          "ENTITY_NAME": "entityName",
          "ENABLE_CDC": "true"
      }, transformation_ctx=key)
  
  # Extract the delta token from the last row of the DELTA_TOKEN column
  delta_token_1 = your_logic_to_extract_delta_token(sapodata_df) # e.g., D20241029164449_000370000
  ```
+ Token delta yang diekstraksi dapat diteruskan sebagai opsi untuk mengambil peristiwa baru.

  ```
  sapodata_df_2 = glueContext.create_dynamic_frame.from_options(
      connection_type="SAPOData",
      connection_options={
          "connectionName": "connectionName",
          "ENTITY_NAME": "entityName",
          // passing the delta token retrieved in the last run
          "DELTA_TOKEN": delta_token_1
      } , transformation_ctx=key)
  
  # Extract the new delta token for the next run
  delta_token_2 = your_logic_to_extract_delta_token(sapodata_df_2)
  ```

Perhatikan bahwa catatan terakhir, di mana `DELTA_TOKEN` ada, bukan catatan transaksional dari sumber, dan hanya ada untuk tujuan meneruskan nilai token delta.

Terlepas dari`DELTA_TOKEN`, bidang berikut dikembalikan di setiap baris kerangka data. 
+ **GLUE\$1FETCH\$1SQ**: Ini adalah bidang urutan, yang dihasilkan dari stempel waktu EPOC dalam urutan catatan diterima, dan unik untuk setiap catatan. Ini dapat digunakan jika Anda perlu mengetahui atau menetapkan urutan perubahan dalam sistem sumber. Bidang ini hanya akan hadir untuk entitas yang diaktifkan ODP.
+ **DML\$1STATUS**: Ini akan ditampilkan `UPDATED` untuk semua catatan yang baru dimasukkan dan diperbarui dari sumber, dan `DELETED` untuk catatan yang telah dihapus dari sumber.

Untuk detail selengkapnya tentang cara mengelola status dan menggunakan kembali token delta untuk mengambil catatan yang diubah melalui contoh, lihat bagian tersebut. [Menggunakan skrip manajemen OData status SAP](sap-odata-state-management-script.md)

## Pembatalan Token Delta
<a name="sap-odata-invalidation"></a>

Token delta dikaitkan dengan koleksi layanan dan pengguna. Jika penarikan awal baru dimulai untuk koleksi layanan yang sama dan pengguna, semua token delta sebelumnya yang dikeluarkan sebagai hasil dari inisialisasi sebelumnya akan dibatalkan oleh layanan SAP. `“ENABLE_CDC” : “true”` OData Memanggil konektor dengan token delta yang kedaluwarsa akan menghasilkan pengecualian: 

`Could not open data access via extraction API RODPS_REPL_ODP_OPEN` 

# OData Layanan (Sumber Non-ODP)
<a name="sap-odata-non-odp-services"></a>

## Beban penuh
<a name="sap-odata-non-odp-full-load"></a>

Untuk sistem non-ODP (Operational Data Provisioning), **Full Load** melibatkan ekstraksi seluruh dataset dari sistem sumber dan memuatnya ke dalam sistem target. Karena sistem non-ODP tidak secara inheren mendukung mekanisme ekstraksi data canggih seperti delta, prosesnya mudah tetapi dapat intensif sumber daya tergantung pada ukuran data.

## Beban tambahan
<a name="sap-odata-non-odp-incremental-load"></a>

Untuk sistem atau entitas yang tidak mendukung **ODP (Operational Data Provisioning)**, transfer data inkremental dapat dikelola secara manual dengan menerapkan mekanisme berbasis stempel waktu untuk melacak dan mengekstrak perubahan.

**Transfer Inkremental Berbasis Timestamp**

Untuk entitas berkemampuan non-ODP (atau untuk entitas yang diaktifkan ODP yang tidak menggunakan flag ENABLE\$1CDC), kita dapat menggunakan `filteringExpression` opsi di konektor untuk menunjukkan `datetime` interval yang ingin kita ambil data. Metode ini bergantung pada bidang stempel waktu dalam data Anda yang mewakili kapan setiap catatan terakhir dibuat/dimodifikasi.

**Contoh**

Mengambil catatan yang berubah setelah 2024-01-01T 00:00:00.000

```
sapodata_df = glueContext.create_dynamic_frame.from_options(
    connection_type="SAPOData",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "filteringExpression": "LastChangeDateTime >= 2024-01-01T00:00:00.000"
    }, transformation_ctx=key)
```

Catatan: Dalam contoh ini, `LastChangeDateTime` adalah bidang yang mewakili kapan setiap rekaman terakhir diubah. Nama bidang yang sebenarnya dapat bervariasi tergantung pada OData entitas SAP spesifik Anda.

Untuk mendapatkan subset data baru dalam proses berikutnya, Anda akan memperbarui `filteringExpression` dengan stempel waktu baru. Biasanya, ini akan menjadi nilai stempel waktu maksimum dari data yang diambil sebelumnya.

**Contoh**

```
max_timestamp = get_max_timestamp(sapodata_df)  # Function to get the max timestamp from the previous run
next_filtering_expression = f"LastChangeDateTime > {max_timestamp}"

# Use this next_filtering_expression in your next run
```

Di bagian selanjutnya, kami akan memberikan pendekatan otomatis untuk mengelola transfer inkremental berbasis stempel waktu ini, menghilangkan kebutuhan untuk memperbarui ekspresi pemfilteran secara manual di antara proses.

# Menulis ke SAP OData
<a name="sap-odata-writing"></a>

 Bagian ini menjelaskan cara menulis data ke OData Layanan SAP Anda menggunakan AWS Glue konektor untuk SAP OData. 

**Prasyarat**
+ Akses ke layanan SAP OData 
+  OData EntitySet Objek SAP yang ingin Anda tulis. Anda akan membutuhkan nama Object.
+  OData Kredensi SAP yang valid dan koneksi yang valid
+ Izin yang sesuai seperti yang dijelaskan dalam kebijakan [IAM](https://docs.aws.amazon.com/glue/latest/dg/sap-odata-configuring-iam-permissions.html)

 OData Konektor SAP mendukung dua operasi tulis:
+ INSERT
+ UPDATE

Saat menggunakan operasi tulis UPDATE, ID\$1FIELD\$1NAMES harus disediakan untuk menentukan bidang ID eksternal untuk catatan.

**Contoh:**

```
sapodata_write = glueContext.write_dynamic_frame.from_options(
    frame=frameToWrite,
    connection_type="sapodata",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "WRITE_OPERATION": "INSERT"
    }
```

# Menggunakan skrip manajemen OData status SAP
<a name="sap-odata-state-management-script"></a>

Untuk menggunakan skrip manajemen OData status SAP dalam AWS Glue pekerjaan Anda, ikuti langkah-langkah ini:
+ Unduh skrip manajemen negara: `s3://aws-blogs-artifacts-public/artifacts/BDB-4789/sap_odata_state_management.zip ` dari ember Amazon S3 publik.
+ Unggah skrip ke bucket Amazon S3 yang memiliki izin untuk diakses oleh AWS Glue pekerjaan Anda.
+ Referensikan skrip dalam AWS Glue pekerjaan Anda: Saat membuat atau memperbarui AWS Glue pekerjaan Anda, berikan `'--extra-py-files'` opsi yang mereferensikan jalur skrip di bucket Amazon S3 Anda. Misalnya: `--extra-py-files s3://your-bucket/path/to/sap_odata_state_management.py`
+ Impor dan gunakan pustaka manajemen negara bagian dalam skrip AWS Glue pekerjaan Anda.

## Contoh Transfer Inkremental berbasis delta-token
<a name="sap-odata-delta-token-incremental-transfer"></a>

Berikut adalah contoh cara menggunakan skrip manajemen status untuk transfer inkremental berbasis delta-token:

```
from sap_odata_state_management import StateManagerFactory, StateManagerType, StateType

# Initialize the state manager
state_manager = StateManagerFactory.create_manager(
    manager_type=StateManagerType.JOB_TAG,
    state_type=StateType.DELTA_TOKEN,
    options={
        "job_name": args['JOB_NAME'],
        "logger": logger
    }
)

# Get connector options (including delta token if available)
key = "SAPODataNode"
connector_options = state_manager.get_connector_options(key)

# Use the connector options in your Glue job
df = glueContext.create_dynamic_frame.from_options(
    connection_type="SAPOData",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "ENABLE_CDC": "true",
        **connector_options
    }
)

# Process your data here...

# Update the state after processing
state_manager.update_state(key, sapodata_df.toDF())
```

## Contoh Transfer Inkremental berbasis stempel waktu
<a name="sap-odata-timestamp-incremental-transfer"></a>

Berikut adalah contoh cara menggunakan skrip manajemen status untuk transfer inkremental berbasis delta-token:

```
from sap_odata_state_management import StateManagerFactory, StateManagerType, StateType

# Initialize the state manager
state_manager = StateManagerFactory.create_manager(
    manager_type=StateManagerType.JOB_TAG,
    state_type=StateType.DELTA_TOKEN,
    options={
        "job_name": args['JOB_NAME'],
        "logger": logger
    }
)

# Get connector options (including delta token if available)
key = "SAPODataNode"
connector_options = state_manager.get_connector_options(key)

# Use the connector options in your Glue job
df = glueContext.create_dynamic_frame.from_options(
    connection_type="SAPOData",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "ENABLE_CDC": "true",
        **connector_options
    }
)

# Process your data here...

# Update the state after processing
state_manager.update_state(key, sapodata_df.toDF())
```

Dalam kedua contoh, skrip manajemen status menangani kompleksitas penyimpanan status (baik token delta atau stempel waktu) di antara job run. Ini secara otomatis mengambil status tahu terakhir saat mendapatkan opsi konektor dan memperbarui status setelah diproses, memastikan setiap pekerjaan berjalan hanya memproses data baru atau yang diubah.

# Partisi untuk entitas Non ODP
<a name="sap-odata-non-odp-entities-partitioning"></a>

Dalam Apache Spark, partisi mengacu pada cara data dibagi dan didistribusikan di seluruh node pekerja dalam cluster untuk pemrosesan paralel. Setiap partisi adalah potongan data logis yang dapat diproses secara independen oleh suatu tugas. Partisi adalah konsep dasar dalam Spark yang secara langsung berdampak pada kinerja, skalabilitas, dan pemanfaatan sumber daya. AWS Glue pekerjaan menggunakan mekanisme partisi Spark untuk membagi dataset menjadi potongan-potongan kecil (partisi) yang dapat diproses secara paralel di seluruh node pekerja cluster. Perhatikan bahwa partisi tidak berlaku untuk entitas ODP.

Untuk detail selengkapnya, lihat [AWS Glue Spark dan PySpark lowongan kerja](https://docs.aws.amazon.com/glue/latest/dg/spark_and_pyspark.html).

**Prasyarat**

Objek SAP OData yang ingin Anda baca. Anda akan membutuhkan object/EntitySet nama. Sebagai contoh: ` /sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrder `.

**Contoh**

```
sapodata_read = glueContext.create_dynamic_frame.from_options(
    connection_type="SAPOData",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrder"
    }, transformation_ctx=key)
```

## Mempartisi Kueri
<a name="sap-odata-partitioning-queries"></a>

### Partisi Berbasis Lapangan
<a name="sap-odata-field-based-partitioning"></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. Integer, Tanggal dan DateTime bidang mendukung partisi berbasis lapangan di konektor SAP. OData 
+ `PARTITION_FIELD`: nama bidang yang akan digunakan untuk mempartisi kueri.
+ `LOWER_BOUND`: nilai batas bawah inklusif dari bidang partisi yang dipilih.

   Untuk bidang apa pun yang tipe datanya DateTime, format stempel waktu Spark yang digunakan dalam kueri Spark SQL diterima.

  Contoh nilai yang valid: `"2000-01-01T00:00:00.000Z"` 
+ `UPPER_BOUND`: nilai batas atas eksklusif dari bidang partisi yang dipilih.
+ `NUM_PARTITIONS`: jumlah partisi.
+ `PARTITION_BY`: jenis partisi yang akan dilakukan, `FIELD` yang akan diteruskan dalam kasus partisi berbasis Bidang.

**Contoh**

```
sapodata= glueContext.create_dynamic_frame.from_options(
    connection_type="sapodata",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "/sap/opu/odata/sap/SEPM_HCM_SCENARIO_SRV/EmployeeSet",
        "PARTITION_FIELD": "validStartDate"
        "LOWER_BOUND": "2000-01-01T00:00:00.000Z"
        "UPPER_BOUND": "2020-01-01T00:00:00.000Z"
        "NUM_PARTITIONS": "10",
        "PARTITION_BY": "FIELD"
    }, transformation_ctx=key)
```

### Partisi Berbasis Rekam
<a name="sap-odata-record-based-partitioning"></a>

Kueri asli akan dibagi menjadi `NUM_PARTITIONS` sejumlah sub-kueri yang dapat dijalankan oleh tugas Spark secara bersamaan.

Partisi berbasis rekaman hanya didukung untuk entitas non-ODP, karena pagination dalam entitas ODP didukung melalui token berikutnya. token/skip 
+ `PARTITION_BY`: jenis partisi yang akan dilakukan. `COUNT`harus diteruskan dalam kasus partisi berbasis catatan.

**Contoh**

```
sapodata= glueContext.create_dynamic_frame.from_options(
    connection_type="sapodata",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "/sap/opu/odata/sap/SEPM_HCM_SCENARIO_SRV/EmployeeSet",
        "NUM_PARTITIONS": "10",
        "PARTITION_BY": "COUNT"
    }, transformation_ctx=key)
```

# Batasan/Callout
<a name="sap-odata-limitations"></a>
+ Entitas ODP tidak kompatibel dengan Partisi Berbasis Rekaman karena pagination ditangani menggunakan token lewati. token/delta Akibatnya, untuk Record Based Partitioning, nilai default untuk MaxConcurrency diatur ke “null” terlepas dari input pengguna.
+ Ketika batas dan partisi diterapkan, batas lebih diutamakan daripada partisi.

# Opsi OData koneksi SAP
<a name="sap-odata-connection-options"></a>

Berikut ini adalah opsi koneksi untuk SAP OData:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama objek Anda di SAP OData.

  Misalnya:/sap/opu/odata/sap/API\$1SALES\$1ORDER\$1SRV/A\$1 SalesOrder
+ `API_VERSION`(String) - (Opsional) Digunakan untuk Baca. Versi SAP OData Rest API yang ingin Anda gunakan. Contoh: 2.0.
+ `SELECTED_FIELDS`(Daftar<String>) - Default: kosong (SELECT \$1). Digunakan untuk Baca. Kolom yang ingin Anda pilih untuk objek.

  Sebagai contoh: SalesOrder
+ `FILTER_PREDICATE`(String) - Default: kosong. Digunakan untuk Baca. Itu harus dalam format Spark SQL.

  Misalnya: `SalesOrder = "10"`
+ `QUERY`(String) - Default: kosong. Digunakan untuk Baca. Kueri SQL Spark penuh.

  Misalnya: `SELECT * FROM /sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrder`
+ `PARTITION_FIELD`(String) - Digunakan untuk Baca. Bidang yang akan digunakan untuk mempartisi kueri.

  Misalnya: `ValidStartDate`
+ `LOWER_BOUND`(String) - Digunakan untuk Baca. Nilai batas bawah inklusif dari bidang partisi yang dipilih.

  Misalnya: `"2000-01-01T00:00:00.000Z"`
+ `UPPER_BOUND`(String) - Digunakan untuk Baca. Nilai batas atas eksklusif dari bidang partisi yang dipilih.

  Misalnya: `"2024-01-01T00:00:00.000Z"`
+ `NUM_PARTITIONS`(Integer) - Default: 1. Digunakan untuk Baca. Jumlah partisi untuk dibaca.
+ `INSTANCE_URL`(String) - URL host aplikasi contoh SAP.

  Misalnya: `https://example-externaldata.sierra.aws.dev`
+ `SERVICE_PATH`(String) - Jalur layanan aplikasi contoh SAP.

  Misalnya: `/sap/opu/odata/iwfnd/catalogservice;v=2`
+ `CLIENT_NUMBER`(String) - Nomor klien aplikasi contoh SAP.

  Sebagai contoh: 100
+ `PORT_NUMBER`(String) - Default: Nomor port aplikasi contoh SAP.

  Misalnya: 443
+ `LOGON_LANGUAGE`(String) - Bahasa logon aplikasi contoh SAP.

  Misalnya: `EN`
+ `ENABLE_CDC`(String) - Mendefinisikan apakah akan menjalankan pekerjaan dengan CDC diaktifkan, yaitu, dengan perubahan trek.

  Misalnya: `True/False`
+ `DELTA_TOKEN`(String) - Menjalankan penarikan data tambahan berdasarkan Delta Token valid yang disediakan. 

  Misalnya: `D20241107043437_000463000`
+ `PAGE_SIZE`(Integer) - Mendefinisikan ukuran halaman untuk menanyakan catatan. Ukuran halaman default adalah 50.000. Ketika ukuran halaman ditentukan, SAP hanya mengembalikan jumlah catatan yang ditentukan per panggilan API, bukan seluruh kumpulan data. Konektor masih akan memberikan jumlah total catatan dan menangani pagination menggunakan ukuran halaman yang Anda tentukan. Jika Anda memerlukan ukuran halaman yang lebih besar, Anda dapat memilih nilai apa pun hingga 500.000, yang merupakan maksimum yang diizinkan. Setiap ukuran halaman yang ditentukan melebihi 500.000 akan diabaikan. Sebagai gantinya, sistem akan menggunakan ukuran halaman maksimum yang diizinkan. Anda dapat menentukan ukuran halaman di AWS Glue Studio UI dengan menambahkan opsi koneksi `PAGE_SIZE` dengan nilai yang Anda inginkan. 

  Misalnya: `20000`

# OData Entitas SAP dan detail bidang
<a name="sap-odata-entity-field-details"></a>

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/sap-odata-entity-field-details.html)

# Menghubungkan ke SendGrid
<a name="connecting-to-data-sendgrid"></a>

SendGrid adalah platform komunikasi pelanggan untuk email transaksional dan pemasaran.
+ SendGrid konektor membantu dalam membuat dan mengelola daftar kontak dan membuat kampanye pemasaran email.
+ SendGrid memungkinkan bisnis online, nirlaba, dan entitas online lainnya untuk membuat dan mengirim email pemasaran ke khalayak besar dan memantau keterlibatan dengan email tersebut.

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

# AWS Glue dukungan untuk SendGrid
<a name="sendgrid-support"></a>

AWS Glue mendukung SendGrid sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

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

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="sendgrid-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 SendGrid
<a name="sendgrid-configuring"></a>

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

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

Berikut ini adalah persyaratan minimum:
+ Anda memiliki SendGrid akun dengan kunci API.
+  SendGrid Akun Anda memiliki akses API dengan lisensi yang valid.

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

# Mengkonfigurasi koneksi SendGrid
<a name="sendgrid-configuring-connections"></a>

SendGrid mendukung otentikasi kustom.

Untuk SendGrid dokumentasi publik tentang pembuatan kunci API yang diperlukan untuk autentikasi kustom, lihat [Autentikasi](https://www.twilio.com/docs/sendgrid/api-reference/how-to-use-the-sendgrid-v3-api/authentication).

Untuk mengkonfigurasi SendGrid koneksi:

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

   1. Untuk aplikasi terhubung yang dikelola pelanggan, Rahasia harus berisi aplikasi yang terhubung Rahasia Konsumen dengan kunci `api_key` sebagai.

   1. Catatan: Anda harus membuat rahasia untuk koneksi Anda 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 SendGrid.

   1. Berikan SendGrid 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 SendGrid entitas
<a name="sendgrid-reading-from-entities"></a>

**Prasyarat**

 SendGrid Objek yang ingin Anda baca. Anda akan membutuhkan nama objek seperti`lists`, `singlesends` atau`segments`.

**Entitas yang didukung untuk sumber**:


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih \$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| Daftar | Tidak | Ya | Tidak | Ya | Tidak | 
| Mengirim Tunggal | Ya | Ya | Tidak | Ya | Tidak | 
| Statistik Kampanye Pemasaran-Otomatisasi | Ya | Ya | Tidak | Ya | Tidak | 
| Statistik Kampanye Pemasaran-Pengiriman Tunggal | Ya | Ya | Tidak | Ya | Tidak | 
| Segmen | Ya | Tidak | Tidak | Ya | Tidak | 
| Kontak  | Ya | Tidak | Tidak | Ya | Tidak | 
| Kategori | Tidak | Tidak | Tidak | Ya | Tidak | 
| Statistik | Ya | Tidak | Tidak | Ya | Tidak | 
| Berhenti Berlangganan Grup | Ya | Tidak | Tidak | Ya | Tidak | 

**Contoh:**

```
sendgrid_read = glueContext.create_dynamic_frame.from_options(
    connection_type="sendgrid",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "lists",
        "API_VERSION": "v3",
        "INSTANCE_URL": "instanceUrl"
    }
```

**SendGrid detail entitas dan bidang**:

Entitas dengan metadata statis:

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/sendgrid-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="sendgrid-reading-partitioning-queries"></a>

SendGrid tidak mendukung partisi berbasis filter atau partisi berbasis rekaman.

# SendGrid opsi koneksi
<a name="sendgrid-connection-options"></a>

Berikut ini adalah opsi koneksi untuk SendGrid:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama objek Anda di SendGrid.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. SendGrid Rest versi API yang ingin Anda gunakan.
+ `INSTANCE_URL`(String) - (Diperlukan) Digunakan untuk Baca. URL SendGrid contoh yang valid.
+ `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.

# SendGrid keterbatasan
<a name="sendgrid-limitations"></a>

Berikut ini adalah batasan atau catatan untuk SendGrid:
+ Incremental pull hanya didukung oleh entitas Stats di `start_date` lapangan dan oleh entitas Kontak di `event_timestamp` lapangan.
+ Pagination hanya didukung oleh entitas Statistik Kampanye Pemasaran (Otomasi), Statistik Kampanye Pemasaran (Kirim Tunggal), Kirim Tunggal, dan Daftar.
+ Untuk entitas Stats, `start_date` adalah parameter filter wajib.
+ Kunci API dengan Akses Terbatas tidak dapat mendukung akses baca untuk entitas API Email dan Statistik. Gunakan kunci API dengan Akses Penuh. Untuk informasi selengkapnya, lihat [Ikhtisar API](https://www.twilio.com/docs/sendgrid/api-reference/api-keys/create-api-keys#api-overview).

# Menghubungkan ke ServiceNow
<a name="connecting-to-data-servicenow"></a>

ServiceNow adalah platform SaaS berbasis cloud untuk mengotomatiskan alur kerja manajemen TI. ServiceNow Platform ini dengan mudah terintegrasi dengan alat lain, memungkinkan pengguna mengelola proyek, tim, dan interaksi pelanggan menggunakan berbagai aplikasi dan plugin. Sebagai ServiceNow pengguna, Anda dapat terhubung AWS Glue ke ServiceNow akun Anda. Kemudian, Anda dapat menggunakan ServiceNow sebagai sumber data dalam pekerjaan ETL Anda. Jalankan pekerjaan ini untuk mentransfer data antara ServiceNow dan AWS layanan atau aplikasi lain yang didukung.

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

# AWS Glue dukungan untuk ServiceNow
<a name="servicenow-support"></a>

AWS Glue mendukung ServiceNow sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi ServiceNow API yang didukung**  
Versi ServiceNow API berikut didukung:
+ v2

Untuk dukungan entitas per versi tertentu, lihat Entitas yang didukung untuk Sumber.

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="servicenow-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 ServiceNow
<a name="servicenow-configuring"></a>

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

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

Berikut ini adalah persyaratan minimum:
+ Anda memiliki ServiceNow akun dengan email dan kata sandi. Untuk informasi selengkapnya, lihat [Membuat ServiceNow akun](#servicenow-configuring-creating-servicenow-account).
+  ServiceNow Akun Anda diaktifkan untuk akses API. Semua penggunaan ServiceNow API tersedia tanpa biaya tambahan.

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

## Membuat ServiceNow akun
<a name="servicenow-configuring-creating-servicenow-account"></a>

Untuk membuat ServiceNow akun:

1. **Arahkan ke halaman pendaftaran di servicenow.com, masukkan detail Anda, dan klik Lanjutkan.**

1. Ketika Anda menerima kode verifikasi di email terdaftar Anda, masukkan kode itu dan pilih **Verifikasi**.

1. Siapkan otentikasi multi-faktor atau lewati melakukannya.

Akun Anda dibuat dan ServiceNow menampilkan profil Anda.

## Membuat instance ServiceNow pengembang
<a name="servicenow-configuring-creating-servicenow-developer-instance"></a>

Minta instance pengembang setelah masuk ke ServiceNow.

1. Di [halaman ServiceNow login](https://signon.service-now.com/x_snc_sso_auth.do?pageId=username), masukkan kredensil akun Anda.

1. Pilih **Program ServiceNow Pengembang**.  
![\[\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/servicenow-dev-program.png)

1. Pilih **Minta Instance** di kanan atas.

1. Masukkan tanggung jawab pekerjaan Anda. Tunjukkan persetujuan Anda terhadap ketentuan penggunaan, dan pilih **Selesai penyiapan**.

1. Setelah instance dibuat, catat URL dan kredensialnya.

## Mengambil BasicAuth kredensi
<a name="servicenow-configuring-basic-auth"></a>

Untuk mengambil kredensi Auth Dasar untuk akun gratis:

1. Di [halaman ServiceNow login](https://signon.service-now.com/x_snc_sso_auth.do?pageId=username), masukkan kredensil akun Anda.

1. Di halaman beranda pilih bagian edit profil (pojok kanan atas) dan pilih **Kelola Kata Sandi Instans**.

1. Ambil kredensi login seperti nama pengguna, kata sandi, dan URL instance.

**catatan**  
<username>Jika MFA diaktifkan untuk akun, tambahkan token MFA ke akhir kata sandi pengguna di autentikasi dasar:: <password><MFA Token>

Untuk informasi selengkapnya, lihat [Membangun aplikasi](https://docs.servicenow.com/bundle/xanadu-application-development/page/build/custom-application/concept/build-applications.html) dalam ServiceNow dokumentasi.

## Membuat kredensi OAuth 2.0
<a name="servicenow-configuring-basic-auth"></a>

Untuk menggunakan OAuth2 .0 di ServiceNow konektor, Anda perlu membuat klien masuk) untuk menghasilkan ID Klien dan Rahasia Klien:

1. Di [halaman ServiceNow login](https://signon.service-now.com/x_snc_sso_auth.do?pageId=username), masukkan kredensil akun Anda.

1. Di halaman beranda pilih **Mulai Membangun**.

1. Pada halaman App Engine Studio, cari **Application Registry**.

1. Pilih **Baru** di kanan atas.

1. Pilih opsi **Buat titik akhir OAuth API untuk klien eksternal**.

1. Buat perubahan yang diperlukan pada OAuth konfigurasi dan pilih **Perbarui**.

   Contoh untuk URL Pengalihan: https://us-east-1.console.aws.amazon.com/gluestudio/ oauth

1. Pilih aplikasi OAuth klien yang baru dibuat untuk mengambil ID Klien dan Rahasia Klien.

1. Simpan ID Klien dan Rahasia Klien untuk diproses lebih lanjut.

Untuk mengkonfigurasi OAuth di akun pengembang non-produksi:

1. Buat profil otentikasi menggunakan topik [Buat profil otentikasi](https://docs.servicenow.com/bundle/washingtondc-platform-security/page/integrate/authentication/task/create-an-authentication-profile.html) dalam dokumentasi. ServiceNow 

1. **Dalam Profil Otentikasi untuk OAuth, pilih **Ketik** sebagai OAuth dan pilih klien masuk yang dibuat di atas untuk mengatur Entitas. OAuth **

1. Jika ada beberapa klien, maka Anda perlu membuat beberapa profil otentikasi untuk mengatur OAuth entitas yang diperlukan dalam profil otentikasi.

1. Jika tidak dikonfigurasi, buat kebijakan akses REST API, untuk memberikan akses ke TABLE API. Lihat [Membuat kebijakan akses REST API](https://docs.servicenow.com/bundle/washingtondc-platform-security/page/integrate/authentication/task/create-api-access-policy.html).

# Mengkonfigurasi koneksi ServiceNow
<a name="servicenow-configuring-connections"></a>

Jenis hibah menentukan cara AWS Glue berkomunikasi dengan ServiceNow meminta akses ke data Anda. Pilihan Anda memengaruhi persyaratan yang harus Anda penuhi sebelum membuat koneksi. ServiceNow hanya mendukung jenis hibah AUTHORIZATION\$1CODE untuk 2.0. OAuth 
+ 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. AWS Glue Konsol akan mengarahkan pengguna ke ServiceNow tempat pengguna harus masuk dan mengizinkan izin AWS Glue yang diminta untuk mengakses instance mereka ServiceNow .
+ Pengguna masih dapat memilih untuk membuat aplikasi terhubung mereka sendiri ServiceNow dan memberikan id klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue konsol. Dalam skenario ini, mereka masih akan diarahkan ke login dan memberi wewenang ServiceNow AWS Glue untuk mengakses sumber daya mereka.
+ Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses berumur pendek, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran.
+ Untuk ServiceNow dokumentasi publik tentang cara membuat aplikasi yang terhubung untuk OAuth alur Kode Otorisasi, lihat [ OAuthMenyiapkan](https://docs.servicenow.com/bundle/vancouver-platform-security/page/administer/security/task/t_SettingUpOAuth.html).

Untuk mengkonfigurasi ServiceNow koneksi:

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

   1. Untuk otentikasi dasar, Secret harus berisi aplikasi Consumer Secret yang terhubung dengan `USERNAME` dan `PASSWORD` sebagai kunci.

   1. Untuk jenis hibah kode otorisasi, Rahasia harus berisi Rahasia Konsumen aplikasi yang terhubung 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 ServiceNow.

   1. Berikan INSTANCE\$1URL dari ServiceNow instance 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 **Jenis Otentikasi** yang ingin Anda gunakan untuk koneksi ini. AWS Glue

      1. Auth Dasar: jenis autentikasi ini berfungsi dengan baik untuk skenario otomatisasi karena memungkinkan untuk menggunakan nama pengguna dan kata sandi di depan dengan izin pengguna tertentu dalam instance. ServiceNow AWS Glue dapat menggunakan nama pengguna dan kata sandi untuk mengautentikasi. ServiceNow APIs Masukkan input berikut hanya dalam kasus Auth Dasar: `Username` dan. `Password`

      1. OAuth2: masukkan input berikut hanya dalam kasus OAuth2:`ClientId`,, `ClientSecret``Authorization URL`,`Authorization Token URL`.

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

**Prasyarat**

Objek ServiceNow Tabel yang ingin Anda baca. Anda akan memerlukan nama objek seperti pa\$1bucket atau insiden.

**Contoh:**

```
servicenow_read = glueContext.create_dynamic_frame.from_options(
    connection_type="servicenow",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "pa_buckets",
        "API_VERSION": "v2"
        "instanceUrl": "https://<instance-name>.service-now.com"
    }
)
```

**ServiceNow detail entitas dan bidang**:

Untuk entitas berikut, ServiceNow sediakan titik akhir untuk mengambil metadata secara dinamis, sehingga dukungan operator ditangkap pada tingkat tipe data untuk setiap entitas.

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

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

**catatan**  
`DML_STATUS`adalah atribut tambahan yang ditentukan pengguna yang digunakan untuk melacak CREATED/UPDATED catatan.

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

**Partisi dasar lapangan**:

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.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/servicenow-reading-from-entities.html)
+ `PARTITION_FIELD`: nama bidang yang akan digunakan untuk mempartisi kueri.
+ `LOWER_BOUND`: nilai batas bawah **inklusif** dari bidang partisi yang dipilih.

  Untuk bidang Datetime, kami menerima format stempel waktu Spark yang digunakan dalam kueri SQL. SPark 

  Contoh nilai valid:

  ```
  "2024-01-30T06:47:51.000Z"
  ```
+ `UPPER_BOUND`: nilai batas atas **eksklusif** dari bidang partisi yang dipilih.
+ `NUM_PARTITIONS`: jumlah partisi.

Tabel berikut menjelaskan rincian dukungan bidang partisi entitas:

Contoh:

```
servicenow_read = glueContext.create_dynamic_frame.from_options(
    connection_type="servicenow",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "pa_buckets",
        "API_VERSION": "v2",
        "instanceUrl": "https://<instance-name>.service-now.com"
        "PARTITION_FIELD": "sys_created_on"
        "LOWER_BOUND": "2024-01-30T06:47:51.000Z"
        "UPPER_BOUND": "2024-06-30T06:47:51.000Z"
        "NUM_PARTITIONS": "10"
    }
```

Partisi **berbasis rekaman**:

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

Dalam partisi berbasis rekaman, jumlah total catatan yang ada ditanyakan dari ServiceNow 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.

Contoh:

```
servicenow_read = glueContext.create_dynamic_frame.from_options(
    connection_type="servicenow",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "pa_buckets",
        "API_VERSION": "v2",
        "instanceUrl": "https://<instance-name>.service-now.com"
        "NUM_PARTITIONS": "2"
    }
```

# ServiceNow opsi koneksi
<a name="servicenow-connection-options"></a>

Berikut ini adalah opsi koneksi untuk ServiceNow:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama objek Anda di ServiceNow.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. ServiceNow Rest versi API yang ingin Anda gunakan. Misalnya: v1, v2, v3, v4.
+ `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. Misalnya: 2024-01-30T 06:47:51.000 Z.
+ `UPPER_BOUND`(String) - Digunakan untuk Baca. Nilai batas atas eksklusif dari bidang partisi yang dipilih. Misalnya: 2024-06-30T 06:47:51.000 Z.
+ `NUM_PARTITIONS`(Integer) - Default: 1. Digunakan untuk Baca. Jumlah partisi untuk dibaca. Misalnya: 10.
+ `INSTANCE_URL`(String) - (Diperlukan) URL ServiceNow contoh yang valid dengan format https://<instance-name>.service-now.com.
+ `PAGE_SIZE`(Integer) - Mendefinisikan ukuran halaman untuk menanyakan catatan. Ukuran halaman default adalah 1.000. Ketika ukuran halaman ditentukan, hanya ServiceNow menampilkan jumlah catatan yang ditentukan per panggilan API, bukan seluruh kumpulan data. Konektor masih akan memberikan jumlah total catatan dan menangani pagination menggunakan ukuran halaman yang Anda tentukan. Jika Anda memerlukan ukuran halaman yang lebih besar, Anda dapat memilih nilai apa pun hingga 10.000, yang merupakan maksimum yang diizinkan. Setiap ukuran halaman yang ditentukan melebihi 10.000 akan diabaikan. Sebagai gantinya, sistem akan menggunakan ukuran halaman maksimum yang diizinkan. Anda dapat menentukan ukuran halaman di AWS Glue Studio UI dengan menambahkan opsi koneksi `PAGE_SIZE` dengan nilai yang Anda inginkan. Misalnya: 5000.

# Keterbatasan dan catatan untuk ServiceNow konektor
<a name="servicenow-connector-limitations"></a>

Berikut ini adalah batasan atau catatan untuk ServiceNow konektor:
+ Sesuai [dokumentasi SaaS](https://www.servicenow.com/docs/bundle/washingtondc-application-development/page/build/applications/reference/r_GlobalDefaultFields.html),, `sys_created_on``sys_updated_on`, dan `sys_mod_count` merupakan bidang yang dihasilkan sistem. Konektor bergantung pada APIs SaaS untuk menyediakan bidang-bidang ini di badan respons.
  + Jika SaaS tidak menghasilkan bidang ini untuk entitas apa pun, partisi berbasis filter tidak dapat didukung.
+ Jika SaaS APIs tidak kembali `sys_created_on` dan `sys_updated_on` bidang dalam respons, `DML_STATUS` tidak dapat dihitung.
+ Tingkatkan kinerja dan efisiensi baca
  +  ServiceNow Konektor sekarang secara otomatis mengurutkan catatan dalam urutan menaik menurut `sys_id` bidang (harus ada dalam metadata) ketika tidak ada klausa ORDER BY yang ditentukan oleh pengguna. Dalam hal ini, catatan akan diberi paginasi oleh pagination berbasis keyset baru yang dioptimalkan.
  + Jika klausa ORDER BY ditentukan, optimasi baru tidak akan digunakan dan catatan akan diambil menggunakan metode yang sudah ada (ditentukan pengguna Order By dan Offset-Limit based pagination).

# Menghubungkan ke Slack di AWS Glue Studio
<a name="connecting-to-data-slack"></a>

 Slack adalah aplikasi komunikasi perusahaan yang memungkinkan pengguna mengirim pesan dan lampiran melalui berbagai saluran publik dan pribadi. Jika Anda pengguna Slack, Anda dapat terhubung AWS Glue ke akun Slack Anda. Kemudian, Anda dapat menggunakan Slack sebagai sumber data dalam Pekerjaan ETL Anda. Jalankan pekerjaan ini untuk mentransfer data antara Slack dan AWS layanan atau aplikasi lain yang didukung. 

**Topics**
+ [AWS Glue dukungan untuk Slack](slack-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](slack-configuring-iam-permissions.md)
+ [Mengkonfigurasi Slack](slack-configuring.md)
+ [Mengkonfigurasi koneksi Slack](slack-configuring-connections.md)
+ [Membaca dari entitas Slack](slack-reading-from-entities.md)
+ [Opsi koneksi kendur](slack-connection-options.md)
+ [Batasan](slack-limitations.md)
+ [Membuat akun Slack baru dan mengonfigurasi aplikasi klien](slack-new-account-creation.md)

# AWS Glue dukungan untuk Slack
<a name="slack-support"></a>

AWS Glue mendukung Slack sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi Slack API yang didukung**  
 Slack API v2. 

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

 Kebijakan contoh berikut menjelaskan izin 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": "*"
    }
  ]
}
```

------

Anda juga dapat menggunakan kebijakan IAM terkelola berikut untuk mengizinkan akses:
+  [ 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,, dan Amazon EC2. Amazon CloudWatch Logs 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 Slack
<a name="slack-configuring"></a>

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

## Persyaratan minimum
<a name="slack-configuring-min-requirements"></a>
+  Anda harus memiliki akun Slack. Untuk informasi selengkapnya, lihat [Membuat akun Slack baru dan mengonfigurasi aplikasi klien](slack-new-account-creation.md). 

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

# Mengkonfigurasi koneksi Slack
<a name="slack-configuring-connections"></a>

 Slack mendukung jenis `AUTHORIZATION_CODE` hibah untuk OAuth 2. 

 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. AWS Glue Konsol akan mengarahkan pengguna ke Slack di mana pengguna harus masuk dan mengizinkan izin AWS Glue yang diminta untuk mengakses instance Slack mereka. 

 Pengguna masih dapat memilih untuk membuat aplikasi terhubung mereka sendiri di Slack dan memberikan id klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue Konsol. Dalam skenario ini, mereka masih akan diarahkan ke Slack untuk masuk dan memberi wewenang AWS Glue untuk mengakses sumber daya mereka. 

 Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses kedaluwarsa setelah 1 jam pembuatan. Token akses baru dapat diambil menggunakan token penyegaran. 

 Untuk informasi selengkapnya tentang membuat aplikasi yang terhubung untuk OAuth alur Kode Otorisasi, lihat [Slack API](https://api.slack.com/quickstart). 

Untuk mengkonfigurasi koneksi Slack:

1.  Di AWS Secrets Manager, buat rahasia dengan detail berikut. Anda harus membuat rahasia untuk koneksi di AWS Glue. 

   1.  Untuk aplikasi terhubung yang dikelola pelanggan — Rahasia harus berisi aplikasi yang terhubung Rahasia Konsumen dengan kunci `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` sebagai. 

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 Slack.

   1. Menyediakan lingkungan Slack.

   1.  Pilih peran 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 Slack
<a name="slack-reading-from-entities"></a>

 **Prasyarat** 
+  Objek Slack yang ingin Anda baca. 

 **Entitas yang didukung** 


| Entitas | Dapat disaring | Mendukung Batas | Mendukung Order By | Mendukung Pilih \$1 | Mendukung Partisi | 
| --- | --- | --- | --- | --- | --- | 
| obrolan | Ya | Ya | Tidak | Ya | Ya | 

 **Contoh** 

```
slack_read = glueContext.create_dynamic_frame.from_options(
    connection_type="slack",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "conversations/C058W38R5J8"
    }
)
```

 **Entitas kendur dan detail bidang** 


| Entitas | Field | Tipe data | Operator yang Didukung | 
| --- | --- | --- | --- | 
| obrolan | lampiran | Daftar | TA | 
| obrolan | bot\$1id | String | TA | 
| obrolan | blok | Daftar | TA | 
| obrolan | client\$1msg\$1id | String | TA | 
| obrolan | is\$1starred | Boolean | TA | 
| obrolan | terakhir\$1baca | String | TA | 
| obrolan | terbaru\$1reply | String | TA | 
| obrolan | tanggapan | Daftar | TA | 
| obrolan | balasan | Daftar | TA | 
| obrolan | reply\$1count | Bilangan Bulat | TA | 
| obrolan | reply\$1users | Daftar | TA | 
| obrolan | reply\$1users\$1count | Bilangan Bulat | TA | 
| obrolan | berlangganan | Boolean | TA | 
| obrolan | subtipe | String | TA | 
| obrolan | text | String | TA | 
| obrolan | team | String | TA | 
| obrolan | thread\$1ts | String | TA | 
| obrolan | ts | String | EQUAL\$1TO, BETWEEN, LESS\$1THAN, LESS\$1THAN\$1OR\$1EQUAL\$1TO, GREATER\$1THAN, GREATER\$1THAN\$1OR\$1EQUAL\$1TO | 
| obrolan | jenis | String | TA | 
| obrolan | user | String | TA | 
| obrolan | mengundang | String | TA | 
| obrolan | root | Struct | TA | 
| obrolan | is\$1terkunci | Boolean | TA | 
| obrolan | file | Daftar | TA | 
| obrolan | ruangan | Struct | TA | 
| obrolan | unggah | Boolean | TA | 
| obrolan | display\$1as\$1bot | Boolean | TA | 
| obrolan | saluran | String | TA | 
| obrolan | no\$1notifikasi | Boolean | TA | 
| obrolan | permalink | String | TA | 
| obrolan | disematkan\$1ke | Daftar | TA | 
| obrolan | pinned\$1info | Struct | TA | 
| obrolan | mengedit | Struct | TA | 
| obrolan | app\$1id | String | TA | 
| obrolan | bot\$1profil | Struct | TA | 
| obrolan | Metadata | Struct | TA | 

 **Mempartisi kueri** 

 Opsi percikan tambahan`PARTITION_FIELD`,, `LOWER_BOUND``UPPER_BOUND`, `NUM_PARTITIONS` dapat diberikan 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 percikan secara bersamaan. 
+  `PARTITION_FIELD`: nama bidang yang akan digunakan untuk mempartisi kueri. 
+  `LOWER_BOUND`: nilai batas bawah inklusif dari bidang partisi yang dipilih. 

   Untuk tanggal, kami menerima format tanggal Spark yang digunakan dalam kueri Spark SQL. Contoh nilai yang valid:`"2024-07-01T00:00:00.000Z"`. 
+  `UPPER_BOUND`: nilai batas atas eksklusif dari bidang partisi yang dipilih. 
+  `NUM_PARTITIONS`: jumlah partisi. 

 Detail dukungan bidang partisi yang bijaksana dari entitas ditangkap dalam tabel di bawah ini. 


| Nama Entitas | Bidang Partisi | Tipe data | 
| --- | --- | --- | 
| obrolan | ts | String | 

 **Contoh** 

```
slack_read = glueContext.create_dynamic_frame.from_options(
    connection_type="slack",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "conversations/C058W38R5J8",
        "PARTITION_FIELD": "ts"
        "LOWER_BOUND": "2022-12-01T00:00:00.000Z"
        "UPPER_BOUND": "2024-09-23T15:00:00.000Z"
        "NUM_PARTITIONS": "2"
    }
)
```

# Opsi koneksi kendur
<a name="slack-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Slack:
+  `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama entitas yang didukung. Contoh:`conversations/C058W38R5J8`. 
+  `SELECTED_FIELDS`(Daftar<String>) - Default: kosong (SELECT \$1). Digunakan untuk Baca. Bidang 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. 
+  `NUM_PARTITIONS`(Integer) - Default: 1. Digunakan untuk Baca. Jumlah partisi untuk dibaca. 

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

Berikut ini adalah batasan untuk konektor Slack:
+  Partisi berbasis rekaman tidak didukung karena konektor tidak menyediakan sarana apa pun untuk mengambil jumlah total rekaman (pesan) yang tersedia dalam percakapan tertentu. 

# Membuat akun Slack baru dan mengonfigurasi aplikasi klien
<a name="slack-new-account-creation"></a>

**Membuat akun Slack**

1. Buka [halaman beranda Slack](https://slack.com/intl/en-in/) untuk mendaftar akun. 

1. Pilih **DAFTAR DENGAN ALAMAT EMAIL**. Masukkan ID email Anda dan pilih **Lanjutkan**.

1. Masukkan kode 6 karakter yang dikirim ke alamat email Anda, itu akan mengarahkan Anda untuk membuat ruang kerja atau bergabung dengan ruang kerja yang ada.

1. Pilih **Buat ruang kerja untuk membuat ruang** kerja baru. Ini akan mengarahkan Anda untuk menjawab beberapa pertanyaan sebagai bagian dari proses pengaturan.
   + Nama perusahaan
   + Nama Anda
   + Untuk menambahkan kolega melalui email
   + Apa yang tim Anda kerjakan? (Ini akan menjadi nama saluran)

1. Isi kolom masukan untuk pertanyaan-pertanyaan ini dan lanjutkan. Akun Anda sekarang siap digunakan.



**Membuat aplikasi pengembang Slack**

1. Masuk ke akun Slack Anda dan masuk ke ruang kerja Slack Anda.

1. Dari menu ruang kerja, pilih **Alat dan pengaturan**, lalu pilih **Kelola aplikasi**.

1. Dari menu Slack App Directory, pilih **Build**.

1. Pada halaman **Aplikasi Anda**, pilih **Buat Aplikasi**.

1. Pada halaman **Buat aplikasi**, pilih **Dari awal**.

1. Di kotak dialog **Nama aplikasi & pilih ruang kerja** yang terbuka, tambahkan nama Aplikasi dan **Pilih ruang kerja untuk menerapkan aplikasi Anda**. Kemudian pilih **Buat Aplikasi**.

1. Catat Client Id dan Secret yang ditampilkan di App Credentials

1. Pada sidebar OAuth & Permissions, buka Scopes dan pilih **Add an OAuth ** Scope. Anda dapat menambahkan pengalihan URLs ke aplikasi Anda untuk konfigurasi untuk secara otomatis menghasilkan tombol 'Tambahkan ke Slack' atau untuk mendistribusikan aplikasi Anda. Gulir ke atas ke URLs bagian Redirect dan pilih **Add New Redirect URL dan simpan**. 

1. Kemudian, gulir ke bagian OAuth Token untuk Ruang Kerja Anda, dan pilih **Instal ke Ruang Kerja**.

1. **Pada kotak dialog yang terbuka memberi tahu Anda bahwa aplikasi yang Anda buat meminta izin untuk mengakses ruang kerja Slack yang ingin Anda sambungkan, pilih Izinkan.**

1. Setelah berhasil diselesaikan, konsol akan menampilkan layar OAuth Token untuk Ruang Kerja Anda.

1. Dari layar OAuth Token untuk Ruang Kerja Anda, salin dan simpan OAuth token yang akan Anda gunakan untuk terhubung AWS Glue

1. Selanjutnya, Anda mengambil ID tim Slack Anda. Dari menu ruang kerja Slack, pilih **Alat dan pengaturan**, lalu pilih **Kelola** aplikasi. Anda akan menemukan ID tim Anda di URL halaman yang terbuka.

1. Untuk mendistribusikan aplikasi secara publik, Anda dapat mengaktifkan dengan menuju ke tombol **Kelola Distribusi** di bilah sisi. Gulir ke bawah ke bagian Bagikan Aplikasi Anda dengan Ruang Kerja Lain dan pilih **Hapus Informasi Kode Keras**. Berikan persetujuan dan pilih **Distribusi Publik Aktif**. 

1. Aplikasi Anda sekarang didistribusikan secara publik. Untuk mengakses entitas APIs, aplikasi perlu ditambahkan ke setiap saluran ruang kerja yang ingin diakses pengguna.

1. Masuk ke akun slack Anda dan buka ruang kerja yang salurannya perlu diakses.

1. Di ruang kerja, buka saluran yang ingin diakses aplikasi dan pilih judul saluran. Pilih tab **Integrasi** dari pop-up dan tambahkan aplikasi. Dengan cara ini, aplikasi terintegrasi dengan saluran untuk memiliki akses ke API-nya.

   ID klien OAuth 2.0 harus memiliki satu atau lebih pengalihan URLs resmi. Redirect URLs memiliki format berikut:
**catatan**  
 Pengalihan URLs Appflow dapat berubah pasca pengalihan URLs untuk AWS Glue platform yang tersedia. ID Klien dan Rahasia Klien berasal dari pengaturan untuk ID klien OAuth 2.0 Anda.     
<a name="slack-redirect-url-detail"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/slack-new-account-creation.html)

# Menghubungkan ke Smartsheet
<a name="connecting-to-smartsheet"></a>

Smartsheet adalah produk SaaS manajemen kerja dan kolaborasi. Pada dasarnya, Smartsheet memungkinkan pengguna untuk menggunakan objek seperti spreadsheet untuk membuat, menyimpan, dan memanfaatkan data bisnis.

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

# AWS Glue dukungan untuk Smartsheet
<a name="smartsheet-support"></a>

AWS Glue mendukung Smartsheet sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi Smartsheet API yang didukung**  
 v2.0 

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="smartsheet-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 Smartsheet
<a name="smartsheet-configuring"></a>

Sebelum Anda dapat menggunakan AWS Glue untuk mentransfer dari Smartsheet, Anda harus memenuhi persyaratan berikut:

## Persyaratan minimum
<a name="smartsheet-configuring-min-requirements"></a>
+ Anda memiliki akun Smartsheet dengan email dan kata sandi. Untuk informasi selengkapnya tentang membuat akun, lihat [Membuat akun Smartsheet](smartsheet-create-account.md). 
+ Akun Smartsheet Anda memiliki akses API dengan lisensi yang valid.
+ Akun Smartsheet Anda memiliki paket **harga Pro untuk `Sheets` entitas dan paket harga** Perusahaan dengan Add-On Pelaporan Acara untuk `Events` entitas.

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

# Mengkonfigurasi koneksi Smartsheet
<a name="smartsheet-configuring-connections"></a>

 Smartsheet mendukung jenis `AUTHORIZATION_CODE` hibah untuk OAuth2. 

Jenis hibah ini dianggap “berkaki tiga” `OAuth` karena bergantung pada pengalihan pengguna ke server otorisasi pihak ketiga untuk mengautentikasi pengguna. Pengguna dapat memilih untuk membuat aplikasi mereka sendiri yang terhubung di Smartsheet dan memberikan ID klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue konsol. Dalam skenario ini, mereka masih akan diarahkan ke Smartsheet untuk masuk dan mengotorisasi AWS Glue untuk mengakses sumber daya mereka. 

Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses berumur pendek, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran. 

[Untuk dokumentasi Smartsheet publik tentang cara membuat aplikasi yang terhubung untuk alur AUTHORIZATION\$1CODE OAuth , lihat Smartsheet. APIs](https://smartsheet.redoc.ly/#section/OAuth-Walkthrough) 

Untuk mengonfigurasi koneksi Smartsheet:

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

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

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

   1. Berikan Smartsheet yang ingin Anda sambungkan. `instanceUrl`

   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`. 

# Membaca dari entitas Smartsheet
<a name="smartsheet-reading-from-entities"></a>

 **Prasyarat** 

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

 **Entitas yang didukung** 


| Entitas | Dapat disaring | Mendukung Batas | Mendukung Order By | Mendukung Pilih \$1 | Mendukung Partisi | 
| --- | --- | --- | --- | --- | --- | 
| Lembar Daftar | Ya | Ya | Tidak | Ya | Tidak | 
| Metadata Baris | Ya | Ya | Tidak | Ya | Tidak | 
| Lembar Metadata | Tidak | Tidak | Tidak | Ya | Tidak | 
| Lembar Data | Ya | Ya | Ya | Ya | Tidak | 
| Peristiwa | Ya | Ya | Tidak | Ya | Tidak | 

 **Contoh** 

```
Smartsheet_read = glueContext.create_dynamic_frame.from_options(
    connection_type="smartsheet",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "list-sheets",
        "API_VERSION": "2.0",
        "INSTANCE_URL": "https://api.smartsheet.com"
    })
```

 **Entitas Smartsheet dan detail bidang** 

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

**Entitas dengan metadata dinamis:**

Untuk entitas berikut, Smartsheet menyediakan titik akhir untuk mengambil metadata secara dinamis, memungkinkan dukungan operator ditangkap pada tingkat tipe data.


| Entitas |  Tipe data  | Operator yang Didukung | 
| --- | --- | --- | 
|  Lembar Data  |  String  | TA | 
| Lembar Data |  Panjang  | "=" | 
| Lembar Data | Bilangan Bulat | TA | 
| Lembar Data | DateTime | > | 

 **Contoh** 

```
Smartsheet_read = glueContext.create_dynamic_frame.from_options(
    connection_type="smartsheet",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "list-sheets",
        "API_VERSION": "2.0",
        "INSTANCE_URL": "https://api.smartsheet.com"
    }
```

# Opsi koneksi Smartsheet
<a name="smartsheet-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Smartsheet:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Nama Object Anda di Smartsheet. 
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Versi Smartsheet Rest API yang ingin Anda gunakan. Misalnya: v2.0. 
+ `INSTANCE_URL`(String) - (Diperlukan) Digunakan untuk Baca. URL contoh Smartsheet.
+ `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. 

# Membuat akun Smartsheet
<a name="smartsheet-create-account"></a>

1. Mendaftar untuk akun Smartsheet dengan mengakses halaman sing-up [Smartsheet](https://app.smartsheet.com/home). 

1. Pilih **Buat satu** untuk membuat akun baru, atau masuk menggunakan akun Google, Microsoft, atau Apple yang terdaftar.

1.   Masukkan alamat email kantor Anda saat diminta.   

1.   Pilih **Lanjutkan** dan jika diperlukan, verifikasi identitas Anda.  

1. Buka email konfirmasi dari Smartsheet, dan pilih tautan konfirmasi untuk memverifikasi akun Anda. 

   Anda akan berlangganan Paket Uji Coba secara default. 

1. Di sudut kiri bawah, pilih ikon **Akun** dan pilih **Tambahkan Lisensi/Peningkatan** untuk meningkatkan paket harga Anda.
**catatan**  
Ini diperlukan untuk mengakses **Event Reporting**, yang merupakan add-on dalam paket **Enterprise**.

1. Di bawah paket **Enterprise**, pilih **Hubungi Kami** untuk meminta peningkatan akun dari tim dukungan.

1. Dalam formulir permintaan dukungan, berikan detail yang diperlukan dan persyaratan Anda untuk meningkatkan paket.

   Ini melengkapi upgrade ke paket **Enterprise**.

**Membuat `OAuth2.0` kredensi**

1. Setelah memutakhirkan paket harga akun Anda untuk mendapatkan akses ke **Alat Pengembang**, akses pengembang [Smartsheet](https://developers.smartsheet.com/). 

   Anda akan menerima email aktivasi.

1. Buka email aktivasi dari Smartsheet, dan pilih tautan aktivasi untuk mengaktifkan alat pengembang di akun Anda. 

   Alat pengembang memungkinkan Anda membuat aplikasi.

1. Buka halaman beranda akun Smartsheet Anda dan pilih **Akun** untuk memeriksa akses.

1. Pilih **Alat Pengembang** dari daftar layanan, dan masukkan detail **Profil Pengembang**.

1. Pilih **Buat Aplikasi Baru**.

1. Masukkan detail berikut ke dalam formulir pendaftaran aplikasi:
   + **Nama** — Nama aplikasi.
   + **Deskripsi** — Deskripsi aplikasi.
   + **URL** — URL yang memungkinkan Anda meluncurkan aplikasi atau URL halaman landing.
   + **Kontak/dukungan** - Informasi kontak untuk tim dukungan.
   + URL **Redirect — URL** (juga dikenal sebagai URL callback) dalam aplikasi Anda yang akan menerima kredensi [OAuth 2.0](https://.console.aws.amazon.com/appflow/oauth). 

1. Pilih **Simpan**.

   Smartsheet menetapkan ID klien dan rahasia klien ke aplikasi Anda. Catat nilai-nilai ini untuk langkah selanjutnya. Anda juga dapat mencarinya lagi nanti di bagian **Alat Pengembang**.

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

Smartsheet tidak mendukung partisi berbasis lapangan atau berbasis rekaman.

# Menghubungkan ke Iklan Snapchat di AWS Glue Studio
<a name="connecting-to-data-snapchat-ads"></a>

 Snapchat adalah aplikasi dan layanan pesan instan multimedia yang dikembangkan oleh Snap Inc., awalnya Snapchat Inc. Salah satu fitur utama Snapchat adalah bahwa gambar dan pesan biasanya hanya tersedia untuk waktu yang singkat sebelum mereka menjadi tidak dapat diakses oleh penerima mereka. Pemasaran Snapchat adalah posting yang dapat dibayar bisnis untuk melayani pengguna Snapchat. 

**Topics**
+ [AWS Glue dukungan untuk Iklan Snapchat](snapchat-ads-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](snapchat-ads-configuring-iam-permissions.md)
+ [Mengkonfigurasi Iklan Snapchat](snapchat-ads-configuring.md)
+ [Mengonfigurasi koneksi Iklan Snapchat](snapchat-ads-configuring-connections.md)
+ [Membaca dari entitas Iklan Snapchat](snapchat-ads-reading-from-entities.md)
+ [Opsi koneksi Iklan Snapchat](snapchat-ads-connection-options.md)
+ [Membuat akun Iklan Snapchat dan mengonfigurasi aplikasi klien](connecting-to-data-snapchat-ads-new-account.md)
+ [Membuat aplikasi di akun Iklan Snapchat](connecting-to-data-snapchat-ads-managed-client-application.md)

# AWS Glue dukungan untuk Iklan Snapchat
<a name="snapchat-ads-support"></a>

AWS Glue mendukung Iklan Snapchat sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi API Iklan Snapchat yang didukung**  
 v1. 

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="snapchat-ads-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": "*"
    }
  ]
}
```

------

Anda juga dapat menggunakan kebijakan IAM terkelola berikut untuk mengizinkan akses:
+  [ 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,, dan Amazon EC2. Amazon CloudWatch Logs 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 Iklan Snapchat
<a name="snapchat-ads-configuring"></a>

Sebelum dapat digunakan AWS Glue untuk mentransfer dari Iklan Snapchat, Anda harus memenuhi persyaratan berikut:

## Persyaratan minimum
<a name="snapchat-ads-configuring-min-requirements"></a>
+  Anda memiliki akun Iklan Snapchat. Untuk informasi selengkapnya tentang membuat akun, lihat[Membuat akun Iklan Snapchat dan mengonfigurasi aplikasi klien](connecting-to-data-snapchat-ads-new-account.md). 
+  Anda telah membuat OAuth2 aplikasi di akun Iklan Snapchat Anda. Integrasi ini menyediakan kredensi yang AWS Glue digunakan untuk mengakses data Anda dengan aman saat melakukan panggilan yang diautentikasi ke akun Anda. Untuk informasi selengkapnya, lihat [Membuat aplikasi di akun Iklan Snapchat](connecting-to-data-snapchat-ads-managed-client-application.md). 

 Jika memenuhi persyaratan ini, Anda siap untuk terhubung AWS Glue ke akun Iklan Snapchat Anda. Di Iklan Snapchat, aplikasi yang terhubung adalah kerangka kerja yang mengizinkan aplikasi eksternal, seperti AWS Glue, untuk mengakses data Iklan Snapchat Anda. 

# Mengonfigurasi koneksi Iklan Snapchat
<a name="snapchat-ads-configuring-connections"></a>

 Iklan Snapchat hanya mendukung jenis `AUTHORIZATION_CODE` hibah. 

 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 AWS Glue terkelola) di mana mereka tidak perlu memberikan informasi OAuth terkait apa pun kecuali URL instance Iklan Snapchat mereka. AWS Glue Konsol akan mengarahkan pengguna ke Iklan Snapchat di mana pengguna harus masuk dan mengizinkan izin AWS Glue yang diminta untuk mengakses instance Iklan Snapchat mereka. 

 Pengguna masih dapat memilih untuk membuat aplikasi mereka sendiri yang terhubung di Iklan Snapchat dan memberikan id klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue Konsol. Dalam skenario ini, mereka masih akan diarahkan ke Iklan Snapchat untuk masuk dan memberi wewenang AWS Glue untuk mengakses sumber daya mereka. 

 Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses kedaluwarsa setelah 1 jam pembuatan. Token akses baru dapat diambil menggunakan token penyegaran. 

 Untuk informasi selengkapnya tentang membuat aplikasi yang terhubung untuk OAuth alur Kode Otorisasi, lihat [API Iklan](https://marketingapi.snapchat.com/docs/#authentication). 

Untuk mengonfigurasi koneksi Iklan Snapchat:

1.  Di AWS Secrets Manager, buat rahasia dengan detail berikut. Diperlukan untuk membuat rahasia untuk setiap koneksi di AWS Glue. 

   1.  Untuk aplikasi terhubung yang dikelola pelanggan — Rahasia harus berisi aplikasi yang terhubung Rahasia Konsumen dengan kunci `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` sebagai. 

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 Iklan Snapchat.

   1. Menyediakan lingkungan Iklan Snapchat.

   1.  Pilih peran 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 Iklan Snapchat
<a name="snapchat-ads-reading-from-entities"></a>

 **Prasyarat** 
+  Objek Iklan Snapchat yang ingin Anda baca. Lihat tabel entitas yang didukung di bawah ini untuk memeriksa entitas yang tersedia. 

 **Entitas yang didukung** 


| Entitas | Dapat disaring | Mendukung Batas | Mendukung Order By | Mendukung Pilih \$1 | Mendukung Partisi | 
| --- | --- | --- | --- | --- | --- | 
| Organisasi | Tidak | Tidak | Tidak | Ya | Tidak | 
| Akun Iklan | Tidak | Tidak | Tidak | Ya | Tidak | 
| Kreatif | Tidak | Tidak | Tidak | Ya | Tidak | 
| Media | Tidak | Tidak | Tidak | Ya | Tidak | 
| Kampanye | Ya | Tidak | Tidak | Ya | Tidak | 
| Iklan Di Bawah Akun Iklan | Ya | Tidak | Tidak | Ya | Tidak | 
| Kampanye Iklan Di Bawah | Tidak | Tidak | Tidak | Ya | Tidak | 
| Skuad Iklan | Ya | Tidak | Tidak | Ya | Tidak | 
| Segment | Tidak | Tidak | Tidak | Ya | Tidak | 

 **Contoh** 

```
snapchatads_read = glueContext.create_dynamic_frame.from_options(
    connection_type="snapchatAds",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "organization",
        "API_VERSION": "v1"
    }
)
```

 **Entitas dan detail bidang Iklan Snapchat** 

 Iklan Snapchat memuat bidang yang tersedia secara dinamis di bawah entitas yang dipilih. Tergantung pada tipe data bidang, ini mendukung operator filter berikut. 


| Tipe Data Bidang | Operator Filter yang Didukung | 
| --- | --- | 
| Boolean | = | 

 **Mempartisi kueri** 
+  Partisi berbasis lapangan: Tidak didukung. 
+  Partisi berbasis rekaman: Tidak didukung. 

# Opsi koneksi Iklan Snapchat
<a name="snapchat-ads-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Iklan Snapchat:
+  `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama entitas Iklan Snapchat. Contoh:` campaign `. 
+  `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Snapchat Ads Rest versi API yang ingin Anda gunakan. Nilainya akan menjadi v1, karena Iklan Snapchat saat ini hanya mendukung versi v1. 
+  `SELECTED_FIELDS`(Daftar<String>) - Default: kosong (SELECT \$1). Digunakan untuk Baca. Daftar kolom yang dipisahkan koma yang ingin Anda pilih untuk entitas yang dipilih. 
+  `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. 

# Membuat akun Iklan Snapchat dan mengonfigurasi aplikasi klien
<a name="connecting-to-data-snapchat-ads-new-account"></a>

**Topics**
+ [Mendaftar untuk Iklan Snapchat](#snapchat-ads-sign-up)
+ [Langkah-langkah untuk membuat akun Iklan Snapchat](#snapchat-ads-create-ad-account)

## Mendaftar untuk Iklan Snapchat
<a name="snapchat-ads-sign-up"></a>

**Untuk mendaftar ke Iklan Snapchat:**

1.  Arahkan ke [Manajer Iklan Snapchat](https://ads.snapchat.com/). Pilih **Daftar di** samping **Baru ke Snapchat?** . 

1.  Pada layar **Buat Akun**, ikuti petunjuk untuk memasukkan Nama Bisnis, Email, Kata Sandi, dll. Pilih **Berikutnya**. 

1.  Pada layar **Buat Profil Anda**, masukkan nilai untuk Nama Pengguna, Situs Web (Opsional), dan pilih **Buat Akun**. Ini akan memberi Anda opsi untuk menambahkan foto profil dan bio di layar **Edit Profil Anda**. Pilih **Konfirmasi**. 

1.  **Pada layar **Info Bisnis**, isi kolom wajib seperti Negara, Mata Uang, Nomor Telepon, GSTIN dll, dan selesaikan proses pembuatan akun dengan memilih Berikutnya.** 

## Langkah-langkah untuk membuat akun Iklan Snapchat
<a name="snapchat-ads-create-ad-account"></a>

**Untuk membuat akun Iklan Snapchat:**

1.  Masuk ke **Manajer Iklan**. Kemudian klik navigasi di sudut atas dan pilih **Akun Iklan**. 

1.  Pilih **\$1 Akun Iklan Baru**. Masukkan detail pengiklan Anda: 
   +  Pilih apakah Anda agen yang membeli iklan atas nama pengiklan atau tidak. Jika Anda memilih 'Ya', iklan Anda mungkin ditolak jika menggunakan parameter penargetan yang dapat mencakup usia, jenis kelamin, atau tingkat penargetan kode pos. Penargetan usia minimum dapat diterapkan hingga usia 21 tahun. 
   +  Pilih apakah akun iklan Anda akan menjalankan iklan perumahan, kredit, atau pekerjaan atau tidak. Jika Anda memilih 'Ya', iklan Anda mungkin ditolak jika menggunakan parameter penargetan yang dapat mencakup usia, jenis kelamin, atau tingkat penargetan kode pos. Penargetan usia minimum dapat diterapkan hingga usia 21 tahun. 
   +  Pilih apakah Anda akan menggunakan akun iklan untuk iklan politik. Jika Anda menjalankan iklan politik, masukkan organisasi politik sponsor atau kelompok advokasi yang membayar iklan tersebut. Jika Anda tidak secara akurat memasukkan organisasi politik, iklan Anda mungkin ditolak. Anda juga harus mengisi 'Formulir Tinjauan Iklan Politik' yang ditautkan wajib sebelum mengirimkan iklan. 

1.  Pilih **Detail Akun** dan isi info akun iklan Anda:     
<a name="snapchat-ads-account-details"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/connecting-to-data-snapchat-ads-new-account.html)

1.  Pilih **Buat Akun**. Akun iklan Anda akan dibuat, dan Anda dapat menemukannya di bagian Akun Iklan Manajer Iklan. Untuk mulai meluncurkan iklan, Anda harus memasukkan metode pembayaran. Anda juga dapat menambahkan anggota ke akun iklan Anda. 

1.  Pilih apakah Anda ingin menggunakan pembayaran yang sudah ada atau membuat yang baru. Kemudian, pilih **Save Payment Method**. 

1.  Pilih [anggota yang Anda undang](https://businesshelp.snapchat.com/s/article/manage-members?language=en_US) ke bisnis Anda untuk ditambahkan ke akun iklan. Untuk informasi selengkapnya tentang peran dan izin yang dapat ditetapkan, lihat Ikhtisar [Peran dan Izin](https://businesshelp.snapchat.com/s/article/roles-permissions?language=en_US). Anggota yang ditambahkan kemudian akan dapat masuk ke Manajer Iklan dan mengakses akun iklan ini. Setelah selesai, selamatkan anggota Anda. 

 Untuk informasi selengkapnya tentang akun iklan, lihat izin [https://businesshelp.snapchat.com/s/article/roles-permissions?language=en_US](https://businesshelp.snapchat.com/s/article/roles-permissions?language=en_US) https://businesshelp.snapchat.com/s/ artikel/peran? language=En\$1US 

# Membuat aplikasi di akun Iklan Snapchat
<a name="connecting-to-data-snapchat-ads-managed-client-application"></a>

 Untuk mengaktifkan akses ke API Pemasaran Snapchat, pastikan Anda telah menyiapkan akun bisnis. Kemudian ikuti langkah-langkah di bawah ini. 

1.  Masuk ke Manajer Iklan. Kemudian pilih menu di pojok kiri atas dan pilih **Dasbor Bisnis**, lalu pilih **Detail Bisnis**. 

1.  Pilih **\$1 OAuth Aplikasi**. 

1.  Masukkan Nama Aplikasi Anda dan Tambahkan URL berikut sebagai Snap Redirect URI. `https://<aws-region>.console.aws.amazon.com/gluestudio/oauth` Misalnya, jika menggunakan wilayah us-west-1, URL-nya akan menjadi. `https://us-west-1.console.aws.amazon.com/gluestudio/oauth) and choose Create OAuth App` Pilih **Buat OAuth Aplikasi**. 

1.  Kredensi aplikasi Anda (ID Klien dan Rahasia klien) akan ditampilkan. Simpan mereka karena mereka akan diminta untuk membuat koneksi. 

# Menghubungkan ke Snowflake di AWS Glue Studio
<a name="connecting-to-data-snowflake"></a>

**catatan**  
 Anda dapat menggunakan Spark AWS Glue untuk membaca dari dan menulis ke tabel di Snowflake di AWS Glue versi 4.0 dan yang lebih baru. Untuk mengonfigurasi koneksi Snowflake dengan AWS Glue pekerjaan secara terprogram, lihat. [Koneksi Redshift](aws-glue-programming-etl-connect-redshift-home.md) 

 AWS Gluemenyediakan dukungan bawaan untuk Snowflake. AWS Glue Studiomenyediakan antarmuka visual untuk terhubung ke Snowflake, pekerjaan integrasi data penulis, dan menjalankannya pada runtime Spark tanpa AWS Glue Studio server. 

 AWS Glue Studio menciptakan koneksi terpadu untuk Snowflake. Untuk informasi selengkapnya, lihat [Pertimbangan-pertimbangan](using-connectors-unified-connections.md#using-connectors-unified-connections-considerations). 

**Topics**
+ [Membuat koneksi Snowflake](creating-snowflake-connection.md)
+ [Membuat simpul sumber Snowflake](creating-snowflake-source-node.md)
+ [Membuat simpul target Snowflake](creating-snowflake-target-node.md)
+ [Opsi lanjutan](#creating-snowflake-connection-advanced-options)

# Membuat koneksi Snowflake
<a name="creating-snowflake-connection"></a>

**catatan**  
 Koneksi terpadu (koneksi v2) menstandarisasi semua koneksi yang akan digunakan`USERNAME`, `PASSWORD` kunci untuk kredenal autentikasi dasar. Anda masih dapat membuat koneksi v1 melalui API dengan rahasia yang berisi`sfUser`,`sfPassword`. 

 Saat menambahkan **sumber Data - Snowflake** node diAWS Glue Studio, Anda dapat memilih koneksi AWS Glue Snowflake yang ada atau membuat koneksi baru. Anda harus memilih `SNOWFLAKE` jenis koneksi dan bukan jenis koneksi yang `JDBC` dikonfigurasi untuk terhubung ke Snowflake. Ikuti prosedur berikut untuk membuat koneksi AWS Glue Snowflake:

**Untuk membuat koneksi Snowflake**

1. Di Snowflake, buat pengguna, *snowflakeUser* dan kata sandi,. *snowflakePassword* 

1. Tentukan gudang Snowflake mana yang akan berinteraksi dengan pengguna ini,. *snowflakeWarehouse* Entah atur sebagai `DEFAULT_WAREHOUSE` for *snowflakeUser* di Snowflake atau ingat untuk langkah selanjutnya.

1. Di AWS Secrets Manager, buat rahasia menggunakan kredensi Snowflake Anda. Untuk membuat rahasia di Secrets Manager, ikuti tutorial yang tersedia di [Buat AWS Secrets Manager rahasia](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html#create_secret_cli) dalam AWS Secrets Manager dokumentasi. Setelah membuat rahasia, simpan nama Rahasia, *secretName* untuk langkah selanjutnya. 
   + Saat memilih **pasangan kunci/nilai**, buat pasangan *snowflakeUser* dengan kunci. `sfUser`
   + Saat memilih **pasangan kunci/nilai**, buat pasangan *snowflakePassword* dengan kunci. `sfPassword`
   + Saat memilih **pasangan kunci/nilai**, buat pasangan *snowflakeWarehouse* dengan kunci. `sfWarehouse` Ini tidak diperlukan jika default diatur di Snowflake. 

1. Dalam Katalog AWS Glue Data, buat koneksi dengan mengikuti langkah-langkah dalam [Menambahkan AWS Glue koneksi](https://docs.aws.amazon.com//glue/latest/dg/console-connections.html). Setelah membuat koneksi, pertahankan nama koneksi,*connectionName*, untuk langkah selanjutnya. 
   + Saat memilih **jenis Koneksi**, pilih Snowflake.
   + Saat memilih **URL Snowflake**, berikan nama host instance Snowflake Anda. URL akan menggunakan nama host dalam formulir`account_identifier.snowflakecomputing.com`.
   + Saat memilih **AWS Rahasia**, berikan*secretName*.

# Membuat simpul sumber Snowflake
<a name="creating-snowflake-source-node"></a>

## Izin diperlukan
<a name="creating-snowflake-source-node-permissions"></a>

 AWS Glue Studio pekerjaan menggunakan sumber data Snowflake memerlukan izin tambahan. Untuk informasi selengkapnya tentang cara menambahkan izin ke pekerjaan ETL, lihat [Meninjau izin IAM yang diperlukan](https://docs.aws.amazon.com/glue/latest/ug/setting-up.html#getting-started-min-privs-job) untuk pekerjaan ETL. 

 `SNOWFLAKE` AWS Glue koneksi menggunakan AWS Secrets Manager rahasia untuk memberikan informasi kredensi. Peran pratinjau pekerjaan dan data Anda AWS Glue Studio harus memiliki izin untuk membaca rahasia ini.

## Menambahkan sumber data Snowflake
<a name="creating-snowflake-source-node-add"></a>

**Prasyarat**:
+  AWS Secrets Manager Rahasia untuk kredensi Snowflake Anda
+ Koneksi Katalog AWS Glue Data tipe Snowflake

**Untuk menambahkan **Sumber Data — Snowflake node**:**

1.  Pilih koneksi untuk sumber data Snowflake Anda. Ini mengasumsikan bahwa koneksi sudah ada dan Anda dapat memilih dari koneksi yang ada. Jika Anda perlu membuat koneksi, pilih **Buat koneksi Snowflake**. Untuk informasi selengkapnya, lihat [Ikhtisar penggunaan konektor dan koneksi](https://docs.aws.amazon.com/glue/latest/ug/connectors-chapter.html#using-connectors-overview). 

    Setelah Anda memilih koneksi, Anda dapat melihat properti koneksi dengan mengklik **Lihat properti**. Informasi tentang koneksi terlihat, termasuk URL, grup keamanan, subnet, zona ketersediaan, deskripsi, dan stempel waktu yang dibuat (UTC) dan terakhir diperbarui (UTC). 

1.  Pilih opsi sumber Snowflake: 
   +  **Pilih satu tabel** — ini adalah tabel yang berisi data yang ingin Anda akses dari satu tabel Snowflake. 
   +  **Masukkan kueri khusus** — memungkinkan Anda mengakses kumpulan data dari beberapa tabel Snowflake berdasarkan kueri kustom Anda. 

1.  Jika Anda memilih satu tabel, masukkan nama skema Snowflake. 

    Atau, pilih **Masukkan kueri khusus**. Pilih opsi ini untuk mengakses dataset kustom dari beberapa tabel Snowflake. Saat Anda memilih opsi ini, masukkan kueri Snowflake. 

1.  Dalam opsi **Kinerja dan keamanan** (opsional), 
   +  **Aktifkan pushdown kueri** - pilih apakah Anda ingin menurunkan pekerjaan ke instance Snowflake. 

1.  Di **properti Snowflake Kustom** (opsional), masukkan parameter dan nilai sesuai kebutuhan. 

# Membuat simpul target Snowflake
<a name="creating-snowflake-target-node"></a>

## Izin diperlukan
<a name="creating-snowflake-target-node-permissions"></a>

 AWS Glue Studio pekerjaan menggunakan sumber data Snowflake memerlukan izin tambahan. Untuk informasi selengkapnya tentang cara menambahkan izin ke pekerjaan ETL, lihat [Meninjau izin IAM yang diperlukan](https://docs.aws.amazon.com/glue/latest/ug/setting-up.html#getting-started-min-privs-job) untuk pekerjaan ETL. 

 `SNOWFLAKE` AWS Glue koneksi menggunakan AWS Secrets Manager rahasia untuk memberikan informasi kredensi. Peran pratinjau pekerjaan dan data Anda AWS Glue Studio harus memiliki izin untuk membaca rahasia ini.

## Menambahkan target data Snowflake
<a name="creating-snowflake-target-node-add"></a>

**Untuk membuat simpul target Snowflake:**

1.  Pilih tabel Snowflake yang ada sebagai target, atau masukkan nama tabel baru. 

1.  Bila Anda menggunakan **target Data - Snowflake** target node, Anda dapat memilih dari opsi berikut: 
   +  **APPEND** - Jika tabel sudah ada, dump semua data baru ke dalam tabel sebagai insert. Jika tabel tidak ada, buat dan kemudian masukkan semua data baru. 
   +  **MERGE** - AWS Glue akan memperbarui atau menambahkan data ke tabel target Anda berdasarkan kondisi yang Anda tentukan. 

      Pilih opsi: 
     + **Pilih kunci dan tindakan sederhana** — pilih kolom yang akan digunakan sebagai kunci yang cocok antara data sumber dan kumpulan data target Anda. 

       Tentukan opsi berikut jika dicocokkan:
       + Perbarui catatan dalam kumpulan data target Anda dengan data dari sumber.
       + Hapus catatan dalam kumpulan data target Anda.

       Tentukan opsi berikut jika tidak cocok:
       + Masukkan data sumber sebagai baris baru ke dalam kumpulan data target Anda.
       + Jangan lakukan apa-apa.
     + **Masukkan pernyataan MERGE kustom** — Anda kemudian dapat memilih pernyataan **Validasi Gabungan untuk memverifikasi bahwa pernyataan** tersebut valid atau tidak valid.
   +  **TRUNCATE** — Jika tabel sudah ada, potong data tabel dengan terlebih dahulu membersihkan isi tabel target. Jika truncate berhasil, maka masukkan semua data. Jika tabel tidak ada, buat tabel dan masukkan semua data. Jika pemotongan tidak berhasil, operasi akan gagal. 
   +  **DROP** — Jika tabel sudah ada, hapus metadata tabel dan data. Jika penghapusan berhasil, maka masukkan semua data. Jika tabel tidak ada, buat tabel dan masukkan semua data. Jika drop tidak berhasil, operasi akan gagal. 

## Opsi lanjutan
<a name="creating-snowflake-connection-advanced-options"></a>

Lihat [koneksi Snowflake](https://docs.aws.amazon.com//glue/latest/dg/aws-glue-programming-etl-connect-snowflake-home.html) di panduan AWS Glue pengembang. 

# Menghubungkan ke Stripe di AWS Glue Studio
<a name="connecting-to-data-stripe"></a>

 Stripe adalah platform pemrosesan pembayaran dan pemrosesan kartu kredit online untuk bisnis. Platform Stripe memungkinkan bisnis menerima pembayaran online, membuat langganan (penagihan berulang) untuk e-commerce mereka, dan menyiapkan akun kembali untuk menerima pembayaran. Stripe juga mendukung pembayaran multi-pihak di mana ia memungkinkan bisnis untuk mengatur pasar mereka dan memungkinkan untuk mengumpulkan pembayaran dan kemudian membayar kepada penjual atau penyedia layanan melalui akun “Terhubung”. 

**Topics**
+ [AWS Glue dukungan untuk Stripe](stripe-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](stripe-configuring-iam-permissions.md)
+ [Mengkonfigurasi Stripe](stripe-configuring.md)
+ [Mengkonfigurasi koneksi Stripe](stripe-configuring-connections.md)
+ [Membaca dari entitas Stripe](stripe-reading-from-entities.md)
+ [Opsi koneksi garis](stripe-connection-options.md)
+ [Batasan](stripe-limitations.md)
+ [Membuat akun Stripe baru dan mengonfigurasi aplikasi klien](stripe-new-account-creation.md)

# AWS Glue dukungan untuk Stripe
<a name="stripe-support"></a>

AWS Glue mendukung Stripe sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi Slack API yang didukung**  
 v1. 

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

 Kebijakan contoh berikut menjelaskan izin 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": "*"
    }
  ]
}
```

------

Anda juga dapat menggunakan kebijakan IAM terkelola berikut untuk mengizinkan akses:
+  [ 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,, dan Amazon EC2. Amazon CloudWatch Logs 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 Stripe
<a name="stripe-configuring"></a>

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

## Persyaratan minimum
<a name="stripe-configuring-min-requirements"></a>
+  Anda harus memiliki akun Stripe dengan email dan kata sandi. Untuk informasi selengkapnya, lihat [Membuat akun Stripe baru dan mengonfigurasi aplikasi klien](stripe-new-account-creation.md). 
+  Akun Stripe Anda diaktifkan untuk akses API. Semua penggunaan Stripe API tersedia tanpa biaya tambahan. 

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

# Mengkonfigurasi koneksi Stripe
<a name="stripe-configuring-connections"></a>

 Stripe mendukung otentikasi kustom. Untuk informasi selengkapnya tentang membuat kunci API yang diperlukan untuk otorisasi kustom, lihat Dokumentasi [STRIPE REST API](https://docs.stripe.com/api/authentication). 

Untuk mengkonfigurasi koneksi Stripe:

1.  Di AWS Secrets Manager, buat rahasia dengan detail berikut. Diperlukan untuk membuat rahasia untuk setiap koneksi di AWS Glue. 

   1.  Untuk aplikasi terhubung yang dikelola pelanggan — Rahasia harus berisi aplikasi yang terhubung Rahasia Konsumen dengan kunci `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` sebagai. 

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 Stripe.

   1.  Pilih peran 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 Stripe
<a name="stripe-reading-from-entities"></a>

 **Prasyarat** 
+  Objek Stripe yang ingin Anda baca. 

 **Entitas yang didukung** 


| Entitas | Dapat disaring | Mendukung Batas | Mendukung Order By | Mendukung Pilih\$1 | Mendukung Partisi | 
| --- | --- | --- | --- | --- | --- | 
| Saldo | Tidak | Tidak | Tidak | Ya | Tidak | 
| Transaksi Saldo | Ya | Ya | Tidak | Ya | Ya | 
| Biaya | Ya | Ya | Tidak | Ya | Ya | 
| Perselisihan | Ya | Ya | Tidak | Ya | Ya | 
| Tautan File | Ya | Ya | Tidak | Ya | Ya | 
| PaymentIntents | Ya | Ya | Tidak | Ya | Ya | 
| SetupIntents | Ya | Ya | Tidak | Ya | Ya | 
| Pembayaran | Ya | Ya | Tidak | Ya | Ya | 
| Pengembalian dana | Ya | Ya | Tidak | Ya | Ya | 
| Produk | Ya | Ya | Tidak | Ya | Ya | 
| Harga | Ya | Ya | Tidak | Ya | Ya | 
| Kupon | Ya | Ya | Tidak | Ya | Ya | 
| Kode Promosi | Ya | Ya | Tidak | Ya | Ya | 
| Kode Pajak | Tidak | Ya | Tidak | Ya | Tidak | 
| Tarif Pajak | Ya | Ya | Tidak | Ya | Ya | 
| Tarif Pengiriman | Ya | Ya | Tidak | Ya | Ya | 
| Sesi | Ya | Ya | Tidak | Ya | Ya | 
| Catatan Kredit | Ya | Ya | Tidak | Ya | Ya | 
| Pelanggan | Ya | Ya | Tidak | Ya | Ya | 
| Faktur | Ya | Ya | Tidak | Ya | Ya | 
| Item Faktur | Ya | Ya | Tidak | Ya | Tidak | 
| Rencana | Ya | Ya | Tidak | Ya | Ya | 
| Kutipan | Ya | Ya | Tidak | Ya | Tidak | 
| Langganan | Ya | Ya | Tidak | Ya |  | 
| Item Berlangganan | Tidak | Ya | Tidak | Ya | Tidak | 
| Jadwal Berlangganan | Ya | Ya | Tidak | Ya | Ya | 
| Akun | Tidak | Ya | Tidak | Ya | Ya | 
| Biaya Aplikasi | Ya | Ya | Tidak | Ya | Ya | 
| Spesifikasi Negara | Tidak | Ya | Tidak | Ya | Tidak | 
| Transfer | Ya | Ya | Tidak | Ya | Ya | 
| Peringatan Penipuan Dini | Ya | Ya | Tidak | Ya | Ya | 
| Tipe Laporan | Tidak | Tidak | Tidak | Ya | Tidak | 

 **Contoh** 

```
stripe_read = glueContext.create_dynamic_frame.from_options(
    connection_type="stripe",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "coupons",
        "API_VERSION": "v1"
    }
)
```

 **Entitas garis dan detail bidang** 


| Entitas | Field | Tipe data | Operator yang Didukung | 
| --- | --- | --- | --- | 
| Saldo |  |  |  | 
|  | tersedia | Daftar |  | 
|  | connect\$1reserved | Daftar |  | 
|  | menunggu | Daftar |  | 
|  | livemode | Boolean |  | 
|  | object | String |  | 
|  | instant\$1available | Daftar |  | 
|  | mengeluarkan | Struct |  | 
| Transaksi Saldo |  |  |  | 
|  | id | String |  | 
|  | object | String |  | 
|  | jumlah | Bilangan Bulat |  | 
|  | tersedia\$1on | DateTime | =, >=, <=,<,> | 
|  | dibuat | DateTime | =, >=, <=,<,> | 
|  | mata uang | String |  | 
|  | deskripsi | String |  | 
|  | nilai tukar | BigDecimal |  | 
|  | biaya | Bilangan Bulat |  | 
|  | fee\$1details | Daftar |  | 
|  | net | Bilangan Bulat |  | 
|  | pelaporan\$1kategori | String |  | 
|  | sumber | String | = | 
|  | status | String |  | 
|  | jenis | String | = | 
|  | cross\$1border\$1classification | String |  | 
| Biaya |  |  |  | 
|  | id | String |  | 
|  | object | String |  | 
|  | jumlah | Bilangan Bulat | =, <, > | 
|  | jumlah\$1ditangkap | Bilangan Bulat |  | 
|  | jumlah\$1dikembalikan | Bilangan Bulat |  | 
|  | application | String |  | 
|  | application\$1fee | String |  | 
|  | application\$1fee\$1amount | Bilangan Bulat |  | 
|  | balance\$1transaction | String |  | 
|  | billing\$1details | Struct |  | 
|  | calculated\$1statement\$1descriptor | String |  | 
|  | ditangkap | Boolean |  | 
|  | dibuat | DateTime | =, >=, <=,<,> | 
|  | mata uang | String |  | 
|  | pelanggan | String | = | 
|  | deskripsi | String |  | 
|  | tujuan | String |  | 
|  | pertikaian | String |  | 
|  | diperdebatkan | Boolean | = | 
|  | failure\$1balance\$1transaction | String |  | 
|  | failure\$1code | String |  | 
|  | failure\$1message | String |  | 
|  | penipuan\$1detail | Struct |  | 
|  | faktur | String |  | 
|  | livemode | Boolean |  | 
|  | Metadata | Struct |  | 
|  | on\$1behalf\$1of | String |  | 
|  | memesan | String |  | 
|  | hasil | Struct |  | 
|  | digaji | Boolean |  | 
|  | pembayaran\$1niat | String | = | 
|  | metode pembayaran | String |  | 
|  | payment\$1method\$1details | Struct |  | 
|  | receipt\$1email | String |  | 
|  | receipt\$1number | String |  | 
|  | receipt\$1url | String |  | 
|  | dikembalikan | Boolean | = | 
|  | mengembalikan uang | Struct |  | 
|  | ulasan | String |  | 
|  | kirim | Struct |  | 
|  | sumber | Struct |  | 
|  | source\$1transfer | String |  | 
|  | statement\$1descriptor | String |  | 
|  | statement\$1descriptor\$1suffix | String |  | 
|  | status | String |  | 
|  | transfer | String |  | 
|  | transfer\$1data | Struct |  | 
|  | transfer\$1group | String | = | 
| Perselisihan |  |  |  | 
|  | id | String |  | 
|  | object | String |  | 
|  | jumlah | Bilangan Bulat | =, <, > | 
|  | balance\$1transaction | String |  | 
|  | balance\$1transactions | Daftar |  | 
|  | biaya | String | = | 
|  | dibuat | DateTime | =, >=, <=,<,> | 
|  | mata uang | String |  | 
|  | bukti | Struct |  | 
|  | bukti\$1detail | Struct |  | 
|  | is\$1charge\$1refundable | Boolean |  | 
|  | livemode | Boolean |  | 
|  | Metadata | Struct |  | 
|  | pembayaran\$1niat | String | = | 
|  | akal budi | String | = | 
|  | status | String |  | 
|  | payment\$1method\$1details | Struct |  | 
| Tautan File |  |  |  | 
|  | id | String |  | 
|  | object | String |  | 
|  | dibuat | DateTime | =, >=, <=,<,> | 
|  | kedaluwarsa | Boolean | = | 
|  | kedaluwarsa\$1at | DateTime |  | 
|  | file | String | = | 
|  | livemode | Boolean |  | 
|  | Metadata | Struct |  | 
|  | url | String |  | 
| PaymentIntents |  |  |  | 
|  | id | String |  | 
|  | object | String |  | 
|  | jumlah | Bilangan Bulat |  | 
|  | amount\$1capturable | Bilangan Bulat |  | 
|  | jumlah\$1detail | Struct |  | 
|  | jumlah\$1diterima | Bilangan Bulat |  | 
|  | application | String |  | 
|  | application\$1fee\$1amount | Bilangan Bulat |  | 
|  | automatic\$1payment\$1methods | Struct |  | 
|  | batal\$1at | DateTime |  | 
|  | pembatalan\$1alasan | String |  | 
|  | capture\$1method | String |  | 
|  | client\$1secret | String |  | 
|  | confirmation\$1method | String |  | 
|  | dibuat | DateTime | =, >=, <=,<,> | 
|  | mata uang | String |  | 
|  | pelanggan | String | = | 
|  | deskripsi | String |  | 
|  | faktur | String |  | 
|  | last\$1payment\$1error | Struct |  | 
|  | biaya terbaru\$1 | String |  | 
|  | livemode | Boolean |  | 
|  | Metadata | Struct |  | 
|  | next\$1action | Struct |  | 
|  | on\$1behalf\$1of | String |  | 
|  | metode pembayaran | String |  | 
|  | payment\$1method\$1options | Struct |  | 
|  | payment\$1method\$1types | Daftar |  | 
|  | payment\$1method\$1configuration\$1details | Struct |  | 
|  | pengolahan | Struct |  | 
|  | receipt\$1email | String |  | 
|  | ulasan | String |  | 
|  | setup\$1future\$1usage | String |  | 
|  | kirim | Struct |  | 
|  | sumber | String |  | 
|  | statement\$1descriptor | String |  | 
|  | statement\$1descriptor\$1suffix | String |  | 
|  | status | String |  | 
|  | transfer\$1data | Struct |  | 
|  | transfer\$1group | String |  | 
| SetupIntents |  |  |  | 
|  | id | String |  | 
|  | object | String |  | 
|  | application | String |  | 
|  | pembatalan\$1alasan | String |  | 
|  | client\$1secret | String |  | 
|  | dibuat | DateTime | =, >=, <=,<,> | 
|  | pelanggan | String | = | 
|  | deskripsi | String |  | 
|  | flow\$1arah | Daftar |  | 
|  | last\$1setup\$1error | Struct |  | 
|  | upaya terbaru\$1 | String |  | 
|  | livemode | Boolean |  | 
|  | mandat | String |  | 
|  | Metadata | Struct |  | 
|  | next\$1action | Struct |  | 
|  | on\$1behalf\$1of | String |  | 
|  | metode pembayaran | String |  | 
|  | payment\$1method\$1options | Struct |  | 
|  | payment\$1method\$1types | Daftar |  | 
|  | mandat single\$1use\$1 | String |  | 
|  | status | String |  | 
|  | pemakaian | String |  | 
|  | automatic\$1payment\$1methods | Struct |  | 
| Pembayaran |  |  |  | 
|  | id | String |  | 
|  | object | String |  | 
|  | jumlah | Bilangan Bulat | =, <, > | 
|  | datang\$1tanggal | DateTime | =, >=, <=,<,> | 
|  | automatic | Boolean |  | 
|  | balance\$1transaction | String |  | 
|  | dibuat | DateTime | =, >=, <=,<,> | 
|  | mata uang | String |  | 
|  | deskripsi | String | = | 
|  | tujuan | String |  | 
|  | failure\$1balance\$1transaction | String |  | 
|  | failure\$1code | String |  | 
|  | failure\$1message | String |  | 
|  | livemode | Boolean |  | 
|  | Metadata | Struct |  | 
|  | metode | String |  | 
|  | original\$1payout | String |  | 
|  | reversed\$1by | String |  | 
|  | rekonsiliasi\$1status | String |  | 
|  | source\$1type | String |  | 
|  | statement\$1descriptor | String |  | 
|  | status | String |  | 
|  | jenis | String |  | 
|  | application\$1fee | String |  | 
|  | application\$1fee\$1amount | Bilangan Bulat |  | 
| Pengembalian dana |  |  |  | 
|  | id | String |  | 
|  | object | String |  | 
|  | jumlah | Bilangan Bulat |  | 
|  | balance\$1transaction | String |  | 
|  | biaya | String | = | 
|  | dibuat | DateTime | =, >=, <=,<,> | 
|  | mata uang | String |  | 
|  | Metadata | Struct |  | 
|  | destinasi\$1detail | Struct |  | 
|  | pembayaran\$1niat | String | = | 
|  | akal budi | String |  | 
|  | receipt\$1number | String |  | 
|  | source\$1transfer\$1reversal | String |  | 
|  | status | String |  | 
|  | transfer\$1reversal | String |  | 
| Produk |  |  |  | 
|  | id | String |  | 
|  | object | String |  | 
|  | aktif | Boolean | = | 
|  | atribut | Daftar |  | 
|  | dibuat | DateTime | =, >=, <=,<,> | 
|  | default\$1price | String |  | 
|  | deskripsi | String |  | 
|  | citra | Daftar |  | 
|  | livemode | Boolean |  | 
|  | Metadata | Struct |  | 
|  | name | String |  | 
|  | package\$1dimensions | Struct |  | 
|  | dapat dikirimkan | Boolean |  | 
|  | statement\$1descriptor | String |  | 
|  | tax\$1code | String |  | 
|  | jenis | String | = | 
|  | unit\$1label | String |  | 
|  | diperbarui | DateTime |  | 
|  | url | String |  | 
|  | fitur | Daftar |  | 
| Harga |  |  |  | 
|  | id | String |  | 
|  | object | String |  | 
|  | aktif | Boolean | = | 
|  | billing\$1scheme | String |  | 
|  | dibuat | DateTime | =, >=, <=,<,> | 
|  | mata uang | String | = | 
|  | custom\$1unit\$1amount | Struct |  | 
|  | livemode | Boolean |  | 
|  | lookup\$1key | String |  | 
|  | Metadata | Struct |  | 
|  | nama panggilan | String |  | 
|  | produk | String | = | 
|  | berulang | Struct |  | 
|  | tax\$1behavior | String |  | 
|  | tiers\$1mode | String |  | 
|  | transform\$1kuantitas | Struct |  | 
|  | jenis | String | = | 
|  | unit\$1amount | Bilangan Bulat |  | 
|  | unit\$1amount\$1decimal | String |  | 
| Kupon |  |  |  | 
|  | Id | String |  | 
|  | object | String |  | 
|  | jumlah\$1off | Bilangan Bulat |  | 
|  | dibuat | DateTime | =, >=, <=,<,> | 
|  | mata uang | String | = | 
|  | durasi | String | = | 
|  | duration\$1in\$1months | Bilangan Bulat | =,<,> | 
|  | livemode | Boolean |  | 
|  | max\$1redemptions | Bilangan Bulat | =, <, > | 
|  | Metadata | Struct |  | 
|  | name | String |  | 
|  | persen | Ganda | = | 
|  | tebus | DateTime | =, >=, <=, <, > | 
|  | times\$1redeem | Bilangan Bulat |  | 
|  | sahih | Boolean |  | 
| Kode Promosi |  |  |  | 
|  | Id | String |  | 
|  | object | String |  | 
|  | aktif | Boolean | = | 
|  | code | String | = | 
|  | kupon | Struct |  | 
|  | dibuat | DateTime | =,>=,<=,<,> | 
|  | pelanggan | String |  | 
|  | kedaluwarsa\$1at | DateTime |  | 
|  | livemode | Boolean |  | 
|  | max\$1redemptions | Bilangan Bulat |  | 
|  | Metadata | Struct |  | 
|  | pembatasan | Struct |  | 
|  | times\$1redeem | Bilangan Bulat |  | 
| Kode Pajak |  |  |  | 
|  | Id | String |  | 
|  | object | String |  | 
|  | deskripsi | String |  | 
|  | name | String |  | 
| Tarif Pajak |  |  |  | 
|  | Id | String |  | 
|  | object | String |  | 
|  | aktif | Boolean | = | 
|  | negeri | String |  | 
|  | dibuat | DateTime | =, >=, <=, <, > | 
|  | deskripsi | String |  | 
|  | display\$1name | String |  | 
|  | inklusif | Boolean | = | 
|  | wilayah | String |  | 
|  | yurisdiksi\$1level | String |  | 
|  | livemode | Boolean |  | 
|  | Metadata | Struct |  | 
|  | persentase | Ganda |  | 
|  | effective\$1percentage | Ganda |  | 
|  | status | String |  | 
|  | tax\$1type | String |  | 
| Tarif Pengiriman |  |  |  | 
|  | Id | String |  | 
|  | object | String |  | 
|  | aktif | Boolean | = | 
|  | dibuat | DateTime | =, >=, <=, <, > | 
|  | pengiriman\$1estimasi | Struct |  | 
|  | display\$1name | String |  | 
|  | fixed\$1amount | Struct |  | 
|  | livemode | Boolean |  | 
|  | Metadata | Struct |  | 
|  | tax\$1behavior | String |  | 
|  | tax\$1code | String |  | 
|  | jenis | String |  | 
| Sesi |  |  |  | 
|  | id | String |  | 
|  | object | String |  | 
|  | setelah\$1kedaluwarsa | Struct |  | 
|  | allow\$1promotion\$1codes | Boolean |  | 
|  | jumlah\$1subtotal | Bilangan Bulat |  | 
|  | jumlah\$1total | Bilangan Bulat |  | 
|  | automatic\$1tax | Struct |  | 
|  | billing\$1address\$1collection | String |  | 
|  | cancel\$1url | String |  | 
|  | client\$1reference\$1id | String |  | 
|  | persetujuan | Struct |  | 
|  | consent\$1collection | Struct |  | 
|  | dibuat | DateTime | =, >=, <=, <, > | 
|  | mata uang | String |  | 
|  | custom\$1text | Struct |  | 
|  | pelanggan | String |  | 
|  | customer\$1creation | String |  | 
|  | customer\$1details | Struct |  | 
|  | email pelanggan | String |  | 
|  | kedaluwarsa\$1at | DateTime |  | 
|  | faktur | String |  | 
|  | invoice\$1creation | Struct |  | 
|  | livemode | Boolean |  | 
|  | tempat | String |  | 
|  | Metadata | Struct |  | 
|  | Mode | String |  | 
|  | pembayaran\$1niat | String | = | 
|  | payment\$1link | String |  | 
|  | payment\$1method\$1collection | String |  | 
|  | payment\$1method\$1options | Struct |  | 
|  | payment\$1method\$1types | Daftar |  | 
|  | pembayaran\$1status | String |  | 
|  | phone\$1number\$1collection | Struct |  | 
|  | dipulihkan\$1dari | String |  | 
|  | setup\$1niat | String |  | 
|  | shipping\$1address\$1collection | Struct |  | 
|  | pengiriman\$1cost | Struct |  | 
|  | shipping\$1details | Struct |  | 
|  | shipping\$1options | Daftar |  | 
|  | status | String |  | 
|  | submit\$1type | String |  | 
|  | langganan | String |  | 
|  | success\$1url | String |  | 
|  | tax\$1id\$1collection | Struct |  | 
|  | total\$1details | Struct |  | 
|  | url | String |  | 
|  | ui\$1mode | String |  | 
| Catatan Kredit |  |  |  | 
|  | id | String |  | 
|  | object | String |  | 
|  | jumlah | Bilangan Bulat |  | 
|  | dibuat | DateTime | =, >=, <=, <, > | 
|  | mata uang | String |  | 
|  | pelanggan | String | = | 
|  | customer\$1balance\$1transaction | String |  | 
|  | discount\$1amount | Bilangan Bulat |  | 
|  | discount\$1amount | Daftar |  | 
|  | faktur | String | = | 
|  | lini | Struct |  | 
|  | livemode | Boolean |  | 
|  | memo | String |  | 
|  | Metadata | Struct |  | 
|  | number | String |  | 
|  | keluar\$1of\$1band\$1amount | Bilangan Bulat |  | 
|  | pdf | String |  | 
|  | akal budi | String |  | 
|  | pengembalian dana | String |  | 
|  | status | String |  | 
|  | subtotal | Bilangan Bulat |  | 
|  | subtotal\$1excluding\$1tax | Bilangan Bulat |  | 
|  | tax\$1amount | Daftar |  | 
|  | total | Bilangan Bulat |  | 
|  | total\$1excluding\$1tax | Bilangan Bulat |  | 
|  | jenis | String |  | 
|  | voided\$1at | DateTime |  | 
|  | amount\$1shipping | Bilangan Bulat |  | 
|  | efektif\$1at | DateTime |  | 
|  | pengiriman\$1cost | Struct |  | 
| Pelanggan |  |  |  | 
|  | id | String |  | 
|  | object | String |  | 
|  | alamat | Struct |  | 
|  | keseimbangan | Bilangan Bulat |  | 
|  | dibuat | DateTime |  | 
|  | mata uang | String | =, >=, <=, <, > | 
|  | default\$1source | String |  | 
|  | nakal | Boolean | = | 
|  | deskripsi | String |  | 
|  | discount | Struct |  | 
|  | Email | String | = | 
|  | invoice\$1prefix | String |  | 
|  | invoice\$1settings | Struct |  | 
|  | livemode | Boolean |  | 
|  | Metadata | Struct |  | 
|  | name | String |  | 
|  | next\$1invoice\$1sequence | Bilangan Bulat |  | 
|  | telepon | String |  | 
|  | preferred\$1locales | Daftar |  | 
|  | kirim | Struct |  | 
|  | bebas pajak | String |  | 
|  | test\$1clock | String |  | 
| Faktur |  |  |  | 
|  | id | String |  | 
|  | object | String |  | 
|  | account\$1country | String |  | 
|  | account\$1name | String |  | 
|  | account\$1tax\$1ids | Daftar |  | 
|  | jumlah\$1jatuh tempo | Bilangan Bulat |  | 
|  | jumlah\$1dibayar | Bilangan Bulat |  | 
|  | jumlah\$1sisa | Bilangan Bulat |  | 
|  | application | String |  | 
|  | application\$1fee\$1amount | Bilangan Bulat |  | 
|  | coba\$1hitung | Bilangan Bulat |  | 
|  | berusaha | Boolean | = | 
|  | auto\$1advance | Boolean | = | 
|  | automatic\$1tax | Struct |  | 
|  | tagihan\$1alasan | String |  | 
|  | biaya | String |  | 
|  | collection\$1method | String | = | 
|  | dibuat | DateTime | =, >=, <=, <, > | 
|  | mata uang | String |  | 
|  | custom\$1fields | Daftar |  | 
|  | pelanggan | String | = | 
|  | customer\$1address | Struct |  | 
|  | email pelanggan | String |  | 
|  | nama\$1pelanggan | String |  | 
|  | customer\$1phone | String |  | 
|  | customer\$1shipping | Struct |  | 
|  | customer\$1tax\$1exempt | String |  | 
|  | customer\$1tax\$1ids | Daftar |  | 
|  | default\$1payment\$1method | String |  | 
|  | default\$1source | String |  | 
|  | default\$1tax\$1rates | Daftar |  | 
|  | deskripsi | String |  | 
|  | discount | Struct |  | 
|  | diskon | Daftar |  | 
|  | due\$1date | DateTime | =, >=, <=, <, > | 
|  | ending\$1balance | Bilangan Bulat |  | 
|  | kaki halaman | String |  | 
|  | dari\$1invoice | Struct |  | 
|  | hosted\$1invoice\$1url | String |  | 
|  | faktur\$1pdf | String |  | 
|  | last\$1finalization\$1error | Struct |  | 
|  | revisi terbaru\$1 | String |  | 
|  | lini | Struct |  | 
|  | livemode | Boolean |  | 
|  | Metadata | Struct |  | 
|  | next\$1payment\$1attempt | DateTime |  | 
|  | number | String |  | 
|  | on\$1behalf\$1of | String |  | 
|  | digaji | Boolean | = | 
|  | paid\$1out\$1of\$1band | Boolean |  | 
|  | pembayaran\$1niat | String |  | 
|  | payment\$1settings | Struct |  | 
|  | period\$1akhir | DateTime | =, >=, <=, <, > | 
|  | period\$1start | DateTime | =, >=, <=, <, > | 
|  | post\$1payment\$1credit\$1notes\$1amount | Bilangan Bulat |  | 
|  | pre\$1payment\$1credit\$1notes\$1amount | Bilangan Bulat |  | 
|  | kutipan | String |  | 
|  | receipt\$1number | String |  | 
|  | merender | Struct |  | 
|  | rendering\$1options | Struct |  | 
|  | starting\$1balance | Bilangan Bulat |  | 
|  | statement\$1descriptor | String |  | 
|  | status | String | = | 
|  | status\$1transisi | Struct |  | 
|  | langganan | String |  | 
|  | subscription\$1details | Struct |  | 
|  | subtotal | Bilangan Bulat | =, <, > | 
|  | subtotal\$1excluding\$1tax | Bilangan Bulat |  | 
|  | pajak | Bilangan Bulat |  | 
|  | test\$1clock | String |  | 
|  | total | Bilangan Bulat | =, <, > | 
|  | total\$1discount\$1amount | Daftar |  | 
|  | total\$1excluding\$1tax | Bilangan Bulat |  | 
|  | total\$1tax\$1amount | Daftar |  | 
|  | transfer\$1data | Struct |  | 
|  | webhooks\$1delivered\$1at | DateTime |  | 
|  | automatically\$1finalizes\$1at | DateTime |  | 
|  | efektif\$1at | DateTime |  | 
|  | penerbit | Struct |  | 
| Item Faktur |  |  |  | 
|  | id | String |  | 
|  | object | String |  | 
|  | jumlah | Bilangan Bulat | =, <, > | 
|  | mata uang | String |  | 
|  | pelanggan | String | = | 
|  | tanggal | DateTime |  | 
|  | deskripsi | String |  | 
|  | diskon | Boolean |  | 
|  | diskon | Daftar |  | 
|  | faktur | String | = | 
|  | livemode | Boolean |  | 
|  | Metadata | Struct |  | 
|  | periode | Struct |  | 
|  | rencana | Struct |  | 
|  | price | Struct |  | 
|  | prorasi | Boolean | = | 
|  | kuantitas | Bilangan Bulat |  | 
|  | langganan | String |  | 
|  | subscription\$1item | String |  | 
|  | tarif pajak | Daftar |  | 
|  | test\$1clock | String |  | 
|  | unit\$1amount | Bilangan Bulat |  | 
|  | unit\$1amount\$1decimal | String |  | 
| Rencana |  |  |  | 
|  | id | String |  | 
|  | object | String |  | 
|  | aktif | Boolean | = | 
|  | aggregate\$1usage | String |  | 
|  | jumlah | Bilangan Bulat |  | 
|  | jumlah\$1desimal | String |  | 
|  | billing\$1scheme | String |  | 
|  | dibuat | DateTime | =, >=, <=, <, > | 
|  | mata uang | String | = | 
|  | interval | String | = | 
|  | interval\$1count | Bilangan Bulat |  | 
|  | livemode | Boolean |  | 
|  | Metadata | Struct |  | 
|  | nama panggilan | String |  | 
|  | produk | String | = | 
|  | tiers\$1mode | String |  | 
|  | transform\$1usage | Struct |  | 
|  | percobaan\$1period\$1days | Bilangan Bulat | =, <, > | 
|  | usage\$1type | String |  | 
|  | meter | String |  | 
| Kutipan |  |  |  | 
|  | id | String |  | 
|  | object | String |  | 
|  | jumlah\$1subtotal | Bilangan Bulat |  | 
|  | jumlah\$1total | Bilangan Bulat |  | 
|  | application | String |  | 
|  | application\$1fee\$1amount | Bilangan Bulat |  | 
|  | application\$1fee\$1percent | Ganda |  | 
|  | automatic\$1tax | Struct |  | 
|  | collection\$1method | String |  | 
|  | dihitung | Struct |  | 
|  | dibuat | DateTime |  | 
|  | mata uang | String |  | 
|  | pelanggan | String | = | 
|  | default\$1tax\$1rates | Daftar |  | 
|  | deskripsi | String |  | 
|  | diskon | Daftar |  | 
|  | kedaluwarsa\$1at | DateTime |  | 
|  | kaki halaman | String |  | 
|  | dari\$1quote | Struct |  | 
|  | header | String |  | 
|  | faktur | String |  | 
|  | invoice\$1settings | Struct |  | 
|  | livemode | Boolean |  | 
|  | Metadata | Struct |  | 
|  | number | String |  | 
|  | on\$1behalf\$1of | String |  | 
|  | status | String | = | 
|  | status\$1transisi | Struct |  | 
|  | langganan | String |  | 
|  | subscription\$1data | Struct |  | 
|  | subscription\$1schedule | String |  | 
|  | test\$1clock | String |  | 
|  | total\$1details | Struct |  | 
|  | transfer\$1data | Struct |  | 
| Langganan |  |  |  | 
|  | id | String |  | 
|  | object | String |  | 
|  | application | String |  | 
|  | application\$1fee\$1percent | Ganda |  | 
|  | automatic\$1tax | Struct |  | 
|  | billing\$1cycle\$1anchor | DateTime |  | 
|  | billing\$1thresholds | Struct |  | 
|  | batal\$1at | DateTime |  | 
|  | cancel\$1at\$1period\$1end | Boolean |  | 
|  | batal\$1at | DateTime |  | 
|  | collection\$1method | String | = | 
|  | dibuat | DateTime | =, >=, <=,<,> | 
|  | mata uang | String |  | 
|  | current\$1period\$1end | DateTime | =, >=, <= | 
|  | current\$1period\$1start | DateTime | =, >=, <= | 
|  | pelanggan | String | = | 
|  | days\$1until\$1due | Bilangan Bulat |  | 
|  | default\$1payment\$1method | String |  | 
|  | default\$1source | String |  | 
|  | default\$1tax\$1rates | Daftar |  | 
|  | deskripsi | String |  | 
|  | discount | Struct |  | 
|  | ended\$1at | DateTime |  | 
|  | item | Struct |  | 
|  | terbaru\$1invoice | String |  | 
|  | livemode | Boolean |  | 
|  | Metadata | Struct |  | 
|  | next\$1pending\$1invoice\$1item\$1invoice | DateTime |  | 
|  | pause\$1collection | Struct |  | 
|  | payment\$1settings | Struct |  | 
|  | pending\$1invoice\$1item\$1interval | Struct |  | 
|  | pending\$1setup\$1niat | String |  | 
|  | pending\$1update | Struct |  | 
|  | rencana | Struct |  | 
|  | kuantitas | Bilangan Bulat |  | 
|  | jadwal | String |  | 
|  | start\$1date | DateTime |  | 
|  | status | String | = | 
|  | test\$1clock | String |  | 
|  | transfer\$1data | Struct |  | 
|  | mencoba\$1end | DateTime |  | 
|  | coba\$1start | DateTime |  | 
| Item Berlangganan |  |  |  | 
|  | Id | String |  | 
|  | object | String |  | 
|  | billing\$1thresholds | Struct |  | 
|  | dibuat | DateTime | =, >=, <=, <, > | 
|  | Metadata | Struct |  | 
|  | rencana | Struct |  | 
|  | price | Struct |  | 
|  | langganan | String |  | 
|  | tarif pajak | Daftar |  | 
|  | diskon | Daftar |  | 
| Jadwal Berlangganan |  |  |  | 
|  | object | String |  | 
|  | application | String |  | 
|  | batal\$1at | DateTime |  | 
|  | completed\$1at | DateTime |  | 
|  | dibuat | DateTime |  | 
|  | current\$1phase | Struct |  | 
|  | pelanggan | String | = | 
|  | default\$1settings | Struct |  | 
|  | end\$1behavior | String |  | 
|  | livemode | Boolean |  | 
|  | Metadata | Struct |  | 
|  | fase | Daftar |  | 
|  | released\$1at | DateTime |  | 
|  | released\$1subscription | String |  | 
|  | renewal\$1interval | String |  | 
|  | status | String |  | 
|  | langganan | String |  | 
|  | test\$1clock | String |  | 
| Akun |  |  |  | 
|  | details\$1submit | Boolean |  | 
|  | tos\$1acceptance | Struct |  | 
|  | jenis | String |  | 
|  | Metadata | Struct |  | 
|  | id | String |  | 
|  | object | String |  | 
|  | default\$1currency | String |  | 
|  | kemampuan | Struct |  | 
|  | charges\$1enabled | Boolean |  | 
|  | pengaturan | Struct |  | 
|  | persyaratan | Struct |  | 
|  | payouts\$1enabled | Boolean |  | 
|  | future\$1requirements | Struct |  | 
|  | external\$1accounts | Struct |  | 
|  | pengontrol | Struct |  | 
|  | negeri | String |  | 
|  | Email | String |  | 
|  | dibuat | DateTime | =, >=, <=, <, > | 
|  | profil bisnis | Struct |  | 
|  | business\$1type | String |  | 
|  | perusahaan | Struct |  | 
| Biaya Aplikasi |  |  |  | 
|  | id | String |  | 
|  | object | String |  | 
|  | akun | String |  | 
|  | jumlah | Bilangan Bulat | =, <, > | 
|  | jumlah\$1dikembalikan | Bilangan Bulat | =, <, > | 
|  | application | String |  | 
|  | balance\$1transaction | String |  | 
|  | biaya | String | = | 
|  | dibuat | DateTime |  | 
|  | mata uang | String |  | 
|  | livemode | Boolean |  | 
|  | originating\$1transaction | String |  | 
|  | dikembalikan | Boolean | = | 
|  | mengembalikan uang | Struct |  | 
|  | fee\$1source | Struct |  | 
| Spesifikasi Negara |  |  |  | 
|  | id | String |  | 
|  | object | String |  | 
|  | default\$1currency | String |  | 
|  | supported\$1bank\$1account\$1currencies | Struct |  | 
|  | supported\$1payment\$1currencies | Daftar |  | 
|  | supported\$1payment\$1methods | Daftar |  | 
|  | supported\$1transfer\$1countries | Daftar |  | 
|  | verification\$1fields | Struct |  | 
| Transfer |  |  |  | 
|  | id | String |  | 
|  | object | String |  | 
|  | jumlah | Bilangan Bulat | =, <, > | 
|  | amount\$1reversed | Bilangan Bulat |  | 
|  | balance\$1transaction | String |  | 
|  | dibuat | DateTime | =, >=, <=, <, > | 
|  | mata uang | String | = | 
|  | deskripsi | String |  | 
|  | tujuan | String | = | 
|  | destination\$1payment | String |  | 
|  | livemode | Boolean |  | 
|  | Metadata | Struct |  | 
|  | pembalikan | Struct |  | 
|  | terbalik | Boolean |  | 
|  | source\$1transaction | String |  | 
|  | source\$1type | String |  | 
|  | transfer\$1group | String | = | 
| Peringatan Penipuan Dini |  |  |  | 
|  | id | String |  | 
|  | object | String |  | 
|  | dapat ditindaklanjuti | Boolean |  | 
|  | biaya | String | = | 
|  | dibuat | DateTime | =, >=, <=, <, > | 
|  | penipuan\$1type | String |  | 
|  | livemode | Boolean |  | 
|  | pembayaran\$1niat | String | = | 
| Tipe Laporan |  |  |  | 
|  | id | String |  | 
|  | object | String |  | 
|  | data\$1available\$1end | DateTime |  | 
|  | data\$1available\$1start | DateTime |  | 
|  | default\$1columns | Daftar |  | 
|  | livemode | Boolean |  | 
|  | name | String |  | 
|  | diperbarui | DateTime |  | 
|  | versi | Bilangan Bulat |  | 

 **Mempartisi kueri** 

 Opsi percikan tambahan`PARTITION_FIELD`,, `LOWER_BOUND``UPPER_BOUND`, `NUM_PARTITIONS` dapat diberikan 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 percikan secara bersamaan. 
+  `PARTITION_FIELD`: nama bidang yang akan digunakan untuk mempartisi kueri. 
+  `LOWER_BOUND`: nilai batas bawah inklusif dari bidang partisi yang dipilih. 

   Untuk tanggal, kami menerima format tanggal Spark yang digunakan dalam kueri Spark SQL. Contoh nilai yang valid:`"2024-07-01T00:00:00.000Z"`. 
+  `UPPER_BOUND`: nilai batas atas eksklusif dari bidang partisi yang dipilih. 
+  `NUM_PARTITIONS`: jumlah partisi. 

 Detail dukungan bidang partisi yang bijaksana dari entitas ditangkap dalam tabel di bawah ini. 


| Nama Entitas | Bidang Partisi | Tipe data | 
| --- | --- | --- | 
| Transaksi Saldo | dibuat | DateTime | 
| Biaya | dibuat | DateTime | 
| Perselisihan | dibuat | DateTime | 
| Tautan File | dibuat | DateTime | 
| PaymentIntents | dibuat | DateTime | 
| SetupIntents | dibuat | DateTime | 
| Pembayaran | dibuat | DateTime | 
| Pengembalian dana | dibuat | DateTime | 
| Produk | dibuat | DateTime | 
| Harga | dibuat | DateTime | 
| Kupon | dibuat | DateTime | 
| Kode Promosi | dibuat | DateTime | 
| Tarif Pajak | dibuat | DateTime | 
| Tarif Pengiriman | dibuat | DateTime | 
| Sesi | dibuat | DateTime | 
| Catatan Kredit | dibuat | DateTime | 
| Pelanggan | dibuat | DateTime | 
| Faktur | dibuat | DateTime | 
| Rencana | dibuat | DateTime | 
| Langganan | dibuat | DateTime | 
| Jadwal Berlangganan | dibuat | DateTime | 
| Akun | dibuat | DateTime | 
| Biaya Aplikasi | dibuat | DateTime | 
| Transfer | dibuat | DateTime | 
| Peringatan Penipuan Dini | dibuat | DateTime | 

 **Contoh** 

```
stripe_read = glueContext.create_dynamic_frame.from_options(
    connection_type="stripe",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "coupons",
        "API_VERSION": "v1",
        "PARTITION_FIELD": "created"
        "LOWER_BOUND": "2024-05-01T20:55:02.000Z"
        "UPPER_BOUND": "2024-07-11T20:55:02.000Z"
        "NUM_PARTITIONS": "10"
    }
)
```

# Opsi koneksi garis
<a name="stripe-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Stripe:
+  `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Nama Object Anda di Stripe. 
+  `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca/Tulis. Versi Stripe Rest API yang ingin Anda gunakan. Contoh: v1. 
+  `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="stripe-limitations"></a>

Berikut ini adalah batasan untuk konektor Stripe:
+  Hanya Partisi Berbasis Bidang yang didukung oleh konektor. 
+  Partisi Berbasis Rekam tidak didukung oleh konektor, tidak ada ketentuan untuk mengambil jumlah total catatan. 
+  Jenis data kunci primer adalah String, jadi Partisi Berbasis Id tidak didukung oleh konektor. 

# Membuat akun Stripe baru dan mengonfigurasi aplikasi klien
<a name="stripe-new-account-creation"></a>

**Membuat akun Stripe**

1. Pilih pada **https://dashboard.stripe.comtautan/daftar**.

1. Masukkan Email Anda, Nama lengkap, Kata Sandi & pilih **Buat Akun**.

1. Setelah login dengan akun, verifikasi akun dengan memilih **Buka Gmail**.

1. Verifikasi akun dengan mengklik tautan verifikasi yang diterima di email.

1. Setelah mengklik verifikasi alamat email, itu akan mengarahkan ke halaman lain

1. Setelah mengklik **Aktifkan pembayaran** untuk mengaktifkan akun, itu akan mengarahkan ke halaman Aktifkan pembayaran (**https://dashboard.stripe.com/selamat datang**) dan pastikan untuk mengisi semua detail valid Anda dan setelah itu pilih tombol **Lanjutkan**.



**Membuat aplikasi pengembang Slack**

1. Masuk ke [Stripe](https://dashboard.stripe.com/login).

1. Pilih **Pengembang** seperti yang ditampilkan di bagian atas gambar di bawah ini.

1. Pilih **kunci API** di bawah Pengembang.

1. Pilih **Reveal test key** untuk mendapatkan kunci API.

# Menghubungkan ke Teradata Vantage di AWS Glue Studio
<a name="connecting-to-data-teradata"></a>

 AWS Gluemenyediakan dukungan bawaan untuk Teradata Vantage. AWS Glue Studiomenyediakan antarmuka visual untuk terhubung ke Teradata, membuat pekerjaan integrasi data, dan menjalankannya di runtime Spark tanpa AWS Glue Studio server. 

 AWS Glue Studio membuat koneksi terpadu untuk Teradata Vantage. Untuk informasi selengkapnya, lihat [Pertimbangan-pertimbangan](using-connectors-unified-connections.md#using-connectors-unified-connections-considerations). 

**Topics**
+ [Membuat koneksi Teradata Vantage](creating-teradata-connection.md)
+ [Membuat node sumber Teradata](creating-teradata-source-node.md)
+ [Membuat node target Teradata](creating-teradata-target-node.md)
+ [Opsi lanjutan](#creating-teradata-connection-advanced-options)

# Membuat koneksi Teradata Vantage
<a name="creating-teradata-connection"></a>

Untuk terhubung ke Teradata Vantage dari AWS Glue, Anda harus membuat dan menyimpan kredenal Teradata Anda secara AWS Secrets Manager rahasia, lalu mengaitkan rahasia itu dengan koneksi Teradata. AWS Glue 

**Prasyarat**:
+ Jika Anda mengakses lingkungan Teradata Anda melalui Amazon VPC, konfigurasikan Amazon VPC untuk memungkinkan pekerjaan AWS Glue Anda berkomunikasi dengan lingkungan Teradata. Kami tidak menyarankan mengakses lingkungan Teradata melalui internet publik.

  Di Amazon VPC, identifikasi atau buat **grup **VPC**, **Subnet**, dan Keamanan** yang AWS Glue akan digunakan saat menjalankan pekerjaan. Selain itu, Anda perlu memastikan Amazon VPC dikonfigurasi untuk mengizinkan lalu lintas jaringan antara instans Teradata Anda dan lokasi ini. Pekerjaan Anda perlu membuat koneksi TCP dengan port klien Teradata Anda. Untuk informasi selengkapnya tentang port Teradata, lihat dokumentasi [Teradata](https://docs.teradata.com/r/Teradata-VantageTM-on-AWS-DIY-Installation-and-Administration-Guide/April-2020/Before-Deploying-Vantage-on-AWS-DIY/Security-Groups-and-Ports).

  Berdasarkan tata letak jaringan Anda, konektivitas VPC yang aman mungkin memerlukan perubahan di Amazon VPC dan layanan jaringan lainnya. Untuk informasi lebih lanjut tentang AWS konektivitas, lihat [Opsi AWS Konektivitas](https://docs.teradata.com/r/Teradata-VantageCloud-Enterprise/Get-Started/Connecting-Your-Environment/AWS-Connectivity-Options) di dokumentasi Teradata.

**Untuk mengkonfigurasi koneksi AWS Glue Teradata:**

1. Dalam konfigurasi Teradata Anda, identifikasi atau buat pengguna dan kata sandi AWS Glue akan terhubung dengan, *teradataUser* dan. *teradataPassword* Untuk informasi lebih lanjut, lihat [Ikhtisar Keamanan Vantage di dokumentasi](https://docs.teradata.com/r/Configuring-Teradata-VantageTM-After-Installation/January-2021/Security-Overview/Vantage-Security-Overview) Teradata.

1. Di AWS Secrets Manager, buat rahasia menggunakan kredenal Teradata Anda. Untuk membuat rahasia di Secrets Manager, ikuti tutorial yang tersedia di [Buat AWS Secrets Manager rahasia](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret.html) dalam AWS Secrets Manager dokumentasi. Setelah membuat rahasia, simpan nama Rahasia, *secretName* untuk langkah selanjutnya. 
   + Saat memilih **pasangan kunci/nilai**, buat pasangan untuk kunci `user` dengan nilainya. *teradataUsername*
   + Saat memilih **pasangan kunci/nilai**, buat pasangan untuk kunci `password` dengan nilainya. *teradataPassword*

1. Di AWS Glue konsol, buat koneksi dengan mengikuti langkah-langkah di[Menambahkan AWS Glue koneksi](console-connections.md). Setelah membuat koneksi, pertahankan nama koneksi,*connectionName*, untuk langkah selanjutnya. 
   + Saat memilih **jenis Koneksi**, pilih Teradata.
   + Saat memberikan **URL JDBC**, berikan URL untuk instance Anda. Anda juga dapat membuat hardcode parameter koneksi yang dipisahkan koma tertentu di URL JDBC Anda. URL harus sesuai dengan format berikut: `jdbc:teradata://teradataHostname/ParameterName=ParameterValue,ParameterName=ParameterValue`

     Parameter URL yang didukung meliputi:
     + `DATABASE`— nama database pada host untuk mengakses secara default.
     + `DBS_PORT`— port database, digunakan saat berjalan pada port yang tidak standar.
   + Saat memilih **jenis Credential**, pilih **AWS Secrets Manager**, lalu atur **AWS Secret** ke*secretName*.

1. Dalam situasi berikut, Anda mungkin memerlukan konfigurasi tambahan:
   + 

     Untuk instans Teradata yang dihosting di VPC AWS Amazon
     + Anda harus memberikan informasi koneksi Amazon VPC ke AWS Glue koneksi yang menentukan kredenal keamanan Teradata Anda. **Saat membuat atau memperbarui koneksi Anda, atur **grup **VPC**, **Subnet**, dan Keamanan** dalam opsi Jaringan.**

# Membuat node sumber Teradata
<a name="creating-teradata-source-node"></a>

## Prasyarat yang dibutuhkan
<a name="creating-teradata-source-node-prerequisites"></a>
+ Koneksi AWS Glue Teradata Vantage, dikonfigurasi dengan AWS Secrets Manager rahasia, seperti yang dijelaskan di bagian sebelumnya,. [Membuat koneksi Teradata Vantage](creating-teradata-connection.md)
+ Izin yang sesuai pada pekerjaan Anda untuk membaca rahasia yang digunakan oleh koneksi.
+ Tabel Teradata yang ingin Anda baca,*tableName*, atau kueri. *targetQuery*

## Menambahkan sumber data Teradata
<a name="creating-teradata-source-node-add"></a>

**Untuk menambahkan **sumber Data — Teradata node**:**

1.  Pilih koneksi untuk sumber data Teradata Anda. Karena Anda telah membuatnya, itu harus tersedia di dropdown. Jika Anda perlu membuat koneksi, pilih **Buat koneksi baru**. Untuk informasi lebih lanjut lihat bagian sebelumnya,[Membuat koneksi Teradata Vantage](creating-teradata-connection.md). 

    Setelah Anda memilih koneksi, Anda dapat melihat properti koneksi dengan mengklik **Lihat properti**. 

1.  Pilih opsi **Sumber Teradata:** 
   +  **Pilih satu tabel** — akses semua data dari satu tabel. 
   +  **Masukkan kueri kustom** — akses kumpulan data dari beberapa tabel berdasarkan kueri kustom Anda. 

1.  Jika Anda memilih satu tabel, masukkan*tableName*. 

    Jika Anda memilih **Masukkan kueri kustom**, masukkan kueri SQL SELECT. 

1.  Di **properti Custom Teradata**, masukkan parameter dan nilai sesuai kebutuhan. 

# Membuat node target Teradata
<a name="creating-teradata-target-node"></a>

## Prasyarat yang dibutuhkan
<a name="creating-teradata-target-node-prerequisites"></a>
+ Koneksi AWS Glue Teradata Vantage, dikonfigurasi dengan AWS Secrets Manager rahasia, seperti yang dijelaskan di bagian sebelumnya,. [Membuat koneksi Teradata Vantage](creating-teradata-connection.md)
+ Izin yang sesuai pada pekerjaan Anda untuk membaca rahasia yang digunakan oleh koneksi.
+ Tabel Teradata yang ingin Anda tulis,. *tableName*

## Menambahkan target data Teradata
<a name="creating-teradata-target-node-add"></a>

**Untuk menambahkan **target Data — Teradata node**:**

1.  Pilih koneksi untuk sumber data Teradata Anda. Karena Anda telah membuatnya, itu harus tersedia di dropdown. Jika Anda perlu membuat koneksi, pilih **Buat koneksi Teradata**. Untuk informasi selengkapnya, lihat [Ikhtisar penggunaan konektor dan koneksi](https://docs.aws.amazon.com/glue/latest/ug/connectors-chapter.html#using-connectors-overview). 

    Setelah Anda memilih koneksi, Anda dapat melihat properti koneksi dengan mengklik **Lihat properti**. 

1. Konfigurasikan **nama Tabel** dengan menyediakan*tableName*.

1.  Di **properti Custom Teradata**, masukkan parameter dan nilai sesuai kebutuhan. 

## Opsi lanjutan
<a name="creating-teradata-connection-advanced-options"></a>

Anda dapat memberikan opsi lanjutan saat membuat simpul Teradata. Opsi ini sama dengan yang tersedia saat pemrograman AWS Glue untuk skrip Spark.

Lihat [Koneksi Teradata Vantage](aws-glue-programming-etl-connect-teradata-home.md). 

# Menghubungkan ke Twilio
<a name="connecting-to-data-twilio"></a>

Twilio menyediakan alat komunikasi yang dapat diprogram untuk membuat dan menerima panggilan telepon, mengirim, dan menerima pesan teks, dan melakukan fungsi komunikasi lainnya menggunakan layanan webnya. APIs Twilio memiliki APIs kekuatan platformnya untuk komunikasi. Di balik ini APIs adalah lapisan perangkat lunak yang menghubungkan dan mengoptimalkan jaringan komunikasi di seluruh dunia untuk memungkinkan pengguna Anda menelepon dan mengirim pesan kepada siapa pun, secara global. Sebagai pengguna Twilio, Anda dapat terhubung AWS Glue ke akun Twilio Anda. Kemudian, Anda dapat menggunakan Twilio sebagai sumber data dalam pekerjaan ETL Anda. Jalankan pekerjaan ini untuk mentransfer data antara Twilio dan AWS layanan atau aplikasi lain yang didukung.

**Topics**
+ [AWS Glue Dukungan untuk Twilio](twilio-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](twilio-configuring-iam-permissions.md)
+ [Mengkonfigurasi Twilio](twilio-configuring.md)
+ [Mengkonfigurasi koneksi Twilio](twilio-configuring-connections.md)
+ [Membaca dari entitas Twilio](twilio-reading-from-entities.md)
+ [Opsi koneksi Twilio](twilio-connection-options.md)
+ [Keterbatasan dan catatan untuk konektor Twilio](twilio-connector-limitations.md)

# AWS Glue Dukungan untuk Twilio
<a name="twilio-support"></a>

AWS Glue mendukung Twilio sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi Twilio API yang didukung**  
Versi Twilio API berikut didukung:
+ v1
+ 2010-04-01

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="twilio-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 Twilio
<a name="twilio-configuring"></a>

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

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

Berikut ini adalah persyaratan minimum:
+ Anda memiliki akun Twilio dengan nama pengguna dan kata sandi.
+ Akun Twilio Anda diaktifkan untuk akses API.

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

# Mengkonfigurasi koneksi Twilio
<a name="twilio-configuring-connections"></a>

Twilio mendukung username dan password untuk Basic Authentication. Basic Authentication adalah metode otentikasi sederhana di mana klien memberikan kredensi langsung untuk mengakses sumber daya yang dilindungi. AWS Glue dapat menggunakan nama pengguna (Akun SID) dan kata sandi (Token Auth) untuk mengautentikasi Twilio. APIs

Untuk dokumentasi Twilio publik untuk alur Autentikasi Dasar, lihat Otentikasi [Dasar](https://www.twilio.com/docs/glossary/what-is-basic-authentication) \$1 Twilio.

Untuk mengkonfigurasi koneksi Twilio:

1. Di AWS Secrets Manager, buat rahasia dengan detail berikut:
   + Untuk Otentikasi Dasar: Rahasia harus berisi aplikasi yang terhubung Rahasia Konsumen dengan **SID Akun** (Nama Pengguna) dan **Token Auth** (Kata Sandi).
**catatan**  
Anda harus membuat rahasia untuk koneksi Anda 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 Twilio.

   1. Berikan contoh Twilio yang ingin Anda sambungkan. `[Edge\$1Location](https://www.twilio.com/docs/global-infrastructure/edge-locations)`

   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 Twilio
<a name="twilio-reading-from-entities"></a>

**Prasyarat**

Objek Twilio yang ingin Anda baca. Anda akan membutuhkan nama objek seperti `SMS-Message` atau`SMS-CountryPricing`.

**Entitas yang didukung untuk sumber**:


| Entitas | Antarmuka | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih \$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | --- | 
| SMS-pesan | REST | Ya | Ya | Tidak | Ya | Ya | 
| SMS- CountryPricing | REST | Tidak | Tidak | Tidak | Ya | Tidak | 
| Panggilan Suara | REST | Ya | Ya | Tidak | Ya | Tidak | 
| Aplikasi Suara | REST | Ya | Ya | Tidak | Ya | Tidak | 
| OutgoingCallerID Suara | REST | Ya | Ya | Tidak | Ya | Tidak | 
| Antrian Suara | REST | Ya | Ya | Tidak | Ya | Tidak | 
| Percakapan-Percakapan | REST | Ya | Ya | Tidak | Ya | Tidak | 
| Percakapan-Pengguna | REST | Tidak | Ya | Tidak | Ya | Tidak | 
| Peran Percakapan | REST | Tidak | Ya | Tidak | Ya | Tidak | 
| Percakapan-Konfigurasi | REST | Tidak | Tidak | Tidak | Ya | Tidak | 
| Percakapan- AddressConfiguration | REST | Ya | Ya | Tidak | Ya | Tidak | 
| Percakapan- WebhookConfiguration | REST | Tidak | Tidak | Tidak | Ya | Tidak | 
| Percakapan- ParticipantConversation | REST | Tidak | Tidak | Tidak | Ya | Tidak | 
| Percakapan-Kredensi | REST | Tidak | Ya | Tidak | Ya | Tidak | 
| Percakapan- ConversationService | REST | Tidak | Ya | Tidak | Ya | Tidak | 

**Contoh:**

```
twilio_read = glueContext.create_dynamic_frame.from_options(
    connection_type="twilio",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "sms-message",
        "API_VERSION": "2010-04-01",
        "Edge_Location": "sydney.us1"
    }
```

**Entitas Twilio dan detail bidang**:

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

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

**Bidang yang mendukung partisi**:

Di Twilio, bidang DateTime tipe data mendukung partisi berbasis lapangan.

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 bidang Datetime, kami menerima format stempel waktu Spark yang digunakan dalam kueri Spark SQL.

  Contoh nilai valid:

  ```
  "2024-05-01T20:55:02.000Z"
  ```
+ `UPPER_BOUND`: nilai batas atas **eksklusif** dari bidang partisi yang dipilih.
+ `NUM_PARTITIONS`: jumlah partisi.

Contoh:

```
twilio_read = glueContext.create_dynamic_frame.from_options(
    connection_type="twilio",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "sms-message",
        "API_VERSION": "2010-04-01",
        "PARTITION_FIELD": "date_sent"
        "LOWER_BOUND": "2024-05-01T20:55:02.000Z"
        "UPPER_BOUND": "2024-06-01T20:55:02.000Z"
        "NUM_PARTITIONS": "10"
    }
```

# Opsi koneksi Twilio
<a name="twilio-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Twilio:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama objek Anda di Twilio.
+ `EDGE_LOCATION`(String) - (Diperlukan) Lokasi tepi Twilio yang valid.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Versi Twilio Rest API yang ingin Anda gunakan. Twilio mendukung dua versi API: 'v1' dan '2010-04-01'.
+ `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 Baca.
+ `INSTANCE_URL`(String) - (Diperlukan) Digunakan untuk Baca. URL contoh Twilio yang valid.

# Keterbatasan dan catatan untuk konektor Twilio
<a name="twilio-connector-limitations"></a>

Berikut ini adalah batasan atau catatan untuk konektor Twilio:
+ Partisi berbasis rekaman tidak didukung, karena tidak ada ketentuan untuk mengambil jumlah total catatan dari Twilio.
+ Bidang`date_sent`,`start_time`, dan `end_time` merupakan tipe data Datetime, tetapi saat memfilter, mereka hanya mendukung nilai tanggal (komponen waktu tidak dipertimbangkan).
+ Memfilter bidang “dari” atau “ke” hanya berfungsi jika nilainya tidak menyertakan awalan apa pun (misalnya, protokol atau label). Jika ada awalan, pemfilteran untuk bidang masing-masing tidak berfungsi. Misalnya jika Anda meneruskan “to”: “whatsapp: \$114xxxxxxxxxx” sebagai filter maka Twilio tidak akan mengembalikan respons. Anda harus meneruskannya sebagai “to”: “\$114xxxxxxxx”, maka itu akan mengembalikan catatan jika ada.
+ Filter bidang “identitas” wajib saat menanyakan `conversation-participant-conversation` entitas.

# Menghubungkan ke Vertica di AWS Glue Studio
<a name="connecting-to-data-vertica"></a>

 AWS Gluemenyediakan dukungan bawaan untuk Vertica. AWS Glue Studiomenyediakan antarmuka visual untuk terhubung ke Vertica, membuat pekerjaan integrasi data, dan menjalankannya di runtime Spark AWS Glue Studio tanpa server. 

 AWS Glue Studio menciptakan koneksi terpadu untuk Vertica. Untuk informasi selengkapnya, lihat [Pertimbangan-pertimbangan](using-connectors-unified-connections.md#using-connectors-unified-connections-considerations). 

**Topics**
+ [Membuat koneksi Vertica](creating-vertica-connection.md)
+ [Membuat simpul sumber Vertica](creating-vertica-source-node.md)
+ [Membuat simpul target Vertica](creating-vertica-target-node.md)
+ [Opsi lanjutan](#creating-vertica-connection-advanced-options)

# Membuat koneksi Vertica
<a name="creating-vertica-connection"></a>

**Prasyarat**:
+ Bucket atau folder Amazon S3 yang akan digunakan untuk penyimpanan sementara saat membaca dari dan menulis ke database, dirujuk oleh. *tempS3Path*
**catatan**  
Saat menggunakan Vertica dalam pratinjau data AWS Glue pekerjaan, file sementara mungkin tidak dihapus secara otomatis. *tempS3Path* Untuk memastikan penghapusan file sementara, langsung akhiri sesi pratinjau data dengan memilih **Akhiri sesi** di panel **pratinjau data**.  
Jika Anda tidak dapat menjamin sesi pratinjau data berakhir secara langsung, pertimbangkan untuk menyetel konfigurasi Siklus Hidup Amazon S3 untuk menghapus data lama. Sebaiknya hapus data yang lebih lama dari 49 jam, berdasarkan runtime pekerjaan maksimum ditambah margin. Untuk informasi selengkapnya tentang mengonfigurasi Siklus Hidup Amazon S3, [lihat Mengelola siklus hidup penyimpanan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) di dokumentasi Amazon S3.
+ Kebijakan IAM dengan izin yang sesuai ke jalur Amazon S3 yang dapat Anda kaitkan dengan AWS Glue peran pekerjaan Anda.
+ Jika instans Vertica Anda ada di VPC Amazon, konfigurasikan Amazon VPC untuk memungkinkan pekerjaan AWS Glue Anda berkomunikasi dengan instans Vertica tanpa lalu lintas melintasi internet publik. 

  Di Amazon VPC, identifikasi atau buat **grup **VPC**, **Subnet**, dan Keamanan** yang AWS Glue akan digunakan saat menjalankan pekerjaan. Selain itu, Anda perlu memastikan Amazon VPC dikonfigurasi untuk mengizinkan lalu lintas jaringan antara instans Vertica Anda dan lokasi ini. Pekerjaan Anda perlu membuat koneksi TCP dengan port klien Vertica Anda, (default 5433). Berdasarkan tata letak jaringan Anda, ini mungkin memerlukan perubahan pada aturan grup keamanan, Jaringan, Gateway NAT ACLs, dan koneksi Peering.

**Untuk mengonfigurasi koneksi ke Vertica:**

1. Di AWS Secrets Manager, buat rahasia menggunakan kredensi Vertica Anda, dan. *verticaUsername* *verticaPassword* Untuk membuat rahasia di Secrets Manager, ikuti tutorial yang tersedia di [Buat AWS Secrets Manager rahasia](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret.html) dalam AWS Secrets Manager dokumentasi. Setelah membuat rahasia, simpan nama Rahasia, *secretName* untuk langkah selanjutnya. 
   + Saat memilih **pasangan kunci/nilai**, buat pasangan untuk kunci `user` dengan nilainya. *verticaUsername*
   + Saat memilih **pasangan kunci/nilai**, buat pasangan untuk kunci `password` dengan nilainya. *verticaPassword*

1. Di AWS Glue konsol, buat koneksi dengan mengikuti langkah-langkah di[Menambahkan AWS Glue koneksi](console-connections.md). Setelah membuat koneksi, pertahankan nama koneksi,*connectionName*, untuk langkah selanjutnya. 
   + Saat memilih **jenis Koneksi**, pilih Vertica.
   + Saat memilih **Vertica Host**, berikan nama host instalasi Vertica Anda.
   + Saat memilih **Port Vertica**, port instalasi Vertica Anda tersedia.
   + Saat memilih **AWS Rahasia**, berikan*secretName*.

1. Dalam situasi berikut, Anda mungkin memerlukan konfigurasi tambahan:
   + 

     Untuk instans Vertica yang dihosting AWS di VPC Amazon
     + Berikan informasi koneksi Amazon VPC ke AWS Glue koneksi yang menentukan kredensi keamanan Vertica Anda. **Saat membuat atau memperbarui koneksi Anda, atur **grup **VPC**, **Subnet**, dan Keamanan** dalam opsi Jaringan.**

Anda perlu melakukan langkah-langkah berikut sebelum menjalankan AWS Glue pekerjaan Anda:
+ Berikan peran IAM yang terkait dengan izin AWS Glue pekerjaan Anda. *tempS3Path*
+ Berikan peran IAM yang terkait dengan izin AWS Glue pekerjaan Anda untuk membaca*secretName*.

# Membuat simpul sumber Vertica
<a name="creating-vertica-source-node"></a>

## Prasyarat yang dibutuhkan
<a name="creating-vertica-source-node-prerequisites"></a>
+ Koneksi Katalog AWS Glue Data tipe Vertica, *connectionName* dan lokasi Amazon S3 sementara*tempS3Path*, seperti yang dijelaskan di bagian sebelumnya,. [Membuat koneksi Vertica](creating-vertica-connection.md)
+ Tabel Vertica yang ingin Anda baca,*tableName*, atau kueri*targetQuery*.

## Menambahkan sumber data Vertica
<a name="creating-vertica-source-node-add"></a>

**Untuk menambahkan **sumber Data — simpul Vertica**:**

1.  Pilih koneksi untuk sumber data Vertica Anda. Karena Anda telah membuatnya, itu harus tersedia di dropdown. Jika Anda perlu membuat koneksi, pilih **Buat koneksi Vertica**. Untuk informasi lebih lanjut lihat bagian sebelumnya,[Membuat koneksi Vertica](creating-vertica-connection.md). 

    Setelah Anda memilih koneksi, Anda dapat melihat properti koneksi dengan mengklik **Lihat properti**. 

1. Pilih **Database** yang berisi tabel Anda.

1. Pilih **area Staging di Amazon** S3, masukkan URI S3A ke. *tempS3Path*

1. Pilih **Sumber Vertica**.
   +  **Pilih satu tabel** — akses semua data dari satu tabel. 
   +  **Masukkan kueri kustom** — akses kumpulan data dari beberapa tabel berdasarkan kueri kustom Anda. 

1.  Jika Anda memilih satu tabel, masukkan *tableName* dan pilih **Skema** secara opsional. 

    **Jika Anda memilih **Masukkan kueri kustom**, masukkan kueri SQL SELECT dan pilih Skema secara opsional.** 

1.  Di **properti Custom Vertica**, masukkan parameter dan nilai sesuai kebutuhan. 

# Membuat simpul target Vertica
<a name="creating-vertica-target-node"></a>

## Prasyarat yang dibutuhkan
<a name="creating-vertica-target-node-prerequisites"></a>
+ Koneksi Katalog AWS Glue Data tipe Vertica, *connectionName* dan lokasi Amazon S3 sementara*tempS3Path*, seperti yang dijelaskan di bagian sebelumnya,. [Membuat koneksi Vertica](creating-vertica-connection.md)

## Menambahkan target data Vertica
<a name="creating-vertica-target-node-add"></a>

**Untuk menambahkan **target Data — simpul Vertica**:**

1.  Pilih koneksi untuk sumber data Vertica Anda. Karena Anda telah membuatnya, itu harus tersedia di dropdown. Jika Anda perlu membuat koneksi, pilih **Buat koneksi Vertica**. Untuk informasi lebih lanjut lihat bagian sebelumnya,[Membuat koneksi Vertica](creating-vertica-connection.md). 

    Setelah Anda memilih koneksi, Anda dapat melihat properti koneksi dengan mengklik **Lihat properti**. 

1. Pilih **Database** yang berisi tabel Anda.

1. Pilih **area Staging di Amazon** S3, masukkan URI S3A ke. *tempS3Path*

1. **Masuk *tableName* dan pilih Skema secara opsional.** 

1.  Di **properti Custom Vertica**, masukkan parameter dan nilai sesuai kebutuhan. 

## Opsi lanjutan
<a name="creating-vertica-connection-advanced-options"></a>

Anda dapat memberikan opsi lanjutan saat membuat simpul Vertica. Opsi ini sama dengan yang tersedia saat pemrograman AWS Glue untuk skrip Spark.

Lihat [Koneksi Vertica](aws-glue-programming-etl-connect-vertica-home.md).

# 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.

# 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).

# Menyambung ke Zoho CRM
<a name="connecting-to-data-zoho-crm"></a>

Zoho CRM bertindak sebagai repositori tunggal untuk menyatukan aktivitas penjualan, pemasaran, dan dukungan pelanggan, serta merampingkan proses, kebijakan, dan orang-orang dalam satu platform. Zoho CRM dapat dengan mudah disesuaikan untuk memenuhi kebutuhan spesifik jenis dan ukuran bisnis apa pun.

Platform pengembang Zoho CRM menawarkan perpaduan yang tepat antara alat kode rendah dan pro-kode businesses/enterprises untuk mengotomatiskan pekerjaan, mengintegrasikan data di seluruh tumpukan perusahaan, dan membuat solusi khusus untuk web dan seluler.

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

# AWS Glue dukungan untuk Zoho CRM
<a name="zoho-crm-support"></a>

AWS Glue mendukung Zoho CRM sebagai berikut:

**Didukung sebagai sumber?**  
Ya — Sinkronisasi dan Async. Anda dapat menggunakan pekerjaan AWS Glue ETL untuk menanyakan data dari Zoho CRM.

**Didukung sebagai target?**  
Tidak.

**Versi Zoho CRM API yang didukung**  
Versi Zoho CRM API berikut didukung:
+ v7

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="zoho-crm-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 Zoho CRM
<a name="zoho-crm-configuring"></a>

Sebelum dapat digunakan AWS Glue untuk mentransfer data dari Zoho CRM, Anda harus memenuhi persyaratan berikut:

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

Berikut ini adalah persyaratan minimum:
+ Anda memiliki akun Zoho CRM.
+ Akun Zoho CRM Anda diaktifkan untuk akses API.
+ Anda memiliki klien API terdaftar di bawah Konsol API untuk mendapatkan OAuth Kredensial.

# Mengkonfigurasi koneksi Zoho CRM
<a name="zoho-crm-configuring-connections"></a>

Jenis hibah menentukan cara AWS Glue berkomunikasi dengan Zoho CRM untuk meminta akses ke data Anda. Pilihan Anda memengaruhi persyaratan yang harus Anda penuhi sebelum membuat koneksi. Zoho CRM hanya mendukung jenis hibah AUTHORIZATION\$1CODE untuk 2.0. OAuth 
+ 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. AWS Glue Konsol akan mengarahkan pengguna ke Zoho CRM di mana pengguna harus masuk dan mengizinkan Glue izin yang diminta untuk mengakses instance Zoho CRM mereka.
+ Pengguna masih dapat memilih untuk membuat aplikasi tersambung mereka sendiri di Zoho CRM dan memberikan ID klien, URL Auth, URL Token, dan URL Instance mereka sendiri saat membuat koneksi melalui konsol. AWS Glue Dalam skenario ini, mereka masih akan diarahkan ke Zoho CRM untuk masuk dan memberi wewenang AWS Glue untuk mengakses sumber daya mereka.
+ Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses akan tetap berlaku selama satu jam, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran.
+ [Untuk dokumentasi Zoho CRM publik tentang cara membuat aplikasi yang terhubung untuk OAuth alur Kode Otorisasi, lihat Otentikasi.](https://www.zoho.com/crm/developer/docs/api/v7/oauth-overview.html)

Untuk mengonfigurasi koneksi Zoho CRM:

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 Zoho CRM.

   1. Berikan instance Zoho CRM yang ingin Anda sambungkan. `INSTANCE_URL`

   1. Berikan ID klien aplikasi klien pengguna.

   1. Pilih **URL Auth** yang sesuai dari dropdown.

   1. Pilih **URL Token** yang sesuai dari dropdown.

   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`.

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

# Membaca dari entitas Zoho CRM
<a name="zoho-crm-reading-from-entities"></a>

**Prasyarat**

Objek Zoho CRM yang ingin Anda baca. Anda akan membutuhkan nama objek.

**Entitas yang didukung untuk sumber Sinkronisasi**:


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih \$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| Produk | Ya | Ya | Ya | Ya | Ya | 
| Kutipan | Ya | Ya | Ya | Ya | Ya | 
| Pesanan Pembelian | Ya | Ya | Ya | Ya | Ya | 
| Solusi | Ya | Ya | Ya | Ya | Ya | 
| Panggilan | Ya | Ya | Ya | Ya | Ya | 
| Tugas | Ya | Ya | Ya | Ya | Ya | 
| Peristiwa | Ya | Ya | Ya | Ya | Ya | 
| Faktur | Ya | Ya | Ya | Ya | Ya | 
| Akun | Ya | Ya | Ya | Ya | Ya | 
| Kontak | Ya | Ya | Ya | Ya | Ya | 
| Penjual | Ya | Ya | Ya | Ya | Ya | 
| Kampanye | Ya | Ya | Ya | Ya | Ya | 
| Kesepakatan | Ya | Ya | Ya | Ya | Ya | 
| Prospek | Ya | Ya | Ya | Ya | Ya | 
| Modul Kustom | Ya | Ya | Ya | Ya | Ya | 
| Pesanan Penjualan | Ya | Ya | Ya | Ya | Ya | 
| Harga Buku | Ya | Ya | Ya | Ya | Ya | 
| Kasus | Ya | Ya | Ya | Ya | Ya | 

**Contoh:**

```
zoho_read = glueContext.create_dynamic_frame.from_options(
    connection_type="ZOHO",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v7",
        "INSTANCE_URL": "https://www.zohoapis.in/"
    }
```

**Entitas yang didukung untuk sumber Async**:


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih \$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| Produk | Ya | Tidak | Tidak | Ya | Tidak | 
| Kutipan | Ya | Tidak | Tidak | Ya | Tidak | 
| Pesanan Pembelian | Ya | Tidak | Tidak | Ya | Tidak | 
| Solusi | Ya | Tidak | Tidak | Ya | Tidak | 
| Panggilan | Ya | Tidak | Tidak | Ya | Tidak | 
| Tugas | Ya | Tidak | Tidak | Ya | Tidak | 
| Peristiwa | Ya | Tidak | Tidak | Ya | Tidak | 
| Faktur | Ya | Tidak | Tidak | Ya | Tidak | 
| Akun | Ya | Tidak | Tidak | Ya | Tidak | 
| Kontak | Ya | Tidak | Tidak | Ya | Tidak | 
| Penjual | Ya | Tidak | Tidak | Ya | Tidak | 
| Kampanye | Ya | Tidak | Tidak | Ya | Tidak | 
| Kesepakatan | Ya | Tidak | Tidak | Ya | Tidak | 
| Prospek | Ya | Tidak | Tidak | Ya | Tidak | 
| Modul Kustom | Ya | Tidak | Tidak | Ya | Tidak | 
| Pesanan Penjualan | Ya | Tidak | Tidak | Ya | Tidak | 
| Harga Buku | Ya | Tidak | Tidak | Ya | Tidak | 
| Kasus | Ya | Tidak | Tidak | Ya | Tidak | 

**Contoh:**

```
zoho_read = glueContext.create_dynamic_frame.from_options(
    connection_type="ZOHO",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v7",
        "INSTANCE_URL": "https://www.zohoapis.in/",
        "TRANSFER_MODE": "ASYNC"
    }
```

Detail **bidang Zoho CRM**:

Zoho CRM menyediakan titik akhir untuk mengambil metadata secara dinamis untuk entitas yang didukung. Oleh karena itu, dukungan operator ditangkap pada tingkat tipe data.

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

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

Partisi tidak didukung dalam mode Async.

**Partisi berbasis filter (Mode sinkronisasi)**:

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 bidang Datetime, kami menerima format stempel waktu Spark yang digunakan dalam kueri Spark SQL.

  Contoh nilai valid:

  ```
  "2024-09-30T01:01:01.000Z"
  ```
+ `UPPER_BOUND`: nilai batas atas **eksklusif** dari bidang partisi yang dipilih.
+ `NUM_PARTITIONS`: jumlah partisi.

Contoh:

```
zoho_read = glueContext.create_dynamic_frame.from_options(
    connection_type="zohocrm",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v7",
        "PARTITION_FIELD": "Created_Time"
        "LOWER_BOUND": "2022-01-01T01:01:01.000Z"
        "UPPER_BOUND": "2024-01-01T01:01:01.000Z"
        "NUM_PARTITIONS": "10"
    }
```

# Opsi koneksi Zoho CRM
<a name="zoho-crm-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Zoho CRM:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama objek Anda di Zoho CRM.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Versi Zoho CRM Rest API yang ingin Anda gunakan.
+ `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.
+ `INSTANCE_URL`(String) - (Diperlukan) Digunakan untuk Baca. URL instans Zoho CRM yang valid.
+ `TRANSFER_MODE`(String) - Digunakan untuk menunjukkan apakah query harus dijalankan pada modus Async.

# Keterbatasan dan catatan untuk konektor Zoho CRM
<a name="zoho-crm-connector-limitations"></a>

Berikut ini adalah batasan atau catatan untuk konektor Zoho CRM:
+ Dengan API versi v7, Anda dapat mengambil maksimal 100.000 catatan. Lihat [dokumentasi Zoho](https://www.zoho.com/crm/developer/docs/api/v7/get-records.html).
+ Untuk entitas Event, label “Rapat” ditampilkan seperti yang disebutkan dalam [dokumentasi Zoho](https://www.zoho.com/crm/developer/docs/api/v7/modules-api.html).
+ Untuk Select All fungsionalitas:
  + Anda dapat mengambil maksimal 50 bidang dari SaaS untuk panggilan GET dan POST.
  + Jika Anda ingin memiliki data untuk beberapa bidang tertentu yang tidak termasuk dalam 50 bidang pertama, Anda harus memberikan daftar bidang yang dipilih secara manual.
  + Jika lebih dari 50 bidang dipilih, bidang apa pun di luar 50 bidang akan dipangkas dan akan berisi data nol di Amazon S3. 
  + Dalam kasus ekspresi filter, jika daftar 50 bidang yang disediakan pengguna tidak menyertakan “id” dan “Created\$1Time,” pengecualian khusus akan dimunculkan untuk meminta pengguna memasukkan bidang ini.
+ Operator filter dapat bervariasi dari field-to-field meskipun memiliki tipe data yang sama. Oleh karena itu, Anda harus secara manual menentukan operator yang berbeda untuk bidang apa pun yang memicu kesalahan di platform SaaS. 
+ Untuk fungsionalitas Urutkan Berdasarkan:
  + Data hanya dapat diurutkan berdasarkan satu bidang tanpa ekspresi filter, sedangkan data dapat diurutkan berdasarkan beberapa bidang saat ekspresi filter diterapkan.
  + Jika tidak ada urutan pengurutan yang ditentukan untuk bidang yang dipilih, data akan diambil dalam urutan menaik secara default. 
+ Wilayah yang didukung untuk konektor Zoho CRM adalah AS, Eropa, India, Australia, dan Jepang.
+ [Batasan fungsionalitas baca asinkron:](https://www.zoho.com/crm/developer/docs/api/v7/bulk-read/limitations.html)
  + Batas urutan oleh dan partisi tidak didukung dalam mode Async. 
  + Dalam mode Async kita dapat mentransfer data hingga 500 halaman dengan 200.000 catatan per halaman.
  + Untuk interval satu menit, hanya 10 permintaan yang diizinkan untuk diunduh. Ketika Anda melebihi batas unduhan, sistem mengembalikan kesalahan HTTP 429 dan menjeda semua permintaan unduhan selama satu menit sebelum pemrosesan dapat dilanjutkan.
  + Setelah menyelesaikan pekerjaan massal, Anda dapat mengakses file yang dapat diunduh hanya untuk jangka waktu satu hari. Setelah itu, Anda tidak dapat mengakses file melalui titik akhir.
  + Maksimal 200 bidang pilih dapat diberikan melalui titik akhir. Jika Anda menentukan lebih dari 200 bidang pilih di titik akhir, sistem akan secara otomatis mengekspor semua bidang yang tersedia untuk modul itu.
  + Bidang eksternal yang dibuat dalam modul apa pun tidak didukung dalam Pembacaan Massal APIs.
  + Penyortiran dan `Group_by` klausa tidak didukung melalui titik akhir API ini.
  + **Nilai bidang dengan data kesehatan sensitif akan diambil hanya jika opsi Batasi **akses Data melalui API di pengaturan kepatuhan dinonaktifkan**.** Jika opsi diaktifkan, nilainya akan **kosong** di hasilnya.
  + Batas Filtrasi/Kriteria
    + Jumlah maksimum kriteria yang dapat digunakan dalam kueri adalah 25.
    + Filtrasi/Kriteria pada bidang teks multiline tidak didukung.

# Menghubungkan ke Rapat Zoom
<a name="connecting-to-data-zoom-meetings"></a>

Zoom Meetings adalah platform konferensi video berbasis cloud yang dapat digunakan untuk rapat konferensi video, konferensi audio, webinar, rekaman rapat, dan obrolan langsung.

**Topics**
+ [AWS Glue dukungan untuk Zoom Meetings](zoom-meetings-support.md)
+ [Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi](zoom-meetings-configuring-iam-permissions.md)
+ [Mengkonfigurasi Rapat Zoom](zoom-meetings-configuring.md)
+ [Mengonfigurasi aplikasi klien Zoom Meetings](zoom-meetings-configuring-client-app.md)
+ [Mengkonfigurasi koneksi Zoom Meetings](zoom-meetings-configuring-connections.md)
+ [Membaca dari entitas Zoom Meetings](zoom-meetings-reading-from-entities.md)
+ [Opsi koneksi Zoom Rapat](zoom-meetings-connection-options.md)
+ [Batasan Rapat Zoom](zoom-meetings-limitations.md)

# AWS Glue dukungan untuk Zoom Meetings
<a name="zoom-meetings-support"></a>

AWS Glue mendukung Rapat Zoom sebagai berikut:

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

**Didukung sebagai target?**  
Tidak.

**Versi API Zoom Meetings yang didukung**  
Versi API Zoom Meetings berikut didukung:
+ v2

# Kebijakan yang berisi operasi API untuk membuat dan menggunakan koneksi
<a name="zoom-meetings-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 Rapat Zoom
<a name="zoom-meetings-configuring"></a>

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

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

Berikut ini adalah persyaratan minimum:
+ Anda memiliki akun Zoom Meetings.
+ Akun Zoom Anda diaktifkan untuk akses API.
+ Anda telah membuat OAuth2 aplikasi di akun Zoom Meetings Anda. Integrasi ini menyediakan kredensi yang AWS Glue digunakan untuk mengakses data Anda dengan aman saat melakukan panggilan yang diautentikasi ke akun Anda. Untuk informasi selengkapnya, lihat [Mengonfigurasi aplikasi klien Zoom Meetings](zoom-meetings-configuring-client-app.md).

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

# Mengonfigurasi aplikasi klien Zoom Meetings
<a name="zoom-meetings-configuring-client-app"></a>

1. Masuk ke Marketplace Aplikasi Zoom.

1. Pilih **Kembangkan** > **Bangun Aplikasi**.

1. Pilih **Aplikasi Umum** untuk aplikasi berbasis OAuth 2.0.

1. Pada halaman **Info Dasar**, tambahkan atau perbarui informasi tentang aplikasi seperti nama aplikasi, cara aplikasi dikelola, kredensi aplikasi, dan OAuth informasi.

1. Di bagian **Pilih cara aplikasi dikelola**, konfirmasikan bagaimana Anda ingin aplikasi dikelola:

   1. **Admin-managed**: Admin akun menambah dan mengelola aplikasi

   1. **Dikelola pengguna**: Pengguna individu menambahkan dan mengelola aplikasi. Aplikasi ini hanya memiliki akses ke data resmi pengguna.

1. **Kredensial Aplikasi**: Alur build secara otomatis menghasilkan kredensi aplikasi (ID klien dan rahasia klien) untuk aplikasi Anda.

1. Di bagian OAuth Informasi, siapkan OAuth untuk aplikasi Anda.

   1. **OAuth URL pengalihan** (wajib): Masukkan URL pengalihan atau titik akhir untuk disiapkan OAuth antara aplikasi dan Zoom.

   1. **Gunakan URL Mode Ketat** (opsional)

   1. **Pemeriksaan subdomain** (opsional)

   1. **OAuth allow lists** (required): Tambahkan keunikan apa pun URLs yang harus diizinkan Zoom sebagai pengalihan yang valid untuk alur Anda OAuth .

1. Pada halaman **Scopes**, pilih metode Zoom API yang diizinkan untuk dipanggil oleh aplikasi Anda. Cakupan menentukan informasi dan kemampuan mana yang tersedia untuk pengguna Anda. Pilih cakupan granular berikut:
   + pengguna:baca:list\$1users:admin
   + zoom\$1rooms:baca:list\$1rooms:admin
   + kelompok:baca:list\$1members:admin
   + grup: baca: administrator: admin
   + kelompok:baca: list\$1groups:admin
   + laporan:baca:admin
   + peran: baca: list\$1roles, peran: baca: list\$1roles:admin

   Setelah cakupan ditambahkan pilih **Lanjutkan** dan aplikasi siap digunakan.

Untuk informasi selengkapnya tentang penyiapan OAuth 2.0, lihat [Integrasi (OAuth aplikasi)](https://developers.zoom.us/docs/integrations/).

# Mengkonfigurasi koneksi Zoom Meetings
<a name="zoom-meetings-configuring-connections"></a>

Zoom Meetings mendukung jenis hibah AUTHORIZATION\$1CODE untuk. OAuth2 Jenis hibah menentukan cara AWS Glue berkomunikasi dengan Rapat Zoom untuk meminta akses ke data Anda.
+ 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 perlu memberikan informasi OAuth terkait seperti Client ID dan Client Secret untuk aplikasi klien Zoom Meetings mereka. AWS Glue Konsol akan mengarahkan pengguna ke Zoom di mana pengguna harus masuk dan mengizinkan AWS Glue izin yang diminta untuk mengakses instance Zoom Meetings mereka.
+ Pengguna masih dapat memilih untuk membuat aplikasi mereka sendiri yang terhubung di Zoom Meetings dan memberikan ID klien dan rahasia klien mereka sendiri saat membuat koneksi melalui AWS Glue konsol. Dalam skenario ini, mereka masih akan diarahkan ke Zoom Meetings untuk masuk dan memberi wewenang AWS Glue untuk mengakses sumber daya mereka.
+ Jenis hibah ini menghasilkan token penyegaran dan token akses. Token akses berumur pendek, dan dapat disegarkan secara otomatis tanpa interaksi pengguna menggunakan token penyegaran.
+ Untuk dokumentasi Rapat Zoom publik tentang cara membuat aplikasi yang terhubung untuk OAuth alur Kode Otorisasi, lihat [Menggunakan OAuth 2.0](https://developers.zoom.us/docs/api/using-zoom-apis/#using-oauth-20).

Untuk mengonfigurasi koneksi Zoom Meetings:

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

   1. 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 untuk koneksi Anda 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 Zoom Meetings.

   1. Sediakan lingkungan Zoom Meetings 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 entitas Zoom Meetings
<a name="zoom-meetings-reading-from-entities"></a>

**Prasyarat**

Objek Zoom Meetings yang ingin Anda baca. Anda akan membutuhkan nama objek seperti `Group` atau`Zoom Rooms`.

**Entitas yang didukung untuk sumber**:


| Entitas | Dapat disaring | Mendukung batas | Mendukung Pesanan oleh | Mendukung Pilih\$1 | Mendukung partisi | 
| --- | --- | --- | --- | --- | --- | 
| Ruang Zoom | Tidak | Ya | Tidak | Ya | Tidak | 
| Kelompok | Tidak | Tidak | Tidak | Ya | Tidak | 
| Anggota Grup | Ya | Ya | Tidak | Ya | Tidak | 
| Admin Grup | Tidak | Ya | Tidak | Ya | Tidak | 
| Laporan (harian) | Ya | Tidak | Tidak | Ya | Tidak | 
| Peran | Tidak | Tidak | Tidak | Ya | Tidak | 
| Pengguna | Ya | Ya | Tidak | Ya | Tidak | 

**Contoh:**

```
zoom_read = glueContext.create_dynamic_frame.from_options(
    connection_type="zoom",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "organization",
        "API_VERSION": "v2"
    }
)
```

**Entitas Zoom Rapat dan detail bidang**:

Zoom Meetings secara dinamis memuat bidang yang tersedia di bawah entitas yang dipilih. Tergantung pada tipe data bidang, ini mendukung operator filter berikut.

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

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

Zoom Meetings tidak mendukung partisi berbasis filter atau partisi berbasis rekaman.

# Opsi koneksi Zoom Rapat
<a name="zoom-meetings-connection-options"></a>

Berikut ini adalah opsi koneksi untuk Zoom Meetings:
+ `ENTITY_NAME`(String) - (Diperlukan) Digunakan untuk Baca. Nama entitas Zoom Meetings. Misalnya, `group`.
+ `API_VERSION`(String) - (Diperlukan) Digunakan untuk Baca. Zoom Meetings Rest versi API yang ingin Anda gunakan. Nilainya adalah`v2`, karena Zoom Meetings saat ini hanya mendukung versi v2.
+ `SELECTED_FIELDS`(Daftar<String>) - Default: kosong (SELECT \$1). Digunakan untuk Baca. Daftar kolom yang dipisahkan koma yang ingin Anda pilih untuk entitas yang dipilih.
+ `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.

# Batasan Rapat Zoom
<a name="zoom-meetings-limitations"></a>

Berikut ini adalah batasan atau catatan untuk Zoom Meetings:
+ Zoom Meetings tidak mendukung orderby.
+ Zoom Meetings tidak mendukung partisi berbasis filter karena tidak ada bidang yang dapat memenuhi kriteria yang diperlukan.
+ Zoom Meetings tidak mendukung partisi berbasis rekaman karena batas pagination dan pagination berbasis offset tidak didukung.

# Menambahkan koneksi JDBC menggunakan driver JDBC Anda sendiri
<a name="console-connections-jdbc-drivers"></a>

 Anda dapat menggunakan driver JDBC Anda sendiri saat menggunakan koneksi JDBC. Ketika driver default yang digunakan oleh AWS Glue crawler tidak dapat terhubung ke database, Anda dapat menggunakan Driver JDBC Anda sendiri. Misalnya, jika Anda ingin menggunakan SHA-256 dengan database Postgres Anda, dan driver postgres yang lebih lama tidak mendukung ini, Anda dapat menggunakan driver JDBC Anda sendiri. 

## Sumber data yang didukung
<a name="w2aac25c27d135b5"></a>


| Sumber data yang didukung | Sumber data yang tidak didukung | 
| --- | --- | 
| MySQL | Kepingan salju | 
| Postgres |  | 
| Oracle |  | 
| Redshift |  | 
| SQL Server |  | 
| Aurora\$1 |  | 

 \$1 Didukung jika driver JDBC asli sedang digunakan. Tidak semua fitur driver dapat dimanfaatkan. 

## Menambahkan driver JDBC ke koneksi JDBC
<a name="w2aac25c27d135b9"></a>

**catatan**  
 Jika Anda memilih untuk membawa versi driver JDBC Anda sendiri, AWS Glue crawler akan menggunakan sumber daya dalam AWS Glue pekerjaan dan bucket Amazon S3 untuk memastikan driver yang Anda berikan dijalankan di lingkungan Anda. Penggunaan sumber daya tambahan akan tercermin di akun Anda. Biaya untuk AWS Glue crawler dan pekerjaan berada di bawah AWS Glue kategori dalam penagihan. Selain itu, menyediakan driver JDBC Anda sendiri tidak berarti bahwa crawler dapat memanfaatkan semua fitur pengemudi. 

**Untuk menambahkan driver JDBC Anda sendiri ke koneksi JDBC:**

1.  Tambahkan file driver JDBC ke lokasi Amazon S3. Anda dapat membuat and/or folder bucket atau menggunakan and/or folder bucket yang sudah ada. 

1.  Di AWS Glue konsol, pilih **Koneksi** di menu sebelah kiri di bawah **Katalog Data**, lalu buat koneksi baru. 

1.  Lengkapi bidang untuk **properti Koneksi** dan pilih JDBC untuk jenis **Koneksi**. 

1.  *Dalam **akses Koneksi**, masukkan **URL JDBC** dan nama **Kelas Driver JDBC** - opsional.* Nama kelas driver harus untuk sumber data yang didukung oleh crawler. AWS Glue   
![\[Tangkapan layar menunjukkan sumber data dengan JDBC dipilih dan koneksi di jendela Tambahkan sumber data.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/add-connection-connection-access.png)

1.  *Pilih jalur Amazon S3 tempat driver JDBC berada di JDBC **Driver Amazon S3 Path —** bidang opsional.* 

1.  Lengkapi bidang untuk Jenis kredenal jika memasukkan nama pengguna dan kata sandi atau rahasia. Setelah selesai, pilih **Buat koneksi**. 
**catatan**  
 Koneksi pengujian tidak didukung saat ini. Saat merayapi sumber data dengan driver JDBC yang Anda berikan, crawler melewatkan langkah ini. 

1.  Tambahkan koneksi yang baru dibuat ke crawler. Di AWS Glue konsol, pilih **Crawler** di menu sebelah kiri di bawah **Katalog Data**, lalu buat crawler baru. 

1.  Di Wizard **Add crawler**, di Langkah 2 pilih **Tambahkan sumber data**.   
![\[Tangkapan layar menunjukkan sumber data dengan JDBC dipilih dan koneksi di jendela Tambahkan sumber data.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/add-crawler-add-data-source.png)

1.  Pilih **JDBC** sebagai sumber data dan pilih koneksi yang dibuat pada langkah sebelumnya. Selesai 

1.  Untuk menggunakan driver JDBC Anda sendiri dengan AWS Glue crawler, tambahkan izin berikut ke peran yang digunakan oleh crawler:
   +  Berikan izin untuk tindakan pekerjaan berikut:`CreateJob`,,`DeleteJob`, `GetJob``GetJobRun`,`StartJobRun`. 
   +  Berikan izin untuk tindakan IAM: `iam:PassRole` 
   +  Berikan izin untuk tindakan Amazon S3`s3:DeleteObjects`:`s3:GetObject`,,,`s3:ListBucket`. `s3:PutObject` 
   +  Berikan akses utama layanan ke bucket/folder dalam kebijakan IAM. 

    Contoh kebijakan IAM: 

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "VisualEditor0",
         "Effect": "Allow",
         "Action": [
           "s3:PutObject",
           "s3:GetObject",
           "s3:ListBucket",
           "s3:DeleteObject"
         ],
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket/driver-parent-folder/driver.jar",
           "arn:aws:s3:::amzn-s3-demo-bucket"
         ]
       }
     ]
   }
   ```

------

    AWS Glue Crawler membuat dua folder: \$1glue\$1job\$1crawler dan \$1crawler.

   Jika toples driver terletak di `s3://amzn-s3-demo-bucket/driver.jar"` folder, tambahkan sumber daya berikut: 

   ```
   "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket/_glue_job_crawler/*",
     		 "arn:aws:s3:::amzn-s3-demo-bucket/_crawler/*"
               ]
   ```

   Jika toples driver terletak di `s3://amzn-s3-demo-bucket/tmp/driver/subfolder/driver.jar"` folder, tambahkan sumber daya berikut: 

   ```
   "Resource": [
                  "arn:aws:s3:::amzn-s3-demo-bucket/tmp/_glue_job_crawler/*",
     		"arn:aws:s3:::amzn-s3-demo-bucket/tmp/_crawler/*"
               ]
   ```

1.  Jika Anda menggunakan VPC, Anda harus mengizinkan akses ke titik akhir dengan membuat AWS Glue titik akhir antarmuka dan menambahkannya ke tabel rute Anda. Untuk informasi selengkapnya, lihat [Membuat titik akhir VPC antarmuka](https://docs.aws.amazon.com/glue/latest/dg/vpc-interface-endpoints.html#vpc-endpoint-create) untuk AWS Glue

1.  Jika Anda menggunakan enkripsi di Katalog Data Anda, buat titik akhir AWS KMS antarmuka dan tambahkan ke tabel rute Anda. Untuk informasi selengkapnya, lihat [Membuat titik akhir VPC](https://docs.aws.amazon.com/kms/latest/developerguide/kms-vpc-endpoint.html#vpce-create-endpoint) untuk. AWS KMS

# Menggunakan konektor khusus dan koneksi dengan AWS Glue Studio
<a name="connectors-chapter"></a>

AWS Glue menyediakan dukungan bawaan untuk penyimpanan data yang paling umum digunakan (seperti Amazon Redshift, Amazon Aurora, Microsoft SQL Server, MySQL, MongoDB, dan PostgreSQL) dengan menggunakan koneksi JDBC. AWS Glue juga memungkinkan Anda untuk menggunakan driver JDBC kustom dalam tugas extract, transform, and load (ETL) Anda. Untuk penyimpanan data yang tidak didukung secara asli, seperti aplikasi SaaS, Anda dapat menggunakan konektor. 

*Konektor* adalah paket kode opsional yang membantu mengakses penyimpanan data di. AWS Glue Studio Anda dapat berlangganan beberapa konektor yang ditawarkan di AWS Marketplace.

Saat membuat pekerjaan ETL, Anda dapat menggunakan penyimpanan data yang didukung secara native, konektor dari AWS Marketplace, atau konektor kustom Anda sendiri. Jika Anda menggunakan sebuah konektor, maka Anda harus membuat sebuah koneksi untuk konektor tersebut terlebih dahulu. Sebuah *koneksi* berisi properti yang diperlukan untuk connect ke penyimpanan data tertentu. Anda menggunakan koneksi tersebut dengan sumber data Anda dan target data dalam tugas ETL. Konektor dan koneksi bekerja sama untuk memfasilitasi akses ke penyimpanan data.

 Koneksi berikut tersedia saat membuat koneksi untuk konektor: 
+  **Amazon Aurora**— mesin database relasional berkinerja tinggi yang dapat diskalakan dengan keamanan bawaan, pencadangan dan pemulihan, dan akselerasi dalam memori. 
+  **Amazon DocumentDB** — layanan database dokumen yang dapat diskalakan, sangat tersedia, dan dikelola sepenuhnya yang mendukung MongoDB dan SQL. APIs 
+  **Amazon Redshift**— layanan database dokumen yang dapat diskalakan, sangat tersedia, dan dikelola sepenuhnya yang mendukung MongoDB dan SQL. APIs 
+  **Azure SQL** — layanan database relasional berbasis cloud dari Microsoft Azure yang menyediakan kemampuan penyimpanan dan manajemen data yang terukur, andal, dan aman. 
+  **Cosmos DB** — layanan database cloud terdistribusi secara global dari Microsoft Azure yang menyediakan kemampuan penyimpanan dan kueri data berkinerja tinggi yang dapat diskalakan. 
+  **Google BigQuery** — gudang data cloud tanpa server untuk menjalankan kueri SQL cepat pada kumpulan data besar. 
+  **JDBC** — sistem manajemen basis data relasional (RDBMS) yang menggunakan Java API untuk menghubungkan dan berinteraksi dengan koneksi data. 
+  **Kafka** — platform pemrosesan aliran sumber terbuka yang digunakan untuk streaming dan pengiriman pesan data waktu nyata. 
+  **MariaDB** — fork MySQL yang dikembangkan komunitas yang menawarkan peningkatan kinerja, skalabilitas, dan fitur. 
+  **MongoDB** — database berorientasi dokumen lintas platform yang menyediakan skalabilitas, fleksibilitas, dan kinerja tinggi. 
+  **MongoDB** Atlas — database berbasis cloud sebagai penawaran layanan (DBaaS) dari MongoDB yang menyederhanakan pengelolaan dan penskalaan penerapan MongoDB. 
+  **Microsoft SQL Server** — sistem manajemen basis data relasional (RDBMS) dari Microsoft yang menyediakan kemampuan penyimpanan, analisis, dan pelaporan data yang kuat. 
+  **Mixpanel** — platform analitik yang membantu bisnis menganalisis bagaimana pengguna berinteraksi dengan situs web, aplikasi seluler, dan produk digital lainnya. 
+  **MySQL** — sistem manajemen basis data relasional sumber terbuka (RDBMS) yang banyak digunakan dalam aplikasi web dan dikenal karena keandalan dan skalabilitasnya. 
+  **Jaringan** — sumber data jaringan mewakili sumber daya atau layanan yang dapat diakses jaringan yang dapat diakses oleh platform integrasi data. 
+  **OpenSearch**Sumber OpenSearch data adalah aplikasi yang OpenSearch dapat terhubung ke dan menelan data dari. 
+  **Oracle** — sistem manajemen basis data relasional (RDBMS) dari Oracle Corporation yang menyediakan kemampuan penyimpanan, analisis, dan pelaporan data yang kuat. 
+  **PostgreSQL** — sistem manajemen basis data relasional sumber terbuka (RDBMS) yang menyediakan kemampuan penyimpanan, analisis, dan pelaporan data yang kuat. 
+  **Salesforce** menyediakan perangkat lunak manajemen hubungan pelanggan (CRM) yang membantu Anda dengan penjualan, layanan pelanggan, e-commerce, dan banyak lagi. Jika Anda pengguna Salesforce, Anda dapat terhubung AWS Glue ke akun Salesforce Anda. Kemudian, Anda dapat menggunakan Salesforce sebagai sumber data atau tujuan dalam pekerjaan ETL Anda. Jalankan pekerjaan ini untuk mentransfer data antara Salesforce dan AWS layanan atau aplikasi lain yang didukung. 
+  **SAP HANA** — database dalam memori dan platform analitik yang menyediakan pemrosesan data cepat, analitik canggih, dan integrasi data real-time. 
+  **Snowflake** — gudang data berbasis cloud yang menyediakan penyimpanan data dan layanan analitik yang dapat diskalakan dan berkinerja tinggi. 
+  **Teradata** — sistem manajemen basis data relasional (RDBMS) yang menyediakan kemampuan penyimpanan, analisis, dan pelaporan data berkinerja tinggi. 
+  **Vertica** — gudang data analitik berorientasi kolumnar yang dirancang untuk analitik data besar yang menawarkan kinerja kueri cepat, analitik canggih, dan skalabilitas. 

# Membuat konektor kustom
<a name="creating-custom-connectors"></a>

Anda juga dapat membuat konektor Anda sendiri dan kemudian mengunggah kode konektor keAWS Glue Studio. 

Konektor khusus diintegrasikan ke dalam AWS Glue Studio melalui API runtime AWS Glue Spark. Waktu aktif Spark AWS Glue memungkinkan Anda untuk mencolokkan konektor yang sesuai dengan antarmuka Spark, Athena, atau JDBC. Ini memungkinkan Anda untuk memberikan konektor kustom dalam setiap opsi koneksi yang tersedia. 

Anda dapat merangkum semua properti koneksi Anda dengan [Koneksi AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/glue-connections.html) dan menyediakan nama koneksi untuk tugas ETL Anda. Integrasi dengan koneksi Katalog Data memungkinkan Anda untuk menggunakan properti koneksi yang sama di beberapa panggilan dalam satu aplikasi Spark tunggal atau di aplikasi yang berbeda.

Anda dapat menentukan opsi tambahan untuk koneksi tersebut. Skrip pekerjaan yang AWS Glue Studio dihasilkan berisi `Datasource` entri yang menggunakan koneksi untuk mencolokkan konektor Anda dengan opsi koneksi yang ditentukan. Contoh:

```
Datasource = glueContext.create_dynamic_frame.from_options(connection_type = 
"custom.jdbc", connection_options = {"dbTable":"Account","connectionName":"my-custom-jdbc-
connection"}, transformation_ctx = "DataSource0")
```

**Untuk menambahkan konektor khusus ke AWS Glue Studio**

1. Buat kode untuk konektor kustom Anda. Untuk informasi selengkapnya, lihat [Mengembangkan konektor kustom](developing-custom-connectors.md).

1. Tambahkan support untuk fitur AWS Glue ke konektor Anda. Berikut adalah beberapa contoh fitur ini dan bagaimana mereka digunakan dalam skrip pekerjaan yang dihasilkan olehAWS Glue Studio:
   + **Pemetaan tipe data** — Konektor Anda dapat melakukan typecasting pada kolom saat membacanya dari penyimpanan data yang mendasari. Misalnya, sebuah `dataTypeMapping` dari `{"INTEGER":"STRING"}` mengkonversi semua kolom tipe `Integer` ke kolom tipe `String` ketika mengurai catatan dan membangun `DynamicFrame`. Hal ini membantu pengguna untuk mengubah kolom ke jenis pilihan mereka.

     ```
     DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type 
     = "custom.jdbc", connection_options = {"dataTypeMapping":{"INTEGER":"STRING"}", 
     connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
     ```
   + **Pemartisian untuk pembacaan paralel** — AWS Glue memungkinkan data paralel membaca dari penyimpanan data dengan melakukan partisi data pada kolom. Anda harus menentukan kolom partisi, batas partisi bawah, batas partisi atas, dan jumlah partisi. Fitur ini memungkinkan Anda untuk menggunakan paralelisme data dan beberapa pelaksana Spark yang dialokasikan untuk aplikasi Spark.

     ```
     DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type 
     = "custom.jdbc", connection_options = {"upperBound":"200","numPartitions":"4",
     "partitionColumn":"id","lowerBound":"0","connectionName":"test-connection-jdbc"},
     transformation_ctx = "DataSource0")
     ```
   + **Gunakan AWS Secrets Manager untuk menyimpan kredensial-Koneksi** Katalog Data juga dapat berisi `secretId` untuk rahasia yang disimpan di. AWS Secrets Manager AWS Rahasianya dapat menyimpan informasi otentikasi dan kredensional dengan aman dan menyediakannya saat runtime. AWS Glue Atau, Anda dapat menentukan `secretId` dari skrip Spark sebagai berikut:

     ```
     DataSource = glueContext.create_dynamic_frame.from_options(connection_type 
     = "custom.jdbc", connection_options = {"connectionName":"test-connection-jdbc",
      "secretId"-> "my-secret-id"}, transformation_ctx = "DataSource0")
     ```
   + **Menyaring data sumber dengan predikat baris dan proyeksi kolom** — Waktu aktif Spark AWS Glue juga memungkinkan pengguna untuk mendorong kueri SQL untuk mem-filter data pada sumber dengan predikat baris dan proyeksi kolom. Hal ini memungkinkan tugas ETL Anda untuk memuat data yang telah difilter lebih cepat dari penyimpanan data yang didorong oleh support tersebut. Contoh kueri SQL yang didorong ke sumber data JDBC adalah: `SELECT id, name, department FROM department WHERE id < 200.`

     ```
     DataSource = glueContext.create_dynamic_frame.from_options(connection_type = 
     "custom.jdbc", connection_options = {"query":"SELECT id, name, department FROM department 
     WHERE id < 200","connectionName":"test-connection-jdbc"}, transformation_ctx = 
     "DataSource0")
     ```
   + **Bookmark tugas** — AWS Glue mendukung pemuatan tambahan data dari sumber JDBC. AWS Glue melacak catatan yang diproses terakhir dari penyimpanan data, dan memproses catatan data baru dalam eksekusi tugas ETL berikutnya. Bookmark tugas menggunakan kunci primer sebagai kolom default untuk kunci bookmark, dengan ketentuan bahwa kolom ini bertambah atau berkurang secara berurutan. Untuk informasi selengkapnya tentang bookmark tugas, lihat [Bookmark tugas](https://docs.aws.amazon.com/glue/latest/dg/monitor-continuations.html) di *Panduan Developer AWS Glue .*

     ```
     DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type = 
     "custom.jdbc", connection_options = {"jobBookmarkKeys":["empno"], "jobBookmarkKeysSortOrder"
     :"asc", "connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
     ```

1. Kemas konektor kustom sebagai file JAR dan unggah file ke Amazon S3.

1. Uji konektor kustom Anda. Untuk informasi selengkapnya, lihat petunjuk GitHub di [Glue Custom Connectors: Local Validation Tests Guide](https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/localValidation/README.md).

1. Di AWS Glue Studio konsol, pilih **Konektor** di panel navigasi konsol.

1. Pada halaman **Konektor**, pilih **Buat konektor kustom**.

1. Pada halaman **Buat konektor kustom**, masukkan informasi berikut:
   + Path ke lokasi dari file JAR kode kustom di Amazon S3.
   + Nama untuk konektor yang akan digunakan olehAWS Glue Studio.
   + Jenis konektor Anda, yang dapat berupa **JDBC**, **Spark**, atau **Athena**.
   + Nama titik masuk dalam kode kustom Anda yang AWS Glue Studio memanggil untuk menggunakan konektor. 
     + Untuk konektor JDBC, bidang ini harus berupa nama kelas dari driver JDBC Anda.
     + Untuk konektor Spark, bidang ini harus berupa nama kelas sumber data yang memenuhi syarat, atau aliasnya, yang Anda gunakan saat memuat sumber data Spark dengan operator `format`.
   + (JDBC saja) URL dasar yang digunakan oleh koneksi JDBC untuk penyimpanan data.
   + (Opsional) Deskripsi untuk konektor kustom.

1. Pilih **Buat konektor**. 

1. Dari halaman **Konektor**, buat sebuah koneksi yang menggunakan konektor ini, seperti yang dijelaskan di [Membuat koneksi untuk konektor](creating-connections.md).

## Menambahkan konektor ke AWS Glue Studio
<a name="creating-connectors"></a>

Sebuah konektor adalah sepotong kode yang memudahkan komunikasi antara penyimpanan data anda dan AWS Glue. Anda dapat berlangganan konektor yang ditawarkan di AWS Marketplace, atau Anda dapat membuat konektor khusus Anda sendiri. 

### Berlangganan konektor AWS Marketplace
<a name="subscribe-marketplace-connectors"></a>

AWS Glue Studiomembuatnya mudah untuk menambahkan konektor dari AWS Marketplace.

**Untuk menambahkan konektor dari AWS Marketplace ke AWS Glue Studio**

1. Di AWS Glue Studio konsol, pilih **Konektor** di panel navigasi konsol.

1. Pada halaman **Konektor**, pilih **Buka AWS Marketplace**.

1. Di AWS Marketplace, di **Produk unggulan**, pilih konektor yang ingin Anda gunakan. Anda dapat memilih salah satu konektor unggulan, atau menggunakan kolom pencarian. Anda dapat mencari berdasarkan nama atau jenis konektor, dan Anda dapat menggunakan opsi untuk menyempurnakan hasil pencarian.

   Jika Anda ingin menggunakan salah satu konektor unggulan, pilih **Tampilkan Produk**. Jika Anda menggunakan kolom pencarian untuk menemukan konektor, pilih nama konektornya.

1. Pada halaman produk untuk konektor, gunakan tab untuk melihat informasi tentang konektor tersebut. Jika Anda memutuskan untuk membeli konektor ini, pilih **Lanjutkan ke Berlangganan**.

1. Berikan informasi pembayaran, lalu pilih **Lanjutkan ke Konfigurasi**. 

1. Pada halaman **Konfigurasi perangkat lunak ini**, pilih metode deployment dan versi konektor yang akan digunakan. Pilih **Lanjutkan ke Peluncuran**.

1. Pada halaman **Luncurkan perangkat lunak ini**, Anda dapat meninjau **Petunjuk Penggunaan** yang disediakan oleh penyedia konektor. Saat Anda siap untuk melanjutkan, pilih **Aktifkan koneksi di AWS Glue Studio**.

   Setelah beberapa saat, konsol menampilkan halaman **Buat koneksi marketplace** diAWS Glue Studio.

1. Buat sebuah koneksi yang menggunakan konektor ini, seperti yang diterangkan dalam [Membuat koneksi untuk konektor](creating-connections.md). 

   Atau, Anda dapat memilih **Aktifkan konektor saja** untuk melewati pembuatan koneksi pada saat ini. Anda harus membuat sebuah koneksi di kemudian hari sebelum Anda dapat menggunakan konektor.

# Membuat koneksi untuk konektor
<a name="creating-connections"></a>

 AWS Glue Koneksi adalah objek Katalog Data yang menyimpan informasi koneksi untuk penyimpanan data tertentu. Koneksi menyimpan kredensial login, string URI, informasi virtual private cloud (VPC), dan informasi lainnya. Membuat koneksi dalam Katalog Data akan menghemat upaya untuk menentukan semua detail koneksi setiap kali Anda membuat sebuah tugas.

**Untuk membuat sebuah koneksi untuk sebuah konektor**

1. Di AWS Glue Studio konsol, pilih **Konektor** di panel navigasi konsol. Di bagian **Koneksi**, pilih **Buat koneksi**. 

1. Pilih sumber data yang ingin Anda buat koneksi di langkah 1 panduan **Buat koneksi data**. Ada beberapa cara untuk melihat sumber data yang tersedia, termasuk: 
   + Filter sumber data yang tersedia dengan memilih tab. Secara default, **Semua konektor** dipilih.
   + Alihkan **Daftar** untuk melihat sumber data sebagai daftar atau beralih kembali ke **Grid untuk melihat konektor yang tersedia dalam tata letak grid**.
   + Gunakan bilah pencarian untuk mempersempit daftar sumber data. Saat Anda mengetik, kecocokan pencarian ditampilkan dan sumber yang tidak cocok dihapus dari tampilan.

    Setelah Anda memilih sumber data, pilih **Berikutnya**. 

1. Konfigurasikan koneksi di Langkah 2 di wizard. 

   Masukkan detail koneksi. Tergantung pada jenis konektor yang dipilih, Anda akan diminta untuk memasukkan informasi tambahan:  
![\[Tangkapan layar menunjukkan halaman Konektor dan bagian Koneksi. Tombol Buat koneksi tertutup dalam kotak merah. Pilih Buat koneksi untuk memulai wizard Koneksi.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/connections-create-connection.png)

1.  Pilih sumber data yang ingin Anda buat koneksi di langkah 1 panduan **Buat koneksi data**. Ada beberapa cara untuk melihat sumber data yang tersedia. Secara default, Anda akan melihat semua sumber data yang tersedia dalam tata letak kisi. Anda juga dapat:
   + Alihkan **Daftar** untuk melihat sumber data sebagai daftar atau beralih kembali ke **Grid untuk melihat konektor yang tersedia dalam tata letak grid**.
   + Gunakan bilah pencarian untuk mempersempit daftar sumber data. Saat Anda mengetik, kecocokan pencarian ditampilkan dan sumber yang tidak cocok dihapus dari tampilan.  
![\[Tangkapan layar menunjukkan bilah pencarian dan tombol Grid-List.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/connections-create-step-1-view.png)

    Setelah Anda memilih sumber data, pilih **Berikutnya**. 

1. Konfigurasikan koneksi di Langkah 2 di wizard. 

   Masukkan detail koneksi. Tergantung pada jenis konektor yang Anda pilih, Anda mungkin diminta untuk memasukkan informasi koneksi tambahan. Ini dapat mencakup:
   +  **Detail koneksi** — bidang ini akan berubah tergantung pada sumber data yang Anda sambungkan. Misalnya, jika Anda terhubung ke database Amazon DocumentDB, Anda akan memasukkan URL Amazon DocumentDB. Jika Anda terhubung ke Amazon Aurora, Anda akan memilih instance database dan memasukkan nama database. Berikut ini adalah detail Koneksi yang diperlukan untuk Amazon Aurora:   
![\[Tangkapan layar menunjukkan detail koneksi yang diperlukan untuk mengonfigurasi Amazon Aurora sebagai sumber data.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/connections-create-step-2-configure.png)
   +  Jenis kredensi - pilih antara **Nama Pengguna dan kata sandi** atau ** AWS Secrets Manager**. Masukkan informasi otentikasi yang diminta.
   + Untuk konektor yang menggunakan JDBC, masukkan informasi yang diperlukan untuk membuat URL JDBC untuk penyimpanan data.
   + Jika Anda menggunakan sebuah Virtual Private Cloud (VPC), masukkan informasi jaringan untuk VPC Anda.

1. Atur properti koneksi di langkah 3 wizard. Anda dapat menambahkan deskripsi dan tag sebagai bagian opsional dari langkah ini. Nama diperlukan dan diisi sebelumnya dengan nilai default. Pilih **Berikutnya**.

1. Tinjau sumber koneksi, detail, dan properti. Jika Anda perlu membuat perubahan, pilih **Edit** untuk langkah di wizard. Saat siap, pilih, **Buat koneksi**. 

   Pilih **Buat koneksi**.

   Anda akan melihat halaman **Konektor**, dan banner informasi menunjukkan koneksi yang dibuat. Anda sekarang dapat menggunakan koneksi dalam AWS Glue Studio pekerjaan Anda.

# Membuat koneksi Kafka
<a name="creating-connections-kafka"></a>

 Saat membuat koneksi Kafka, memilih **Kafka** dari menu drop-down akan menampilkan pengaturan tambahan untuk mengkonfigurasi: 
+  Rincian cluster Kafka 
+  Autentikasi 
+  Enkripsi 
+  Opsi jaringan 

 **Konfigurasikan detail cluster Kafka** 

1.  Pilih lokasi cluster. Anda dapat memilih dari **streaming terkelola Amazon untuk cluster Apache Kafka (MSK)** atau cluster **Apache Kafka yang dikelola Pelanggan**. Untuk informasi selengkapnya tentang Amazon Managed streaming untuk Apache Kafka, lihat [Amazon managed streaming untuk Apache Kafka](https://docs.aws.amazon.com/msk/latest/developerguide/what-is-msk.html) (MSK). 
**catatan**  
 Amazon Managed Streaming for Apache Kafka hanya mendukung metode otentikasi TLS dan SASL/SCRAM-SHA-512.   
![\[Tangkapan layar menunjukkan bagian detail cluster Kafka dengan opsi untuk memilih lokasi Cluster dan masuk ke server boostrap Kafka. URLs\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/kafka-cluster-details.png)

1.  Masukkan URLs untuk server bootstrap Kafka Anda. Anda dapat memasukkan lebih dari satu dengan memisahkan setiap server dengan koma. Sertakan nomor port di akhir URL dengan menambahkan. `:<port number>` 

    Misalnya: `b-1.vpc-test-2.034a88o.kafka-us-east-1.amazonaws.com:9094` 

 **Pilih metode otentikasi** 

![\[Tangkapan layar menunjukkan menu drop-down untuk memilih metode otentikasi Kafka.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/kafka-connection-authentication.png)


AWS Glue mendukung kerangka kerja Simple Authentication and Security Layer (SASL) untuk otentikasi. Kerangka SASL mendukung berbagai mekanisme otentikasi, dan AWS Glue menawarkan protokol SCRAM (nama pengguna dan kata sandi), GSSAPI (protokol Kerberos), dan PLAIN (nama pengguna dan kata sandi).

Saat memilih metode otentikasi dari menu drop-down, metode otentikasi klien berikut dapat dipilih: 
+ Tidak ada - Tidak ada otentikasi. Ini berguna jika Anda membuat koneksi untuk tujuan pengujian. 
+ SASL/SCRAM-SHA-512 - Pilih metode otentikasi ini untuk menentukan kredensyal otentikasi. Ada dua opsi yang tersedia: 
  + Gunakan AWS Secrets Manager (disarankan) - jika Anda memilih opsi ini, Anda dapat menyimpan kredensyal Anda di AWS Secrets Manager dan membiarkan AWS Glue mengakses informasi bila diperlukan. Tentukan rahasia yang menyimpan kredensyal otentikasi SSL atau SASL.  
![\[Tangkapan layar menunjukkan opsi untuk kredensyal otentikasi jika metode otentikasi adalah SASL/SCRAM-SHA-512.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/kafka-connection-authentication-sha-512.png)
  + Berikan nama pengguna dan kata sandi secara langsung.
+  SASL/GSSAPI (Kerberos) - jika Anda memilih opsi ini, Anda dapat memilih lokasi file keytab, file krb5.conf dan memasukkan nama utama Kerberos dan nama layanan Kerberos. Lokasi untuk file tab tombol dan file krb5.conf harus berada di lokasi Amazon S3. Karena MSK belum mendukung SASL/GSSAPI, opsi ini hanya tersedia untuk cluster Apache Kafka yang dikelola pelanggan. Untuk informasi selengkapnya, lihat [Dokumentasi MIT Kerberos: Keytab](https://web.mit.edu/kerberos/krb5-latest/doc/basic/keytab_def.html). 
+  SASL/PLAIN - Pilih metode otentikasi ini untuk menentukan kredensyal otentikasi. Ada dua opsi yang tersedia: 
  + Gunakan AWS Secrets Manager (disarankan) - jika Anda memilih opsi ini, Anda dapat menyimpan kredensyal Anda di AWS Secrets Manager dan membiarkan AWS Glue mengakses informasi bila diperlukan. Tentukan rahasia yang menyimpan kredensyal otentikasi SSL atau SASL.
  + Berikan nama pengguna dan kata sandi secara langsung.
+  Otentikasi Klien SSL - jika Anda memilih opsi ini, Anda dapat memilih lokasi keystore klien Kafka dengan menjelajahi Amazon S3. Secara opsional, Anda dapat memasukkan kata sandi keystore klien Kafka dan kata sandi kunci klien Kafka. 

![\[Tangkapan layar menunjukkan opsi enkripsi jika SSL adalah metode otentikasi.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/kafka-connection-authentication-ssl.png)


 **Konfigurasikan pengaturan enkripsi** 

1.  Jika koneksi Kafka memerlukan koneksi SSL, pilih kotak centang untuk **Memerlukan** koneksi SSL. Perhatikan bahwa koneksi akan gagal jika tidak dapat terhubung melalui SSL. SSL untuk enkripsi dapat digunakan dengan salah satu metode otentikasi (SASL/SCRAM-SHA-512, SASL/GSSAPI, SASL/PLAIN, atau SSL Client Authentication) dan bersifat opsional. 

    Jika metode otentikasi diatur ke **otentikasi klien SSL**, opsi ini akan dipilih secara otomatis dan akan dinonaktifkan untuk mencegah perubahan apa pun. 

1.  (Opsional). Pilih lokasi sertifikat pribadi dari otoritas sertifikat (CA). Perhatikan bahwa lokasi sertifikasi harus berada di lokasi S3. Pilih **Browse** untuk memilih file dari bucket S3 yang terhubung. Jalannya harus dalam bentuk`s3://bucket/prefix/filename.pem`. Itu harus diakhiri dengan nama file dan ekstensi.pem. 

1.  Anda dapat memilih untuk melewati validasi sertifikat dari otoritas sertifikat (CA). Pilih kotak centang **Lewati validasi sertifikat dari otoritas sertifikat (CA)**. Jika kotak ini tidak dicentang, AWS Glue validasi sertifikat untuk tiga algoritma: 
   +  SHA256withRSA 
   +  SHA384withRSA 
   +  SHA512withRSA 

![\[Tangkapan layar menunjukkan opsi untuk mengonfigurasi enkripsi, termasuk apakah memerlukan koneksi SSL atau tidak, opsi untuk memilih lokasi sertifikat pribadi dari otoritas sertifikat (CA), dan opsi untuk melewati validasi sertifikat dari otoritas sertifikat (CA).\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/kafka-connection-encryption.png)


 **(Opsional) Opsi jaringan** 

 Berikut ini adalah langkah-langkah opsional untuk mengkonfigurasi grup VPC, Subnet dan Keamanan. Jika AWS Glue pekerjaan Anda perlu dijalankan di instans Amazon EC2 di subnet virtual private cloud (VPC), Anda harus memberikan informasi konfigurasi khusus VPC tambahan. 

1.  Pilih VPC (virtual private cloud) yang berisi sumber data Anda. 

1.  Pilih subnet dengan VPC Anda. 

1.  Pilih satu atau beberapa grup keamanan untuk mengizinkan akses ke penyimpanan data di subnet VPC Anda. Grup keamanan terkait dengan ENI yang melekat pada subnet Anda. Anda harus memilih setidaknya satu grup keamanan dengan aturan masuk referensi sendiri untuk semua port TCP. 

![\[Tangkapan layar menunjukkan opsi jaringan opsional untuk grup VPC, Subnet, dan Keamanan.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/kafka-connection-network-options.png)


# Menulis tugas dengan konektor kustom
<a name="job-authoring-custom-connectors"></a>

Anda dapat menggunakan konektor dan koneksi untuk node sumber data dan node target data diAWS Glue Studio.

**Topics**
+ [Membuat tugas yang menggunakan sebuah konektor untuk sumber data](#create-job-connectors)
+ [Konfigurasi properti sumber untuk simpul yang menggunakan konektor](#edit-connector-source)
+ [Mengkonfigurasi properti target untuk simpul yang menggunakan konektor](#edit-connector-target)

## Membuat tugas yang menggunakan sebuah konektor untuk sumber data
<a name="create-job-connectors"></a>

Saat membuat sebuah tugas baru, Anda dapat memilih sebuah konektor untuk sumber data dan target data.

**Untuk membuat sebuah tugas yang menggunakan konektor untuk sumber data atau target data**

1. Masuk ke Konsol Manajemen AWS dan buka AWS Glue Studio konsol di [https://console.aws.amazon.com/gluestudio/](https://console.aws.amazon.com/gluestudio/).

1. Pada halaman **Konektor**, di daftar sumber daya **Koneksi Anda**, pilih koneksi yang ingin Anda gunakan dalam tugas Anda, dan kemudian pilih **Buat tugas**. 

   Atau, pada halaman AWS Glue Studio **Pekerjaan**, di bawah **Buat pekerjaan**, pilih **Sumber dan target ditambahkan ke grafik**. pada daftar drop-down **Sumber**, pilih konektor kustom yang ingin Anda gunakan dalam tugas Anda. Anda juga dapat memilih sebuah konektor untuk **Target**.  
![\[\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/create-job-data-sources-screenshot.png)

1. Pilih **Buat** untuk membuka editor tugas visual.

1. Konfigurasi simpul sumber data, seperti yang dijelaskan dalam [Konfigurasi properti sumber untuk simpul yang menggunakan konektor](#edit-connector-source).

1. Lanjutkan membuat tugas ETL Anda dengan menambahkan transformasi, penyimpanan data tambahan, dan target data, seperti yang dijelaskan dalam [Memulai pekerjaan ETL visual di AWS Glue Studio](edit-nodes-chapter.md).

1. Sesuaikan lingkungan eksekusi tugas dengan mengkonfigurasi properti tugas, seperti yang dijelaskan dalam [Mengubah properti tugas](managing-jobs-chapter.md#edit-jobs-properties).

1. Simpan dan jalankan tugas.

## Konfigurasi properti sumber untuk simpul yang menggunakan konektor
<a name="edit-connector-source"></a>

Setelah Anda membuat sebuah tugas yang menggunakan sebuah konektor untuk sumber data, editor tugas visual akan menampilkan grafik tugas dengan simpul sumber data yang dikonfigurasi untuk konektor tersebut. Anda harus mengkonfigurasi properti sumber data untuk simpul tersebut. 

**Untuk mengkonfigurasi properti untuk simpul sumber data yang menggunakan sebuah konektor**

1. Pilih simpul sumber data konektor dalam grafik tugas atau tambahkan sebuah simpul baru dan pilih konektor untuk **Jenis Simpul**. Kemudian, di sisi kanan, di panel detail simpul, pilih tab **Properti sumber data**, jika belum dipilih.  
![\[\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/data-source-properties-connector-screenshot2.png)

1. Di tab **Properti sumber data**, pilih koneksi yang ingin Anda gunakan untuk tugas ini. 

   Masukkan informasi tambahan yang diperlukan untuk masing-masing jenis koneksi:

------
#### [ JDBC ]
   + **Tipe masukan sumber data**: Pilih untuk memberikan nama tabel atau kueri SQL sebagai sumber data. Tergantung pada pilihan Anda, Anda kemudian harus memberikan informasi tambahan berikut:
     + **Nama tabel**: Nama tabel di sumber data. Jika sumber data tidak menggunakan *tabel* istilah, maka berikan nama struktur data yang sesuai, seperti yang ditunjukkan oleh informasi penggunaan konektor kustom (yang tersedia di AWS Marketplace).
     + **Predikat filter**: Syarat klausul yang akan digunakan ketika membaca sumber data, mirip dengan klausul `WHERE`, yang digunakan untuk mengambil subset dari data.
     + **Kode kueri**: Masukkan kueri SQL yang akan digunakan untuk mengambil set data tertentu dari sumber data. Contoh kueri SQL dasar adalah:

       ```
       SELECT column_list FROM 
                                 table_name WHERE where_clause
       ```
   + **Skema**: Karena AWS Glue Studio menggunakan informasi yang disimpan dalam koneksi untuk mengakses sumber data alih-alih mengambil informasi metadata dari tabel Katalog Data, Anda harus menyediakan metadata skema untuk sumber data. Pilih **Tambahkan skema** untuk membuka editor skema. 

     Untuk petunjuk tentang cara menggunakan editor skema, lihat [Mengedit skema di simpul transformasi kustom](transforms-custom.md#transforms-custom-editschema).
   + **Kolom partisi**: (Opsional) Anda dapat memilih untuk melakukan partisi pada pembacaan data dengan memberikan nilai-nilai untuk **Kolom partisi**, **Batas bawah**, **Batas atas**, dan **Jumlah partisi**. 

     Nilai `lowerBound` dan `upperBound` digunakan untuk menentukan langkah partisi, bukan untuk menyaring baris dalam tabel. Semua baris dalam tabel dipartisi dan dikembalikan. 
**catatan**  
Pemartisian kolom menambahkan syarat pemartisian tambahan untuk kueri yang digunakan untuk membaca data. Bila menggunakan sebuah kueri bukan nama sebuah tabel, maka Anda harus memvalidasi bahwa kueri bekerja dengan syarat pemartisian yang ditentukan. Contoh:  
Jika format kueri Anda adalah `"SELECT col1 FROM table1"`, maka uji kueri dengan menambahkan klausul `WHERE` pada akhir kueri yang menggunakan kolom partisi.
Jika format kueri Anda adalah `"SELECT col1 FROM table1 WHERE col2=val"`, maka uji kueri dengan memperluas klausul `WHERE` dengan `AND` dan ekspresi yang menggunakan kolom partisi.
   + **Pengubahan jenis data**: Jika sumber data menggunakan tipe data yang tidak tersedia di JDBC, gunakan bagian ini untuk menentukan bagaimana tipe data dari sumber data harus dikonversi ke dalam tipe data JDBC. Anda dapat menentukan hingga 50 konversi tipe data yang berbeda. Semua kolom dalam sumber data yang menggunakan tipe data yang sama akan dikonversi dengan cara yang sama. 

     Sebagai contoh, jika Anda memiliki tiga kolom di sumber data yang menggunakan tipe data `Float`, dan Anda menunjukkan bahwa tipe data `Float` harus dikonversi ke tipe data `String` JDBC, maka semua tiga kolom yang menggunakan tipe data `Float` itu akan dikonversi ke tipe data `String`.
   + **Kunci bookmark tugas**: Bookmark tugas membantu AWS Glue menjaga informasi status dan mencegah pengolahan ulang data lama. Tentukan satu lagi satu atau lebih kolom sebagai tombol bookmark. AWS Glue Studiomenggunakan tombol bookmark untuk melacak data yang telah diproses selama menjalankan tugas ETL sebelumnya. Kolom apa pun yang Anda gunakan untuk kunci bookmark kustom harus secara ketat dan secara monoton meningkat atau menurun, namun kesenjangan diizinkan.

     Jika Anda memasukkan beberapa kunci bookmark, maka kunci tersebut digabungkan untuk membentuk satu kunci gabungan. Kunci bookmark tugas gabungan tidak boleh berisi kolom duplikat. Jika Anda tidak menentukan kunci bookmark, secara AWS Glue Studio default menggunakan kunci primer sebagai kunci bookmark, asalkan kunci utama meningkat atau menurun secara berurutan (tanpa celah). Jika tabel tidak memiliki kunci primer, namun properti bookmark tugas diaktifkan, maka Anda harus menyediakan kunci bookmark tugas kustom. Jika tidak, pencarian kunci primer yang akan digunakan sebagai default akan gagal dan eksekusi tugas akan gagal.
   + **Kunci bookmark tugas yang mengurutkan urutan**: Pilih apakah nilai kunci secara berurutan meningkat atau menurun.

------
#### [ Spark ]
   + **Skema**: Karena AWS Glue Studio menggunakan informasi yang disimpan dalam koneksi untuk mengakses sumber data alih-alih mengambil informasi metadata dari tabel Katalog Data, Anda harus menyediakan metadata skema untuk sumber data. Pilih **Tambahkan skema** untuk membuka editor skema. 

     Untuk petunjuk tentang cara menggunakan editor skema, lihat [Mengedit skema di simpul transformasi kustom](transforms-custom.md#transforms-custom-editschema).
   + **Opsi koneksi**: Masukkan pasangan nilai-kunci tambahan yang diperlukan untuk memberikan informasi koneksi atau pilihan tambahan. Misalnya, Anda dapat memasukkan nama basis data, nama tabel, nama pengguna, dan kata sandi.

     Misalnya, untuk OpenSearch, Anda memasukkan pasangan kunci-nilai berikut, seperti yang dijelaskan dalam: [Tutorial: Menggunakan AWS Glue Konektor untuk Elasticsearch](tutorial-elastisearch-connector.md)
     + `es.net.http.auth.user` : `username`
     + `es.net.http.auth.pass` : `password` 
     + `es.nodes` : `https://<Elasticsearch endpoint>`
     + `es.port` : `443`
     + `path`: `<Elasticsearch resource>`
     + `es.nodes.wan.only` : `true`

   Untuk contoh opsi koneksi minimum yang akan digunakan, lihat contoh skrip pengujian [MinimalSparkConnectorTest.scala aktif](https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Spark/MinimalSparkConnectorTest.scala) GitHub, yang menunjukkan opsi koneksi yang biasanya Anda berikan dalam koneksi.

------
#### [ Athena ]
   + **Nama tabel**: Nama tabel di sumber data. Jika Anda menggunakan konektor untuk membaca dari Athena- CloudWatch log, Anda akan memasukkan nama tabel. `all_log_streams`
   + **Nama skema Athena**: Pilih skema di sumber data Athena Anda yang sesuai dengan basis data yang berisi tabel. Jika Anda menggunakan konektor untuk membaca dari Athena- CloudWatch log, Anda akan memasukkan nama skema yang mirip dengan. `/aws/glue/name`
   + **Skema**: Karena AWS Glue Studio menggunakan informasi yang disimpan dalam koneksi untuk mengakses sumber data alih-alih mengambil informasi metadata dari tabel Katalog Data, Anda harus menyediakan metadata skema untuk sumber data. Pilih **Tambahkan skema** untuk membuka editor skema. 

     Untuk petunjuk tentang cara menggunakan editor skema, lihat [Mengedit skema di simpul transformasi kustom](transforms-custom.md#transforms-custom-editschema).
   + **Opsi koneksi tambahan**: Masukkan pasangan nilai-kunci tambahan yang diperlukan untuk memberikan informasi koneksi atau pilihan tambahan. 

   Sebagai contoh, lihat `README.md` file di [https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Athena](https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Athena). Dalam langkah-langkah dalam dokumen ini, kode sampel menunjukkan opsi koneksi minimal yang diperlukan, yakni `tableName`, `schemaName`, dan `className`. Contoh kode menentukan pilihan ini sebagai bagian dari variabel `optionsMap`, tetapi Anda dapat menentukan mereka untuk koneksi Anda dan kemudian menggunakan koneksi tersebut. 

------

1. (Opsional) Setelah memberikan informasi yang diperlukan, Anda dapat melihat skema data yang dihasilkan untuk sumber data Anda dengan memilih tab **Skema output** di panel detail simpul. Skema yang ditampilkan pada tab ini digunakan oleh setiap simpul anak yang Anda tambahkan ke grafik tugas.

1. (Opsional) Setelah mengkonfigurasi properti simpul dan properti sumber data, Anda dapat melihat pratinjau set data dari sumber data Anda dengan memilih tab Pratinjau data di panel detail simpul. Pertama kali Anda memilih tab ini untuk setiap simpul dalam tugas Anda, Anda akan diminta untuk memberikan IAM role untuk mengakses data. Ada biaya yang terkait dengan penggunaan fitur ini, dan penagihan akan dimulai langsung setelah Anda memberikan IAM role. 

## Mengkonfigurasi properti target untuk simpul yang menggunakan konektor
<a name="edit-connector-target"></a>

Jika Anda menggunakan sebuah konektor untuk jenis target data, maka Anda harus mengkonfigurasi properti data target simpul.

**Untuk mengkonfigurasi properti untuk simpul target data yang menggunakan sebuah konektor**

1. Pilih simpul target data konektor dalam grafik tugas. Kemudian, di sisi kanan, di panel detail simpul, pilih tab **Properti target data**, jika belum dipilih.

1. Di tab **Properti target data**, pilih koneksi yang akan digunakan untuk menulis ke target. 

   Masukkan informasi tambahan yang diperlukan untuk masing-masing jenis koneksi:

------
#### [ JDBC ]
   + **Koneksi**: Pilih koneksi yang akan digunakan dengan konektor Anda. Untuk informasi tentang cara membuat sebuah koneksi, lihat [Membuat koneksi untuk konektor](creating-connections.md).
   + **Nama tabel**: Nama tabel di target data. Jika target data tidak menggunakan *tabel* istilah, maka berikan nama struktur data yang sesuai, seperti yang ditunjukkan oleh informasi penggunaan konektor kustom (yang tersedia di AWS Marketplace).
   + **Ukuran Batch** (Opsional): Masukkan jumlah baris atau catatan yang akan disisipkan dalam tabel target dalam satu operasi. Nilai default-nya adalah 1000 baris.

------
#### [ Spark ]
   + **Koneksi**: Pilih koneksi yang akan digunakan dengan konektor Anda. Jika Anda tidak membuat sebuah koneksi sebelumnya, pilih **Buat koneksi** untuk membuatnya. Untuk informasi tentang cara membuat sebuah koneksi, lihat [Membuat koneksi untuk konektor](creating-connections.md).
   + **Opsi koneksi**: Masukkan pasangan nilai-kunci tambahan yang diperlukan untuk memberikan informasi koneksi atau pilihan tambahan. Anda dapat memasukkan sebuah nama basis data, nama tabel, nama pengguna, dan kata sandi.

     Misalnya, untuk OpenSearch, Anda memasukkan pasangan kunci-nilai berikut, seperti yang dijelaskan dalam: [Tutorial: Menggunakan AWS Glue Konektor untuk Elasticsearch](tutorial-elastisearch-connector.md)
     + `es.net.http.auth.user` : `username`
     + `es.net.http.auth.pass` : `password` 
     + `es.nodes` : `https://<Elasticsearch endpoint>`
     + `es.port` : `443`
     + `path`: `<Elasticsearch resource>`
     + `es.nodes.wan.only` : `true`

   Untuk contoh opsi koneksi minimum yang akan digunakan, lihat contoh skrip pengujian [MinimalSparkConnectorTest.scala aktif](https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Spark/MinimalSparkConnectorTest.scala) GitHub, yang menunjukkan opsi koneksi yang biasanya Anda berikan dalam koneksi.

------

1. Setelah memberikan informasi yang diperlukan, Anda dapat melihat skema data yang dihasilkan untuk sumber data Anda dengan memilih tab **Skema output** di panel detail simpul.

# Mengelola konektor dan koneksi
<a name="managing-connectors"></a>

Anda menggunakan halaman **Koneksi** AWS Glue untuk mengelola konektor dan koneksi Anda.

**Topics**
+ [Melihat detail konektor dan koneksi](#connector-details)
+ [Mengedit konektor dan koneksi](#editing-connectors)
+ [Menghapus konektor dan koneksi](#deleting-connectors)
+ [Membatalkan langganan untuk sebuah konektor](#cancel-subscription)

## Melihat detail konektor dan koneksi
<a name="connector-details"></a>

Anda dapat melihat informasi ringkasan tentang konektor dan koneksi Anda di tabel sumber daya **Konektor Anda** dan **Koneksi Anda** pada halaman **Konektor**. Untuk melihat informasi detail, lakukan langkah-langkah berikut.

**Untuk melihat detail konektor atau koneksi**

1. Di AWS Glue Studio konsol, pilih **Konektor** di panel navigasi konsol.

1. Pilih konektor atau koneksi yang ingin Anda lihat informasi detailnya.

1. Pilih **Tindakan**, lalu pilih **Lihat detail** untuk membuka halaman detail untuk konektor atau koneksi tersebut.

1. Pada halaman detail, Anda dapat memilih untuk **Mengedit** atau **Menghapus** konektor atau koneksi.
   + Untuk konektor, Anda dapat memilih **Buat koneksi** untuk membuat sebuah koneksi baru yang menggunakan konektor.
   + Untuk koneksi, Anda bisa memilih **Buat tugas** untuk membuat sebuah tugas yang menggunakan koneksi.

## Mengedit konektor dan koneksi
<a name="editing-connectors"></a>

Anda gunakan halaman **Konektor** untuk mengubah informasi yang tersimpan di konektor dan koneksi Anda.

**Untuk mengubah sebuah konektor atau koneksi**

1. Di AWS Glue Studio konsol, pilih **Konektor** di panel navigasi konsol.

1. Pilih konektor atau koneksi yang ingin Anda ubah.

1. Pilih **Tindakan**, dan kemudian pilih **Edit**.

   Anda juga dapat memilih **Lihat detail** dan pada halaman detail konektor atau koneksi, Anda bisa memilih **Edit**.

1. Pada halaman **Edit konektor** atau **Edit koneksi**, perbarui informasi, dan kemudian pilih **Simpan**.

## Menghapus konektor dan koneksi
<a name="deleting-connectors"></a>

Anda gunakan halaman **Konektor** untuk menghapus konektor dan koneksi. Jika Anda menghapus sebuah konektor, maka koneksi yang dibuat untuk konektor itu juga harus dihapus.

**Untuk menghapus konektor dari AWS Glue Studio**

1. Di AWS Glue Studio konsol, pilih **Konektor** di panel navigasi konsol.

1. Pilih konektor atau koneksi yang ingin dihapus.

1. Pilih **Tindakan**, lalu pilih **Hapus**.

   Anda juga dapat memilih **Lihat detail**, dan pada halaman detail konektor atau koneksi, Anda bisa memilih **Hapus**.

1. Verifikasi bahwa Anda ingin menghapus konektor atau koneksi dengan memasukkan **Delete**, lalu pilih **Hapus**.

   Saat Anda menghapus sebuah konektor, maka koneksi yang dibuat untuk konektor itu juga dihapus.

Setiap tugas yang menggunakan koneksi yang dihapus tidak akan lagi berfungsi. Anda dapat mengedit tugas untuk menggunakan penyimpanan data yang berbeda, atau menghapus tugas. Untuk informasi tentang cara menghapus tugas, lihat [Menghapus tugas](managing-jobs-chapter.md#delete-jobs).

Jika Anda menghapus sebuah konektor, hal itu tidak membatalkan langganan konektor di AWS Marketplace. Untuk menghapus langganan untuk sebuah konektor yang dihapus, ikuti petunjuk di [Membatalkan langganan untuk sebuah konektor](#cancel-subscription) .

## Membatalkan langganan untuk sebuah konektor
<a name="cancel-subscription"></a>

Setelah Anda menghapus koneksi dan konektor dariAWS Glue Studio, Anda dapat membatalkan langganan Anda AWS Marketplace jika Anda tidak lagi memerlukan konektor.

**catatan**  
Jika Anda membatalkan langganan ke sebuah konektor, hal itu tidak menghapus konektor atau koneksi dari akun Anda. Setiap tugas yang menggunakan konektor dan koneksi terkait tidak akan lagi dapat menggunakan konektor dan akan gagal.   
Sebelum Anda berhenti berlangganan atau berlangganan ulang konektor dari AWS Marketplace, Anda harus menghapus koneksi dan konektor yang ada yang terkait dengan produk tersebut AWS Marketplace .

**Untuk berhenti berlangganan dari konektor di AWS Marketplace**

1. Masuk ke AWS Marketplace konsol di [https://console.aws.amazon.com/marketplace](https://console.aws.amazon.com/marketplace).

1. Pilih **Kelola langganan**.

1. Pada halaman **Kelola langganan**, pilih **Kelola** yang ada di samping langganan konektor yang ingin Anda batalkan.

1. Pilih **Tindakan** lalu pilih **Batalkan langganan**.

1. Pilih kotak centang untuk mengetahui bahwa instans berjalan ditagihkan ke akun Anda, lalu pilih **Ya, batalkan langganan.**.

# Mengembangkan konektor kustom
<a name="developing-custom-connectors"></a>

Anda dapat menulis kode yang membaca data dari atau menulis data ke penyimpanan data Anda dan memformat data untuk digunakan dengan AWS Glue Studio pekerjaan. Anda dapat membuat konektor untuk penyimpanan data Spark, Athena, dan JDBC. Kode sampel yang diposting di GitHub memberikan gambaran umum tentang antarmuka dasar yang perlu Anda terapkan.

Anda memerlukan lingkungan pengembangan lokal untuk membuat kode konektor Anda. Anda dapat menggunakan IDE atau bahkan hanya editor baris perintah untuk menulis konektor Anda. Contoh lingkungan pengembangan meliputi:
+ Sebuah lingkungan Scala lokal dengan perpustakaan ETL Maven AWS Glue lokal, seperti yang dijelaskan dalam [Mengembangkan secara Lokal dengan Scala](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-libraries.html#develop-local-scala) di *AWS Glue Panduan Developer*.
+ IntelliJ IDE, dengan mengunduh IDE dari. [https://www.jetbrains.com/idea/](https://www.jetbrains.com/idea/)

**Topics**
+ [Mengembangkan konektor Spark](#code-spark-connector)
+ [Mengembangkan konektor Athena](#code-athena-connector)
+ [Mengembangkan konektor JDBC](#code-jdbc-connector)
+ [Contoh menggunakan konektor khusus dengan AWS Glue Studio](#custom-connector-examples)
+ [Mengembangkan AWS Glue konektor untuk AWS Marketplace](#code-marketplace-connector)

## Mengembangkan konektor Spark
<a name="code-spark-connector"></a>

Anda dapat membuat konektor Spark dengan Spark DataSource API V2 (Spark 2.4) untuk membaca data.

**Untuk membuat konektor Spark khusus**

Ikuti langkah-langkah di perpustakaan AWS Glue GitHub sampel untuk mengembangkan konektor Spark, yang terletak di [https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Spark/README.md.](https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Spark/README.md)

## Mengembangkan konektor Athena
<a name="code-athena-connector"></a>

Anda dapat membuat konektor Athena untuk digunakan oleh AWS Glue dan AWS Glue Studio untuk menanyakan sumber data kustom.

**Untuk membuat konektor Athena kustom**

[Ikuti langkah-langkah di perpustakaan AWS Glue GitHub sampel untuk mengembangkan konektor Athena, yang terletak di https://github.com/aws-samples/aws-glue-samples/. tree/master/GlueCustomConnectors/development/Athena](https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Athena)

## Mengembangkan konektor JDBC
<a name="code-jdbc-connector"></a>

Anda dapat membuat sebuah konektor yang menggunakan JDBC untuk mengakses penyimpanan data Anda.

**Untuk membuat sebuah konektor JDBC kustom**

1. Instal perpustakaan waktu aktif Spark AWS Glue di lingkungan pengembangan lokal Anda. Lihat instruksi di perpustakaan AWS Glue GitHub sampel di [ https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/GlueSparkRuntime/README.md.](https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/GlueSparkRuntime/README.md)

1. Menerapkan driver JDBC yang bertanggung jawab untuk mengambil data dari sumber data. Lihat [dokumentasi Java](https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/) untuk Java SE 8. 

   Buat titik masuk dalam kode Anda yang AWS Glue Studio digunakan untuk menemukan konektor Anda. Bidang **Nama kelas** harus berupa path lengkap dari driver JDBC Anda.

1. Gunakan API `GlueContext` untuk membaca data dengan konektor. Pengguna dapat menambahkan lebih banyak opsi input di AWS Glue Studio konsol untuk mengonfigurasi koneksi ke sumber data, jika perlu. Untuk contoh kode yang menunjukkan cara membaca dari dan menulis ke database JDBC dengan konektor JDBC kustom, lihat Nilai kustom [dan](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-connect.html#aws-glue-programming-etl-connect-market) ConnectionType. AWS Marketplace 

## Contoh menggunakan konektor khusus dengan AWS Glue Studio
<a name="custom-connector-examples"></a>

Anda dapat merujuk ke blog berikut untuk contoh cara menggunakan konektor kustom:
+ [Mengembangkan, menguji, dan menerapkan konektor khusus untuk penyimpanan data Anda dengan AWS Glue](https://aws.amazon.com/blogs/big-data/developing-testing-and-deploying-custom-connectors-for-your-data-stores-with-aws-glue/)
+ Apache Hudi: [Menulis ke tabel Apache Hudi menggunakan Konektor Kustom AWS Glue](https://aws.amazon.com/blogs/big-data/writing-to-apache-hudi-tables-using-aws-glue-connector/)
+ Google BigQuery: [Memigrasi data dari Google BigQuery ke Amazon S3 AWS Glue](https://aws.amazon.com/blogs/big-data/migrating-data-from-google-bigquery-to-amazon-s3-using-aws-glue-custom-connectors/) menggunakan konektor khusus
+ Snowflake (JDBC): [Melakukan transformasi data menggunakan Snowflake dan AWS Glue](https://aws.amazon.com/blogs/big-data/performing-data-transformations-using-snowflake-and-aws-glue/)
+ SingleStore: [Membangun ETL cepat menggunakan SingleStore ](https://aws.amazon.com/blogs/big-data/building-fast-etl-using-singlestore-and-aws-glue/) dan AWS Glue
+ Salesforce: [Menyerap data Salesforce ke Amazon S3 menggunakan konektor kustom JDBC](https://aws.amazon.com/blogs/big-data/ingest-salesforce-data-into-amazon-s3-using-the-cdata-jdbc-custom-connector-with-aws-glue) dengan - CData AWS Glue
+ MongoDB: [Membangun tugas ETL Spark AWS Glue menggunakan Amazon DocumentDB (dengan kompatibilitas MongoDB) dan MongoDB](https://aws.amazon.com/blogs/big-data/building-aws-glue-spark-etl-jobs-using-amazon-documentdb-with-mongodb-compatibility-and-mongodb/)
+ Amazon Relational Database Service (Amazon RDS): [Membangun pekerjaan AWS Glue Spark ETL dengan membawa driver JDBC Anda sendiri](https://aws.amazon.com/blogs/big-data/building-aws-glue-spark-etl-jobs-by-bringing-your-own-jdbc-drivers-for-amazon-rds/) untuk Amazon RDS
+ [MySQL (JDBC):/.skala https://github.com/aws-samples/ aws-glue-samples blob/master/GlueCustomConnectors/development/Spark/SparkConnectorMySQL](https://github.com/aws-samples/aws-glue-samples/blob/master/GlueCustomConnectors/development/Spark/SparkConnectorMySQL.scala)

## Mengembangkan AWS Glue konektor untuk AWS Marketplace
<a name="code-marketplace-connector"></a>

Sebagai AWS mitra, Anda dapat membuat konektor khusus dan mengunggahnya AWS Marketplace untuk dijual kepada AWS Glue pelanggan.

Proses untuk mengembangkan kode konektor adalah sama dengan konektor kustom, tetapi proses mengunggah dan memverifikasi kode konektor lebih terperinci. Lihat instruksi dalam [Membuat Konektor untuk AWS Marketplace](https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/marketplace/publishGuide.pdf) di GitHub situs web.

# Pembatasan untuk menggunakan konektor dan koneksi di AWS Glue Studio
<a name="connector-restrictions"></a>

Saat Anda menggunakan konektor atau konektor khusus AWS Marketplace, perhatikan batasan berikut:
+ API testConnection tidak didukung dengan koneksi yang dibuat untuk konektor kustom.
+ Enkripsi kata sandi koneksi Katalog Data tidak didukung dengan konektor kustom. 
+ Anda tidak dapat menggunakan bookmark tugas jika menentukan predikat filter untuk simpul sumber data yang menggunakan konektor JDBC.
+  Membuat koneksi Marketplace tidak didukung di luar antarmuka AWS Glue Studio pengguna. 

# Menguji AWS Glue koneksi
<a name="console-test-connections"></a>

 Sebagai praktik terbaik, sebelum Anda menggunakan AWS Glue koneksi dalam pekerjaan ETL, gunakan AWS Glue konsol untuk menguji koneksi. AWS Gluemenggunakan parameter dalam koneksi Anda untuk mengonfirmasi bahwa ia dapat mengakses penyimpanan data Anda dan melaporkan kesalahan apa pun. Untuk informasi tentang koneksi AWS Glue, lihat [Menghubungkan ke data](glue-connections.md). 

**Untuk menguji sebuah koneksi AWS Glue**

1. Masuk ke Konsol Manajemen AWS dan buka AWS Glue konsol di [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/).

1.  Di panel navigasi, di bawah **Katalog Data**, pilih **Koneksi**. Anda juga dapat memilih **Koneksi data** **di atas Katalog Data** di panel navigasi. 

1.  Di **Koneksi**, pilih kotak centang di sebelah koneksi yang diinginkan, lalu pilih **Tindakan**. Di menu tarik-turun, pilih **Uji koneksi**. 

1.  Di kotak dialog **Uji koneksi**, pilih peran atau pilih **Buat peran IAM untuk pergi ke konsol AWS Identity and Access Management (IAM) untuk membuat peran** baru. Peran harus memiliki izin pada penyimpanan data. 

1. Pilih **Konfirmasi**.

   Pengujian dimulai dan memerlukan waktu beberapa menit untuk selesai. Jika pengujian gagal, pilih **Troubleshoot** untuk melihat langkah-langkah untuk menyelesaikan masalah. 

1.  Pilih **Log** untuk melihat log masuk CloudWatch. Anda harus memiliki izin IAM yang diperlukan untuk melihat log tersebut. Untuk informasi selengkapnya, lihat [Kebijakan AWS Terkelola (yang telah ditentukan) untuk CloudWatch Log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-identity-based-access-control-cwl.html#managed-policies-cwl) di *Panduan Pengguna CloudWatch Log Amazon*. 

# Mengkonfigurasi AWS panggilan untuk melalui VPC Anda
<a name="connection-VPC-disable-proxy"></a>

 Parameter pekerjaan khusus `disable-proxy-v2` memungkinkan Anda merutekan panggilan ke layanan seperti Amazon S3, CloudWatch, dan AWS Glue melalui VPC Anda. Secara default, AWS Glue menggunakan proxy lokal untuk mengirim lalu lintas melalui AWS Glue VPC untuk mengunduh skrip dan pustaka dari Amazon S3, untuk mengirim permintaan untuk menerbitkan log dan metrik, dan CloudWatch untuk mengirim permintaan untuk mengakses katalog data. AWS Glue Proxy ini memungkinkan pekerjaan berfungsi secara normal meskipun VPC Anda tidak mengonfigurasi rute yang tepat ke AWS layanan lain, seperti Amazon S3 CloudWatch, dan. AWS Glue AWS Glue sekarang menawarkan parameter bagi Anda untuk mematikan perilaku ini. Untuk informasi selengkapnya, lihat [Parameter Job yang digunakan oleh AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html). AWS Glue akan terus menggunakan proxy lokal untuk menerbitkan CloudWatch log AWS Glue pekerjaan Anda. 

**catatan**  
 Fitur ini didukung untuk AWS Glue pekerjaan dengan AWS Glue versi 2.0 ke atas. Saat menggunakan fitur ini, Anda perlu memastikan bahwa VPC Anda telah mengonfigurasi rute ke Amazon S3 melalui NAT atau titik akhir VPC layanan. 
 Parameter pekerjaan yang tidak digunakan lagi `disable-proxy` hanya merutekan panggilan Anda ke Amazon S3 untuk mengunduh skrip dan pustaka melalui VPC Anda. Disarankan untuk menggunakan parameter baru `disable-proxy-v2` sebagai gantinya. 

**Contoh penggunaan**  
Buat AWS Glue pekerjaan dengan`disable-proxy-v2`:

```
aws glue create-job \
    --name no-proxy-job \
    --role GlueDefaultRole \
    --command "Name=glueetl,ScriptLocation=s3://my-bucket/glue-script.py" \
    --connections Connections="traffic-monitored-connection" \
    --default-arguments '{"--disable-proxy-v2" : "true"}'
```

# Menghubungkan ke penyimpanan data JDBC di VPC
<a name="connection-JDBC-VPC"></a>

Biasanya, Anda membuat sumber daya di dalam Amazon Virtual Private Cloud (Amazon VPC) sehingga sumber daya tidak dapat diakses melalui internet publik. Secara default, tidak AWS Glue dapat mengakses sumber daya di dalam VPC. AWS Glue Untuk mengaktifkan akses sumber daya di dalam VPC Anda, Anda harus memberikan informasi konfigurasi khusus VPC tambahan yang mencakup subnet VPC dan grup keamanan. IDs IDs AWS Glue menggunakan informasi ini untuk mengatur [antarmuka jaringan elastis](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ElasticNetworkInterfaces.html) yang memungkinkan fungsi Anda terhubung dengan aman ke sumber daya lain di VPC pribadi Anda.

 Saat menggunakan titik akhir VPC, tambahkan ke tabel rute Anda. Untuk informasi selengkapnya, lihat [Membuat titik akhir VPC antarmuka](https://docs.aws.amazon.com/glue/latest/dg/vpc-interface-endpoints.html#vpc-endpoint-create) untuk dan. AWS Glue[Prasyarat](connection-S3-VPC.md#connection-S3-VPC-prerequisites) 

 Saat menggunakan enkripsi di Katalog Data, buat titik akhir antarmuka KMS dan tambahkan ke tabel rute Anda. Untuk informasi lebih lanjut, lihat [ Membuat titik akhir VPC](https://docs.aws.amazon.com/kms/latest/developerguide/kms-vpc-endpoint.html#vpce-create-endpoint) untuk. AWS KMS

## Mengakses Data VPC Menggunakan antarmuka jaringan elastis
<a name="connection-JDBC-VPC-ENI"></a>

Saat AWS Glue terhubung ke penyimpanan data JDBC di VPC, AWS Glue buat elastic network interface (dengan awalan`Glue_`) di akun Anda untuk mengakses data VPC Anda. Anda tidak dapat menghapus antarmuka jaringan ini selama itu dilampirkan AWS Glue. Sebagai bagian dari pembuatan elastic network interface, AWS Glue mengasosiasikan satu atau lebih grup keamanan ke dalamnya. Untuk mengaktifkan AWS Glue untuk membuat antarmuka jaringan, grup keamanan yang terkait dengan sumber daya harus mengizinkan akses masuk dengan aturan sumber. Aturan ini berisi grup keamanan yang dikaitkan dengan sumber daya. Hal ini memberikan antarmuka jaringan elastis akses ke penyimpanan data Anda dengan grup keamanan yang sama.

 AWS Glue Untuk memungkinkan berkomunikasi dengan komponennya, tentukan grup keamanan dengan aturan masuk referensi sendiri untuk semua port TCP. Dengan membuat aturan self-referencing, Anda dapat membatasi sumber ke grup keamanan yang sama di VPC dan tidak membukanya untuk semua jaringan. Grup keamanan default untuk VPC Anda mungkin sudah memiliki aturan self-referencing inbound untuk `ALL Traffic`.

Anda dapat membuat aturan di konsol VPC Amazon. Untuk memperbarui pengaturan aturan melalui Konsol Manajemen AWS, navigasikan ke konsol VPC ([https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)), dan pilih grup keamanan yang sesuai. Tentukan aturan inbound untuk `ALL TCP` agar memiliki nama grup keamanan yang sama seperti sumbernya. Untuk informasi selengkapnya tentang aturan grup keamanan, lihat [Grup Keamanan untuk VPC Anda](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html).

Setiap antarmuka jaringan elastis ditetapkan untuknya alamat IP privat dari rentang alamat IP dalam subnet yang Anda tentukan. Antarmuka jaringan tidak diberi alamat IP publik apa pun. AWS Glue memerlukan akses internet (misalnya, untuk mengakses AWS layanan yang tidak memiliki titik akhir VPC). Anda dapat mengkonfigurasi instans terjemahan alamat jaringan (NAT) di dalam VPC Anda, atau Anda dapat menggunakan gateway NAT Amazon VPC. Untuk informasi lebih lanjut, lihat [NAT Gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) di *Panduan Pengguna Amazon VPC*. Anda tidak dapat langsung menggunakan gateway internet yang dilampirkan ke VPC Anda sebagai rute dalam tabel rute subnet Anda karena itu memerlukan antarmuka jaringan untuk memiliki alamat IP publik.

Atribut jaringan VPC `enableDnsHostnames` dan `enableDnsSupport` harus diatur ke BETUL. Untuk informasi selengkapnya, lihat [Menggunakan DNS dengan VPC Anda](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html). 



**penting**  
Jangan menaruh penyimpanan data Anda di subnet publik atau di subnet privat yang tidak memiliki akses internet. Sebaliknya, hanya lampirkan itu ke subnet privat yang memiliki akses internet melalui instans NAT atau gateway NAT Amazon VPC.

## Properti antarmuka jaringan elastis
<a name="connection-JDBC-VPC-ENI-properties"></a>

Untuk membuat antarmuka jaringan elastis, Anda harus menyediakan properti berikut:

**VPC**  
Nama VPC yang berisi penyimpanan data Anda.

**Subnet**  
Subnet di VPC yang berisi penyimpanan data Anda. 

**Grup keamanan**  
Grup keamanan yang dikaitkan dengan penyimpanan data Anda. AWS Glue mengaitkan grup keamanan ini dengan antarmuka jaringan elastis yang dilampirkan pada subnet VPC Anda. Untuk mengizinkan komponen AWS Glue untuk berkomunikasi dan juga mencegah akses dari jaringan lain, setidaknya ada satu grup keamanan yang dipilih yang harus menentukan aturan masuk referensi sendiri untuk semua port TCP.

Untuk informasi tentang mengelola VPC dengan Amazon Redshift, lihat [Mengelola Klaster di Amazon Virtual Private Cloud (VPC)](https://docs.aws.amazon.com/redshift/latest/mgmt/managing-clusters-vpc.html).

Untuk informasi tentang mengelola VPC dengan Amazon Relational Database Service (Amazon RDS), lihat [Bekerja dengan Instans DB Amazon RDS di sebuah VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html).

# Menggunakan koneksi MongoDB atau MongoDB Atlas
<a name="connection-mongodb"></a>

Setelah Anda membuat koneksi untuk MongoDB atau MongoDB Atlas, Anda dapat menggunakan koneksi dalam pekerjaan ETL Anda. Anda membuat tabel di AWS Glue Data Catalog dan menentukan koneksi MongoDB atau MongoDB Atlas untuk atribut tabel. `connection` 

AWS Glue menyimpan koneksi `url` dan kredensil Anda di koneksi MongoDB. Format URI koneksi adalah sebagai berikut:
+ Untuk MongoDB: mongodb: //host:port/database. Host dapat berupa nama host, alamat IP, atau soket domain UNIX. Jika string koneksi tidak menentukan port, ia menggunakan port MongoDB default, 27017.
+ Untuk MongoDB Atlas: mongodb\$1srv: //server.example.com/database. Host dapat berupa nama host yang mengikuti sesuai dengan catatan DNS SRV. Format SRV tidak memerlukan port dan akan menggunakan port MongoDB default, 27017.

Selain itu, Anda dapat menentukan opsi dalam skrip pekerjaan Anda. Lihat informasi yang lebih lengkap di [Referensi opsi koneksi MongoDB](aws-glue-programming-etl-connect-mongodb-home.md#aws-glue-programming-etl-connect-mongodb).

# Merayapi penyimpanan data Amazon S3 menggunakan titik akhir VPC
<a name="connection-S3-VPC"></a>

Untuk tujuan keamanan, audit, atau kontrol, Anda mungkin ingin penyimpanan data Amazon S3 atau tabel Katalog Data yang didukung Amazon S3 hanya dapat diakses melalui lingkungan Amazon Virtual Private Cloud (Amazon VPC). Topik ini menjelaskan cara membuat dan menguji koneksi ke penyimpanan data Amazon S3 atau tabel Katalog Data yang didukung Amazon S3 di titik akhir VPC menggunakan jenis koneksi. `Network`

Lakukan tugas berikut untuk menjalankan crawler di sebuah penyimpanan data:
+ [Prasyarat](#connection-S3-VPC-prerequisites)
+ [Membuat koneksi ke Amazon S3](#connection-S3-VPC-create-connection)
+ [Menguji koneksi ke Amazon S3](#connection-S3-VPC-test-connection)
+ [Membuat crawler untuk penyimpanan data Amazon S3](#connection-S3-VPC-create-crawler)
+ [Menjalankan crawler](#connection-S3-VPC-run-crawler)

## Prasyarat
<a name="connection-S3-VPC-prerequisites"></a>

Periksa apakah Anda telah memenuhi prasyarat ini untuk menyiapkan penyimpanan data Amazon S3 atau tabel Katalog Data yang didukung Amazon S3 untuk diakses melalui lingkungan Amazon Virtual Private Cloud (Amazon VPC).
+ Sebuah VPC yang sudah dikonfigurasi. Sebagai contoh: vpc-01685961063b0d84b. Untuk informasi selengkapnya, lihat [Memulai dengan Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-getting-started.html) dalam *Panduan Pengguna Amazon VPC*.
+ Titik akhir Amazon S3 yang dilampirkan pada VPC. Sebagai contoh: vpc-01685961063b0d84b. Untuk informasi selengkapnya, lihat [Titik Akhir untuk Amazon S3](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html) di *Panduan Pengguna Amazon VPC*.  
![\[Contoh titik akhir Amazon S3 yang dilampirkan pada VPC.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/network_s3_vpc_s3_endpoint_attached.png)
+ Sebuah entri rute yang mengarahkan ke VPC endpoint. Misalnya vpce-0ec5da4d265227786 di tabel rute yang digunakan oleh VPC endpoint (vpce-0ec5da4d265227786).  
![\[Contoh entri rute yang mengarahkan ke VPC endpoint.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/network_s3_vpc_route_entry.png)
+ ACL jaringan yang dilampirkan ke VPC mengizinkan lalu lintas.
+ Sebuah grup keamanan yang dilampirkan pada VPC yang mengizinkan lalu lintas.

## Membuat koneksi ke Amazon S3
<a name="connection-S3-VPC-create-connection"></a>

Biasanya, Anda membuat sumber daya di dalam Amazon Virtual Private Cloud (Amazon VPC) sehingga sumber daya tidak dapat diakses melalui internet publik. Secara default, tidak AWS Glue dapat mengakses sumber daya di dalam VPC. AWS Glue Untuk mengaktifkan akses sumber daya di dalam VPC Anda, Anda harus memberikan informasi konfigurasi khusus VPC tambahan yang mencakup subnet VPC dan grup keamanan. IDs IDs Untuk membuat koneksi `Network`, Anda harus menentukan informasi berikut:
+ ID VPC
+ Subnet dalam VPC
+ Grup keamanan

Untuk mengatur koneksi `Network`:

1. Pilih **Tambahkan koneksi** di panel navigasi konsol AWS Glue .

1. Masukkan nama koneksi, pilih **Jaringan** sebagai jenis koneksi. Pilih **Berikutnya**.  
![\[Memilih jenis koneksi.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/network_s3_vpc_add_network_1.png)

1. Mengkonfigurasi informasi VPC, Subnet dan Grup Keamanan.
   + VPC: pilih nama VPC yang berisi penyimpanan data Anda.
   + Subnet: pilih subnet dalam VPC Anda.
   + Grup keamanan: Pilih satu atau beberapa grup keamanan yang memungkinkan akses ke penyimpanan data di VPC Anda.  
![\[Memilih jenis koneksi.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/network_s3_vpc_add_network_2.png)

1. Pilih **Berikutnya**.

1. Verifikasi informasi koneksi dan pilih **Selesai**.  
![\[Memilih jenis koneksi.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/network_s3_vpc_add_network_3.png)

## Menguji koneksi ke Amazon S3
<a name="connection-S3-VPC-test-connection"></a>

Setelah Anda telah membuat koneksi `Network` Anda, Anda dapat menguji konektivitas ke penyimpanan data Amazon S3 Anda di VPC endpoint.

Kesalahan berikut mungkin terjadi saat menguji sebuah koneksi:
+ INTERNET CONNECTION ERROR: menunjukkan masalah koneksi Internet
+ INVALID BUCKET ERROR: menunjukkan masalah dengan bucket Amazon S3
+ S3 CONNECTION ERROR: menunjukkan kegagalan untuk connect ke Amazon S3
+ INVALID CONNECTION TYPE: menunjukkan jenis koneksi tidak memiliki nilai yang diharapkan, `NETWORK`
+ INVALID CONNECTION TEST TYPE: menunjukkan masalah dengan jenis pengujian koneksi jaringan
+ INVALID TARGET: menunjukkan bahwa bucket Amazon S3 belum ditentukan dengan benar

Untuk menguji sebuah koneksi `Network`:

1. Pilih koneksi **Jaringan** di konsol AWS Glue .

1. Pilih **Uji koneksi** .

1. Pilih IAM role yang Anda buat di langkah sebelumnya dan tentukan sebuah bucket Amazon S3.

1. Pilih **Uji koneksi** untuk memulai pengujian. Mungkin perlu beberapa saat untuk menunjukkan hasilnya. 

![\[Menguji koneksi.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/network_s3_vpc_test_network.png)


 Jika Anda menerima kesalahan, periksa apakah:
+ Hak istimewa yang benar sudah disediakan untuk peran yang dipilih.
+ Bucket Amazon S3 yang benar sudah disediakan.
+ Grup keamanan dan ACL jaringan memungkinkan lalu lintas masuk dan keluar yang diperlukan.
+ VPC yang Anda tentukan terhubung ke VPC endpoint Amazon S3.

Setelah Anda berhasil menguji koneksi, Anda dapat membuat sebuah crawler.

## Membuat crawler untuk penyimpanan data Amazon S3
<a name="connection-S3-VPC-create-crawler"></a>

Sekarang Anda dapat membuat sebuah crawler yang menentukan koneksi `Network` yang telah Anda buat. Untuk detail selengkapnya tentang cara membuat crawler, lihat [Mengkonfigurasi crawler](define-crawler.md).

1. Mulailah dengan memilih **Crawler** di panel navigasi di konsol. AWS Glue 

1. Pilih **Tambahkan crawler**.

1. Tentukan nama crawler dan pilih **Selanjutnya**.

1. Saat diminta sumber data, pilih **S3**, dan tentukan prefiks bucket Amazon S3 dan koneksi yang Anda buat sebelumnya.  
![\[Menguji koneksi.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/network_s3_vpc_add_crawler_1.png)

1. Jika Anda perlu, tambahkan penyimpanan data yang lain pada koneksi jaringan yang sama.

1. Pilih IAM role. IAM role harus mengizinkan akses ke layanan dan bucket Amazon S3 AWS Glue . Untuk informasi selengkapnya, lihat [Mengkonfigurasi crawler](define-crawler.md).  
![\[Menguji koneksi.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/network_s3_vpc_add_crawler_2.png)

1. Tentukan jadwal untuk crawler tersebut.

1. Pilih basis data yang ada di Katalog Data, atau buatlah entri basis data baru.  
![\[Menguji koneksi.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/network_s3_vpc_add_crawler_3.png)

1. Selesaikan pengaturan yang tersisa.

## Membuat crawler untuk tabel Katalog Data yang didukung Amazon S3
<a name="connection-S3-VPC-create-crawler-catalog-vpc"></a>

Sekarang Anda dapat membuat crawler yang menentukan `Network` koneksi yang telah Anda buat dan jenis sumber Katalog. Untuk detail selengkapnya tentang cara membuat crawler, lihat [Mengkonfigurasi crawler](define-crawler.md).

1. Mulailah dengan memilih **Crawler** di panel navigasi di konsol. AWS Glue 

1. Pilih **Tambahkan crawler**.

1. Tentukan nama crawler dan pilih **Selanjutnya**.

1. Saat diminta jenis sumber crawler, pilih **Tabel katalog yang ada, dan tentukan tabel** katalog yang ada untuk dirayapi dari daftar tabel yang tersedia.  
![\[Memilih jenis sumber crawler.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/catalog-vpc-1.png)

1. Pilih IAM role. IAM role harus mengizinkan akses ke layanan dan bucket Amazon S3 AWS Glue . Untuk informasi selengkapnya, lihat [Mengkonfigurasi crawler](define-crawler.md).

1. Tentukan jadwal untuk crawler tersebut.

1. Pilih basis data yang ada di Katalog Data, atau buatlah entri basis data baru.

1. Selesaikan pengaturan yang tersisa dan tinjau langkah-langkah Anda.  
![\[Memilih jenis sumber crawler.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/catalog-vpc-2.png)

## Menjalankan crawler
<a name="connection-S3-VPC-run-crawler"></a>

Jalankan crawler Anda.

![\[Menjalankan crawler Anda sesuai permintaan.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/network_s3_vpc_s3_endpoint_run_crawler.png)


## Pemecahan masalah
<a name="connection-S3-VPC-troubleshooting"></a>

Untuk pemecahan masalah yang berkaitan dengan bucket Amazon S3 menggunakan gateway VPC, lihat [Mengapa saya tidak dapat connect ke bucket S3 menggunakan gateway VPC endpoint?](https://aws.amazon.com/premiumsupport/knowledge-center/connect-s3-vpc-endpoint/)

# Bekerja dengan data AWS Lake Formation yang dilindungi
<a name="working-with-lake-formation-protected-data"></a>

## Akses Tabel Penuh
<a name="full-table-access"></a>

AWS Glue mendukung Akses Tabel Penuh (FTA) untuk tabel AWS Lake Formation yang dilindungi. Ini memungkinkan pekerjaan ETL Anda untuk membaca dan menulis data dengan izin tabel lengkap.

### Prasyarat
<a name="full-table-access-prerequisites"></a>
+ Peran dan izin IAM yang sesuai
+ AWS Lake Formation dikonfigurasi untuk katalog data Anda
+ Jenis tabel yang kompatibel (Hive atau Iceberg)

### Pertimbangan utama
<a name="full-table-access-key-considerations"></a>

#### Izin yang diperlukan
<a name="full-table-access-required-permissions"></a>
+ `lakeformation:GetDataAccess`Izin IAM
+ AWS Lake Formation izin tabel
+ Izin akses bucket Amazon S3

#### Jenis tabel yang didukung
<a name="full-table-access-supported-table-types"></a>
+ Tabel sarang
+ Tabel gunung es

#### Batasan
<a name="full-table-access-limitations"></a>
+ Tidak kompatibel dengan Spark Streaming
+ Tidak dapat digunakan secara bersamaan dengan kontrol akses berbutir halus
+ Tidak mendukung tabel Delta atau Hudi

### Praktik Terbaik
<a name="full-table-access-best-practices"></a>

1. Pastikan peran IAM dikonfigurasi dengan benar sebelum eksekusi pekerjaan

1. Uji izin akses di lingkungan pengembangan

1. Pantau log eksekusi pekerjaan untuk masalah terkait izin

1. Menjaga dokumentasi pola akses yang jelas

### Pemecahan masalah
<a name="full-table-access-troubleshooting"></a>

Masalah umum meliputi:
+ Izin IAM tidak ada
+  AWS Lake Formation Konfigurasi salah
+ Masalah kompatibilitas tipe tabel

Untuk petunjuk penyiapan lengkap dan detail konfigurasi, lihat [Menggunakan AWS Lake Formation dengan akses tabel lengkap](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/lake-formation-unfiltered-access.html). 

# Memecahkan masalah koneksi di AWS Glue
<a name="troubleshooting-connection"></a>

Saat AWS Glue crawler atau pekerjaan menggunakan properti koneksi untuk mengakses penyimpanan data, Anda mungkin mengalami kesalahan saat mencoba menyambungkan. AWS Gluemenggunakan alamat IP pribadi di subnet saat membuat antarmuka jaringan elastis di virtual private cloud (VPC) dan subnet yang Anda tentukan. Grup keamanan yang ditentukan dalam koneksi digunakan pada setiap antara muka jaringan elastis. Periksa untuk melihat apakah grup keamanan memungkinkan akses keluar dan apakah mengizinkan konektivitas ke klaster basis data. 

Selain itu, Apache Spark membutuhkan konektivitas dua arah antara node driver dan executor. Salah satu grup keamanan perlu untuk mengizinkan masuknya aturan ingress pada semua port TCP. Anda dapat mencegahnya terbuka ke seluruh dunia dengan membatasi sumber grup keamanan itu sendiri dengan grup keamanan referensi mandiri. 

Berikut adalah beberapa tindakan umum yang dapat dilakukan untuk memecahkan masalah pada koneksi:
+ Periksa alamat port koneksi Anda.
+ Periksa nama pengguna dan string kata sandi di koneksi atau rahasia Anda.
+ Untuk menyimpan data JDBC, verifikasi apakah hal itu memungkinkan koneksi masuk.
+ Verifikasi apakah penyimpanan data Anda dapat diakses dalam VPC Anda.
+ Jika Anda menyimpan kredenal koneksi Anda menggunakan AWS Secrets Manager, pastikan bahwa peran IAM Anda AWS Glue memiliki izin untuk mengakses rahasia Anda. Untuk informasi selengkapnya, lihat [Contoh: Izin untuk mengambil nilai rahasia](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#auth-and-access_examples_read) di *Panduan AWS Secrets Manager Pengguna*. Bergantung pada pengaturan jaringan Anda, Anda mungkin juga perlu membuat titik akhir VPC untuk membuat koneksi pribadi antara VPC dan Secrets Manager. Untuk informasi selengkapnya, lihat [Menggunakan titik AWS Secrets Manager akhir VPC](https://docs.aws.amazon.com/secretsmanager/latest/userguide/vpc-endpoint-overview.html).

# Tutorial: Menggunakan AWS Glue Konektor untuk Elasticsearch
<a name="tutorial-elastisearch-connector"></a>

Elasticsearch adalah mesin pencarian dan analitik sumber terbuka populer untuk kasus penggunaan seperti analitik log, pemantauan aplikasi waktu nyata, dan analisis clickstream. Anda dapat menggunakan OpenSearch sebagai penyimpanan data untuk pekerjaan ekstrak, transformasi, dan pemuatan (ETL) Anda dengan mengonfigurasi AWS Glue Konektor untuk Elasticsearch di. AWS Glue Studio Konektor ini tersedia secara gratis dari [AWS Marketplace](https://aws.amazon.com/marketplace/pp/prodview-v5ygernwn2gb6). 

**catatan**  
 [Konektor Spark AWS Marketplace Elasticsearch](https://aws.amazon.com/marketplace/pp/B08PPT2V5J) tidak digunakan lagi. Silakan gunakan [AWS Glue Konektor untuk Elasticsearch](https://aws.amazon.com/marketplace/pp/prodview-v5ygernwn2gb6) sebagai gantinya. 

 Dalam tutorial ini, kami akan menunjukkan cara menghubungkan ke node OpenSearch Layanan Amazon Anda dengan jumlah langkah minimal. 

**Topics**
+ [Prasyarat](#tutorial-prerequisites)
+ [Langkah 1: (Opsional) Buat AWS rahasia untuk informasi OpenSearch cluster Anda](#tutorial-step1)
+ [Langkah 2: Berlangganan ke konektor](#tutorial-step2)
+ [Langkah 3: Aktifkan konektor AWS Glue Studio dan buat koneksi](#tutorial-step3)
+ [Langkah 4: Mengkonfigurasi IAM role untuk tugas ETL Anda](#tutorial-step4)
+ [Langkah 5: Buat pekerjaan yang menggunakan OpenSearch koneksi](#tutorial-step5)
+ [Langkah 6: Menjalankan tugas](#tutorial-step6)

## Prasyarat
<a name="tutorial-prerequisites"></a>

Untuk menggunakan tutorial ini, Anda harus memiliki hal-hal berikut ini:
+ Akses ke AWS Glue Studio
+ Akses ke OpenSearch klaster di AWS Cloud
+ (Opsional) Akses ke AWS Secrets Manager.

## Langkah 1: (Opsional) Buat AWS rahasia untuk informasi OpenSearch cluster Anda
<a name="tutorial-step1"></a>

 Untuk menyimpan dan menggunakan kredensial koneksi Anda dengan aman, simpan kredensial di AWS Secrets Manager. Rahasia yang Anda buat akan digunakan nanti dalam tutorial berdasarkan koneksi. Pasangan nilai kunci kredenal akan dimasukkan ke AWS Glue Konektor untuk Elasticsearch sebagai opsi koneksi normal. 

Untuk informasi selengkapnya tentang membuat rahasia, lihat [Membuat dan Mengelola Rahasia dengan AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets.html) di *Panduan Pengguna AWS Secrets Manager *.

**Untuk membuat AWS rahasia**

1. Masuk ke [konsol AWS Secrets Manager](https://console.aws.amazon.com/secretsmanager/) tersebut.

1. Pada halaman pengenalan layanan atau halaman daftar **Rahasia**, pilih **Menyimpan rahasia baru**.

1. Pada halaman **Menyimpan rahasia baru**, pilih **Jenis rahasia lainnya**. Pilihan ini berarti Anda harus menyediakan struktur dan detail rahasia Anda.

1. Tambahkan pasangan **Kunci** dan **Nilai** untuk nama pengguna OpenSearch cluster. Contoh:

   `es.net.http.auth.user`: *username*

1. Pilih **\$1 Tambahkan baris**, dan masukkan pasangan nilai-kunci lain untuk kata sandi. Contoh:

   `es.net.http.auth.pass`: *password*

1. Pilih **Berikutnya**.

1. Masukkan nama rahasia. Sebagai contoh: **my-es-secret**. Anda dapat menyertakan sebuah deskripsi.

   Catat nama rahasia, yang akan digunakan nanti dalam tutorial ini, dan kemudian pilih **Selanjutnya**.

1. Pilih **Selanjutnya** lagi, lalu pilih **Menyimpan** untuk menciptakan rahasia.

### Langkah berikutnya
<a name="tutorial-step1.2"></a>

 [Langkah 2: Berlangganan ke konektor](#tutorial-step2) 

## Langkah 2: Berlangganan ke konektor
<a name="tutorial-step2"></a>

 AWS Glue Konektor untuk Elasticsearch tersedia secara gratis. [AWS Marketplace](https://aws.amazon.com/marketplace/pp/prodview-v5ygernwn2gb6#pdp-pricing) 

**Untuk berlangganan AWS Glue Konektor untuk Elasticsearch di AWS Marketplace**

1. Jika Anda belum mengonfigurasi AWS akun Anda untuk menggunakan License Manager, lakukan hal berikut:

   1. Buka AWS License Manager konsol di [https://console.aws.amazon.com/license-manager](https://console.aws.amazon.com/license-manager).

   1. Pilih **Buat lisensi terkelola pelanggan**.

   1. **Di jendela **izin IAM (pengaturan satu kali)**, pilih **Saya memberikan izin AWS License Manager yang diperlukan, lalu pilih Hibah izin**.**

      Jika Anda tidak melihat jendela ini, maka berarti Anda telah mengkonfigurasi izin yang diperlukan.

1. Buka konsol AWS Glue Studio di [https://console.aws.amazon.com/gluestudio/](https://console.aws.amazon.com/gluestudio/).

1. Di AWS Glue Studio konsol, perluas ikon menu (![\[\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/nav-menu-icon.png)), lalu pilih **Konektor** di panel navigasi.

1. Pada halaman **Konektor**, pilih **Buka AWS Marketplace**.

1. Di AWS Marketplace, di bagian **Cari AWS Glue Studio produk**, masukkan **AWS Glue Konektor untuk Elasticsearch** di bidang pencarian, lalu tekan Enter. 

1.  Pilih nama konektor, **AWS Glue Konektor untuk Elasticsearch**. 

1. Pada halaman produk untuk konektor, gunakan tab untuk melihat informasi tentang konektor tersebut. Saat Anda siap melanjutkan, pilih **Lanjutkan ke Berlangganan**.

1.  Tinjau ketentuan penggunaan untuk perangkat lunak. Klik **Terima Ketentuan**. 

1.  Ketika proses berlangganan selesai, Anda akan melihat pemberitahuan: “Terima kasih telah berlangganan produk ini\$1 Anda sekarang dapat mengkonfigurasi perangkat lunak Anda.” Di atas spanduk akan ada tombol **Lanjutkan ke Konfigurasi**. Pilih **Lanjutkan ke Konfigurasi**. 

1.  Pilih opsi Pemenuhan pada halaman **Konfigurasikan perangkat lunak ini**. Anda dapat memilih antara AWS Glue 1.0/2.0 atau AWS Glue 3.0. Kemudian, pilih **Continue to Launch**.

### Langkah berikutnya
<a name="tutorial-step2.1"></a>

 [Langkah 3: Aktifkan konektor AWS Glue Studio dan buat koneksi](#tutorial-step3) 

## Langkah 3: Aktifkan konektor AWS Glue Studio dan buat koneksi
<a name="tutorial-step3"></a>

Setelah Anda memilih **Lanjutkan untuk Meluncurkan**, Anda melihat halaman **Luncurkan perangkat lunak ini** di AWS Marketplace. Setelah Anda menggunakan tautan untuk mengaktifkan konektor AWS Glue Studio, Anda membuat koneksi. 

**Untuk menyebarkan konektor dan membuat koneksi di AWS Glue Studio**

1. Pada halaman **Luncurkan perangkat lunak ini** di AWS Marketplace konsol, pilih **Petunjuk Penggunaan**, lalu pilih tautan di jendela yang muncul.

   Browser Anda dialihkan ke AWS Glue Studio konsol **Buat halaman koneksi marketplace**.

1. Masukkan nama untuk koneksi tersebut. Sebagai contoh: **my-es-connection**.

1. Di bagian **Akses koneksi**, untuk **Jenis kredensial koneksi**, pilih **Nama pengguna dan kata sandi**. 

1. Untuk **Rahasia AWS **, masukkan nama rahasia Anda. Sebagai contoh: **my-es-secret**.

1. Di bagian **Opsi jaringan**, masukkan informasi VPC untuk terhubung ke OpenSearch cluster. 

1. Pilih **Buat koneksi dan aktifkan konektor**.

### Langkah berikutnya
<a name="tutorial-step3.1"></a>

 [Langkah 4: Mengkonfigurasi IAM role untuk tugas ETL Anda](#tutorial-step4) 

## Langkah 4: Mengkonfigurasi IAM role untuk tugas ETL Anda
<a name="tutorial-step4"></a>

Saat Anda membuat pekerjaan AWS Glue ETL, Anda menentukan peran AWS Identity and Access Management (IAM) untuk pekerjaan yang akan digunakan. Peran harus memberikan akses ke semua sumber daya yang digunakan oleh pekerjaan, termasuk Amazon S3 (untuk sumber, target, skrip, file driver, dan direktori sementara), dan juga objek. AWS Glue Data Catalog 

Peran IAM yang diasumsikan untuk pekerjaan AWS Glue ETL juga harus memiliki akses ke rahasia yang dibuat di bagian sebelumnya. Secara default, peran terkelola AWS `AWSGlueServiceRole` tidak memiliki akses ke rahasia. Untuk mengatur kendali akses ke rahasia Anda, lihat [Autentikasi dan Kendali Akses AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html) dan [Membatasi Akses ke Rahasia Tertentu](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_identity-based-policies.html#permissions_grant-limited-resources).

**Untuk mengkonfigurasi IAM role untuk tugas ETL Anda**

1. Konfigurasikan izin sebagaimana yang dijelaskan di [Tinjau izin IAM yang diperlukan untuk pekerjaan ETL](getting-started-min-privs-job.md).

1. Konfigurasikan izin tambahan yang diperlukan saat menggunakan konektor dengan AWS Glue Studio, seperti yang dijelaskan dalam[Izin diperlukan untuk menggunakan konektor](getting-started-min-privs-job.md#getting-started-min-privs-connectors).

### Langkah berikutnya
<a name="tutorial-step4.1"></a>

 [Langkah 5: Buat pekerjaan yang menggunakan OpenSearch koneksi](#tutorial-step5) 

## Langkah 5: Buat pekerjaan yang menggunakan OpenSearch koneksi
<a name="tutorial-step5"></a>

Setelah membuat peran untuk pekerjaan ETL Anda, Anda dapat membuat pekerjaan AWS Glue Studio yang menggunakan koneksi dan konektor untuk Open Spark ElasticSearch.

Jika tugas Anda berjalan di Amazon Virtual Private Cloud (Amazon VPC), pastikan VPC tersebut dikonfigurasi dengan semestinya. Untuk informasi selengkapnya, lihat [Konfigurasikan VPC untuk pekerjaan ETL Anda](getting-started-vpc-config.md).

**Untuk membuat sebuah tugas yang menggunakan Elasticsearch Spark Connector**

1. Di AWS Glue Studio, pilih **Konektor**.

1. Di daftar **Koneksi Anda**, pilih koneksi yang baru saja Anda buat dan pilih **Buat tugas**.

1. Dalam editor tugas visual, pilih Simpul sumber data. Di sebelah kanan, di tab **Properti sumber data - Konektor**, konfigurasi informasi tambahan untuk konektor. 

   1. Pilih **Tambahkan skema** dan masukkan skema set data dalam sumber data. Koneksi tidak menggunakan tabel yang disimpan dalam Katalog Data, yang AWS Glue Studio berarti tidak mengetahui skema data. Anda harus memberikan informasi skema ini secara manual. Untuk petunjuk tentang cara menggunakan editor skema, lihat [Mengedit skema di simpul transformasi kustom](transforms-custom.md#transforms-custom-editschema).

   1. Perluas **Opsi koneksi**.

   1. Pilih **Tambahkan opsi baru** dan masukkan informasi yang diperlukan untuk konektor yang tidak dimasukkan dalam AWS rahasia:
      +  **es.nodes**: https://*< OpenSearch * titik akhir domain> 
      +  **es.port: 443**
      +  **jalur**: uji 
      +  **es.nodes.wan.only**: benar 

      Untuk penjelasan tentang pilihan koneksi ini, lihat [https://www.elastic.co/guide/en/elasticsearch/hadoop/current/configuration.html](https://www.elastic.co/guide/en/elasticsearch/hadoop/current/configuration.html).

1. Tambahkan simpul target ke grafik. 

   Target data Anda bisa berupa Amazon S3, atau dapat menggunakan formulir informasi dari AWS Glue Data Catalog atau konektor untuk menulis data di lokasi yang berbeda. Sebagai contoh, Anda dapat menggunakan tabel Katalog Data untuk menulis ke basis data di Amazon RDS, atau Anda dapat menggunakan konektor sebagai target data Anda untuk menulis ke penyimpanan data yang didukung secara asli di AWS Glue.

   Jika Anda memilih sebuah konektor untuk target data Anda, maka Anda harus memilih sebuah koneksi yang dibuat untuk konektor tersebut. Selain itu, jika diperlukan oleh penyedia konektor, Anda harus menambahkan opsi untuk memberikan informasi tambahan ke konektor. Jika Anda menggunakan koneksi yang berisi informasi untuk AWS rahasia, maka Anda tidak perlu memberikan nama pengguna dan otentikasi kata sandi dalam opsi koneksi.

1. Opsional, tambahkan sumber data tambahan dan satu atau beberapa simpul transformasi seperti yang dijelaskan di [Transformasi data dengan transformasi AWS Glue terkelola](edit-jobs-transforms.md).

1. Konfigurasikan properti tugas seperti yang dijelaskan di [Mengubah properti tugas](managing-jobs-chapter.md#edit-jobs-properties), dimulai dengan langkah 3, dan simpan tugas.

### Langkah berikutnya
<a name="tutorial-step5.1"></a>

 [Langkah 6: Menjalankan tugas](#tutorial-step6) 

## Langkah 6: Menjalankan tugas
<a name="tutorial-step6"></a>

Setelah Anda menyimpan tugas Anda, Anda dapat menjalankan tugas untuk melakukan operasi ETL.

**Untuk menjalankan pekerjaan yang Anda buat untuk AWS Glue Connector for Elasticsearch**

1. Menggunakan AWS Glue Studio konsol, pada halaman editor visual, pilih **Jalankan**.

1. Dalam banner keberhasilan, pilih **Detail Eksekusi**, atau Anda dapat memilih tab **Eksekusi** di editor visual untuk melihat informasi tentang eksekusi tugas.