

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

# 資料類型轉換器處理器
<a name="CloudWatch-Logs-Transformation-Datatype"></a>

本節包含您可以與日誌事件轉換器搭配使用之資料類型轉換器處理器的相關資訊。

**Contents**
+ [typeConverter](#CloudWatch-Logs-Transformation-typeConverter)
+ [datetimeConverter](#CloudWatch-Logs-Transformation-datetimeConverter)

## typeConverter
<a name="CloudWatch-Logs-Transformation-typeConverter"></a>

使用`typeConverter`處理器將與指定索引鍵相關聯的值類型轉換為指定的類型。它是一種轉換處理器，可變更指定欄位的類型。值可以轉換為下列其中一種資料類型：`integer`、 `double``string`和 `boolean`。


| 欄位 | Description | 是否為必要？ | 預設 | 限制 | 
| --- | --- | --- | --- | --- | 
|  項目 | 項目陣列。陣列中的每個項目都必須包含 key和 type 欄位。 |  是 |  |  項目上限：10 | 
|  金鑰 | 具有要轉換為不同類型之值的金鑰 |  是 |  |  長度上限：128 巢狀金鑰深度上限：3 | 
|  type | 要轉換的類型。有效值為 integer、 doublestring和 boolean。 |  是 |  |  | 

**範例**

採用下列範例日誌事件：

```
{
    "name": "value",
    "status": "200"
}
```

轉換器組態是這樣，使用 `typeConverter`搭配 `parseJSON`：

```
[
    {
        "parseJSON": {}
    },
    {
        "typeConverter": {
            "entries": [
                {
                    "key": "status",
                    "type": "integer"
                }
            ]
        }
    }
]
```

轉換的日誌事件如下。

```
{
    "name": "value",
    "status": 200
}
```

## datetimeConverter
<a name="CloudWatch-Logs-Transformation-datetimeConverter"></a>

使用`datetimeConverter`處理器將日期時間字串轉換為您指定的格式。


| 欄位 | Description | 是否為必要？ | 預設 | 限制 | 
| --- | --- | --- | --- | --- | 
|  source | 要套用日期轉換的金鑰。 |  是 |  |  項目上限：10 | 
|  matchPatterns | 要比對 source 欄位的模式清單 |  是 |  |  項目上限：5 | 
|  目標 | 存放結果的 JSON 欄位。 |  是 |  |  長度上限：128 巢狀金鑰深度上限：3 | 
|  targetFormat | 用於目標欄位中轉換資料的日期時間格式。 |  否 | ` yyyy-MM-dd'T'HH:mm:ss.SSS'Z` |  長度上限：64 | 
|  sourceTimezone | 來源欄位的時區。 如需可能值的清單，請參閱 [ Java 支援的區域 ID 和位移](https://howtodoinjava.com/java/date-time/supported-zone-ids-offsets/#3-java-supported-zone-ids-and-offsets)。 |  否 | UTC |  長度下限：1 | 
|  targetTimezone | 目標欄位的時區。 如需可能值的清單，請參閱 [ Java 支援的區域 ID 和位移](https://howtodoinjava.com/java/date-time/supported-zone-ids-offsets/#3-java-supported-zone-ids-and-offsets)。 |  否 | UTC |  長度下限：1 | 
|  locale | 來源欄位的地區設定。 如需可能值的清單，請參閱 [ Java 中的 Locale getAvailableLocales() 方法與範例](https://www.geeksforgeeks.org/locale-getavailablelocales-method-in-java-with-examples/)。 |  是 |  |  長度下限：1 | 

**範例**

採用下列範例日誌事件：

```
{"german_datetime": "Samstag 05. Dezember 1998 11:00:00"}
```

轉換器組態是這樣，使用 `dateTimeConverter`搭配 `parseJSON`：

```
[
    {
        "parseJSON": {}
    },
    {
        "dateTimeConverter": {
            "source": "german_datetime",
            "target": "target_1",
            "locale": "de",
            "matchPatterns": ["EEEE dd. MMMM yyyy HH:mm:ss"],
            "sourceTimezone": "Europe/Berlin",
            "targetTimezone": "America/New_York",
            "targetFormat": "yyyy-MM-dd'T'HH:mm:ss z"
        }
    }
]
```

轉換的日誌事件如下。

```
{
    "german_datetime": "Samstag 05. Dezember 1998 11:00:00",
    "target_1": "1998-12-05T17:00:00 MEZ"
}
```