

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 從 Google Analytics 4 實體中讀取
<a name="googleanalytics-reading-from-entities"></a>

 **先決條件** 
+  您想要從中讀取的 Google Analytics 4 物件。請參閱以下支援的實體表格，以檢查可用實體。

 **支援的實體** 


| 實體 | 可以篩選 | 支援限制 | 支援排序依據 | 支援選取 \$1 | 支援分區 | 
| --- | --- | --- | --- | --- | --- | 
| 即時報告 | 是 | 是 | 是 | 是 | 否 | 
| 核心報告 | 是 | 是 | 是 | 是 | 是 | 

 **範例** 

```
googleAnalytics4_read = glueContext.create_dynamic_frame.from_options(
    connection_type="GoogleAnalytics4",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v1beta"
    }
```

 **Google Analytics 4 實體和欄位詳細資訊** 


| 實體 | 欄位 | 資料類型 | 支援的運算子 | 
| --- | --- | --- | --- | 
| 核心報告 | 動態欄位 |  |  | 
| 核心報告 | 維度欄位 | String | LIKE, = | 
| 核心報告 | 維度欄位 | Date | LIKE, = | 
| 核心報告 | 指標欄位 | String | >, <, >=, <=, = BETWEEN | 
| 核心報告 | 自訂維度和自訂指標欄位 | String | NA | 
| 即時報告 | appVersion | String | LIKE, = | 
| 即時報告 | audienceId | String | LIKE, = | 
| 即時報告 | audienceName | String | LIKE, = | 
| 即時報告 | 城市 | String | LIKE, = | 
| 即時報告 | cityId | String | LIKE, = | 
| 即時報告 | 國家/地區 | String | LIKE, = | 
| 即時報告 | countryId | String | LIKE, = | 
| 即時報告 | deviceCategory | String | LIKE, = | 
| 即時報告 | eventName | String | LIKE, = | 
| 即時報告 | minutesAgo | String | LIKE, = | 
| 即時報告 | 平台 | String | LIKE, = | 
| 即時報告 | streamId | String | LIKE, = | 
| 即時報告 | streamName | String | LIKE, = | 
| 即時報告 | unifiedScreenName | String | LIKE, = | 
| 即時報告 | activeUsers | String | >, <, >=, <=, = BETWEEN | 
| 即時報告 | 轉換 | String | >, <, >=, <=, = BETWEEN | 
| 即時報告 | eventCount | String | >, <, >=, <=, = BETWEEN | 
| 即時報告 | screenPageViews | String | >, <, >=, <=, = BETWEEN | 

 **分區查詢** 

1.  **基於篩選條件的分區** 

    如果想要在 Spark 中使用並行，可以提供其他 Spark 選項 `PARTITION_FIELD`、`LOWER_BOUND`、`UPPER_BOUND`、`NUM_PARTITIONS`。使用這些參數，原始查詢會分區為可由 Spark 任務並行執行的子查詢的 `NUM_PARTITIONS` 數目。
   +  `PARTITION_FIELD`：用來分區查詢的欄位名稱。
   +  `LOWER_BOUND`：所選分區欄位的包含下限值。

      對於日期，我們接受 Spark SQL 查詢中使用的 Spark 日期格式。有效值的範例：`"2024-02-06"`。
   +  `UPPER_BOUND`：所選分區欄位的唯一上限值。
   +  `NUM_PARTITIONS`：分區數目。

    **範例** 

   ```
   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.  **記錄型分區** 

    如果想要在 Spark 中使用並行，可以提供其他 Spark 選項 `NUM_PARTITIONS`。使用這些參數，原始查詢會分區為可由 Spark 任務並行執行的子查詢的 `NUM_PARTITIONS` 數目。
   +  `NUM_PARTITIONS`：分區數目。

    **範例** 

   ```
   googleAnalytics4_read = glueContext.create_dynamic_frame.from_options(
       connection_type="GoogleAnalytics4",
       connection_options={
           "connectionName": "connectionName",
           "ENTITY_NAME": "entityName",
           "API_VERSION": "v1beta",
           "NUM_PARTITIONS": "10"
       }
   ```