

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

# 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).