

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

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