

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 문자열 변형 프로세서
<a name="CloudWatch-Logs-Transformation-StringMutate"></a>

이 섹션에는 로그 이벤트 변환기와 함께 사용할 수 있는 문자열 변형 프로세서에 대한 정보가 포함되어 있습니다.

**Contents**
+ [lowerCaseString](#CloudWatch-Logs-Transformation-lowerCaseString)
+ [upperCaseString](#CloudWatch-Logs-Transformation-upperCaseString)
+ [splitString](#CloudWatch-Logs-Transformation-splitString)
+ [substituteString](#CloudWatch-Logs-Transformation-substituteString)
+ [trimString](#CloudWatch-Logs-Transformation-trimString)

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

`lowerCaseString` 프로세서는 문자열을 소문자 버전으로 변환합니다.


| 필드 | 설명 | 필수 | 기본값 | 제한 사항 | 
| --- | --- | --- | --- | --- | 
|  withKeys | 소문자로 변환할 키의 목록 |  예 |  |  최대 항목: 10 | 

**예제**

다음 예제 로그 이벤트를 살펴봅니다.

```
{
    "outer_key": {
        "inner_key": "INNER_VALUE"
    }
}
```

트랜스포머 구성은 `lowerCaseString`를 `parseJSON`과 사용하는 경우 다음과 같습니다.

```
[
    {
        "parseJSON": {}
    },
    {
        "lowerCaseString": {
            "withKeys":["outer_key.inner_key"]
        }
    }
]
```

변환된 로그 이벤트는 다음과 같습니다.

```
{
  "outer_key": {
    "inner_key": "inner_value"
  }
}
```

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

`upperCaseString` 프로세서는 문자열을 대문자 버전으로 변환합니다.


| 필드 | 설명 | 필수 | 기본값 | 제한 사항 | 
| --- | --- | --- | --- | --- | 
|  withKeys | 대문자로 변환할 키의 목록 |  예 |  |  최대 항목: 10 | 

**예제**

다음 예제 로그 이벤트를 살펴봅니다.

```
{
    "outer_key": {
        "inner_key": "inner_value"
    }
}
```

트랜스포머 구성은 `upperCaseString`를 `parseJSON`과 사용하는 경우 다음과 같습니다.

```
[
    {
        "parseJSON": {}
    },
    {
        "upperCaseString": {
            "withKeys":["outer_key.inner_key"]
        }
    }
]
```

변환된 로그 이벤트는 다음과 같습니다.

```
{
  "outer_key": {
    "inner_key": "INNER_VALUE"
  }
}
```

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

`splitString` 프로세서는 구분 문자를 사용하여 필드를 배열로 분할하는 문자열 변형 프로세서의 한 유형입니다.


| 필드 | 설명 | 필수 | 기본값 | 제한 사항 | 
| --- | --- | --- | --- | --- | 
|  항목 | 항목의 배열. 배열의 각 항목에는 source 및 delimiter 필드가 포함되어야 합니다. |  예 |  |  최대 항목: 10 | 
|  source | 분할할 필드 값의 키 |  예 |  |  최대 길이: 128 | 
|  delimiter | 필드 값을 분할할 구분 문자 문자열 |  예 |  |  최대 길이: 128 | 

**예제 1**

다음 예제 로그 이벤트를 살펴봅니다.

```
{
    "outer_key": {
        "inner_key": "inner_value"
    }
}
```

트랜스포머 구성은 `splitString`를 `parseJSON`과 사용하는 경우 다음과 같습니다.

```
[
     {
        "parseJSON": {}
    },
    {
         "splitString": {
            "entries": [
                {
                    "source": "outer_key.inner_key",
                    "delimiter": "_"
                }
            ]
        }
    }
]
```

변환된 로그 이벤트는 다음과 같습니다.

```
{
  "outer_key": {
    "inner_key": [
      "inner",
      "value"
    ]
  }
}
```

**예제 2**

문자열을 분할할 구분 문자는 여러 문자일 수 있습니다.

다음 예제 로그 이벤트를 살펴봅니다.

```
{
    "outer_key": {
        "inner_key": "item1, item2, item3"
    }
}
```

트랜스포머 구성은 다음과 같습니다.

```
[
     {
        "parseJSON": {}
    },
    {
         "splitString": {
            "entries": [
                {
                    "source": "outer_key.inner_key",
                    "delimiter": ", "
                }
            ]
        }
    }
]
```

변환된 로그 이벤트는 다음과 같습니다.

```
{
  "outer_key": {
    "inner_key": [
      "item1",
      "item2",
      "item3"
    ]
  }
}
```

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

`substituteString` 프로세서는 키 값을 정규식과 비교하여 일치하는 모든 항목을 대체 문자열로 대체하는 문자열 변형 프로세서의 한 유형입니다.


| 필드 | 설명 | 필수 | 기본값 | 제한 사항 | 
| --- | --- | --- | --- | --- | 
|  항목 | 항목의 배열. 배열의 각 항목에는 source, from 및 to 필드가 포함되어야 합니다. |  예 |  |  최대 항목: 10 | 
|  source | 수정할 필드의 키 |  예 |  |  최대 길이: 128 최대 중첩 키 깊이: 3 | 
|  from | 대체될 정규식 문자열입니다. 큰따옴표를 사용할 때는 \$1\$1를 사용하고 작은따옴표를 사용하거나 AWS Management Console에서 구성하는 경우에는 \$1를 사용하여 [ 및 ]와 같은 특수 정규식 문자를 이스케이프 처리해야 합니다. 자세한 내용은 Oracle 웹사이트의 [Class Pattern](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/regex/Pattern.html)을 참조하세요. `(...)`에서 패턴을 래핑하여 번호가 지정된 캡처 그룹을 생성하고 `to` 필드에서 참조할 수 있는 이름이 `(?P<group_name>...)`인 캡처 그룹을 생성할 수 있습니다. |  예 |  |  최대 길이: 128 | 
|  to | 캡처 그룹에 대한 from 역참조의 각 매칭으로 대체될 문자열을 사용할 수 있습니다. \$11와 같은 번호가 매겨진 그룹에는 \$1n 형식을 사용하고, \$1\$1my\$1group\$1와 같은 명명된 그룹에는 \$1\$1group\$1name\$1을 사용합니다.> |  예 |  |  최대 길이: 128 최대 역참조의 수: 10 최대 중복된 역참조의 수: 2 | 

**예제 1**

다음 예제 로그 이벤트를 살펴봅니다.

```
{
    "outer_key": {
        "inner_key1": "[]",
        "inner_key2": "123-345-567",
        "inner_key3": "A cat takes a catnap."
    }
}
```

트랜스포머 구성은 `substituteString`를 `parseJSON`과 사용하는 경우 다음과 같습니다.

```
[
    {
        "parseJSON": {}
    },
    {
        "substituteString": {
            "entries": [
                {
                    "source": "outer_key.inner_key1",
                    "from": "\\[\\]",
                    "to": "value1"
                },
                {
                    "source": "outer_key.inner_key2",
                    "from": "[0-9]{3}-[0-9]{3}-[0-9]{3}",
                    "to": "xxx-xxx-xxx"
                },
                {
                    "source": "outer_key.inner_key3",
                    "from": "cat",
                    "to": "dog"
                }
            ]
        }
    }
]
```

변환된 로그 이벤트는 다음과 같습니다.

```
{
  "outer_key": {
    "inner_key1": "value1",
    "inner_key2": "xxx-xxx-xxx",
    "inner_key3": "A dog takes a dognap."
  }
}
```

**예제 2**

다음 예제 로그 이벤트를 살펴봅니다.

```
{
    "outer_key": {
        "inner_key1": "Tom, Dick, and Harry",
        "inner_key2": "arn:aws:sts::123456789012:assumed-role/MyImportantRole/MySession"
    }
}
```

트랜스포머 구성은 `substituteString`를 `parseJSON`과 사용하는 경우 다음과 같습니다.

```
[
    {
        "parseJSON": {}
    },
    {
        "substituteString": {
            "entries": [
                {
                    "source": "outer_key.inner_key1",
                    "from": "(\w+), (\w+), and (\w+)",
                    "to": "$1 and $3"
                },
                {
                    "source": "outer_key.inner_key2",
                    "from": "^arn:aws:sts::(?P<account_id>\\d{12}):assumed-role/(?P<role_name>[\\w+=,.@-]+)/(?P<role_session_name>[\\w+=,.@-]+)$",
                    "to": "${account_id}:${role_name}:${role_session_name}"
                }
            ]
        }
    }
]
```

변환된 로그 이벤트는 다음과 같습니다.

```
{
  "outer_key": {
    "inner_key1": "Tom and Harry",
    "inner_key2": "123456789012:MyImportantRole:MySession"
  }
}
```

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

`trimString` 프로세서는 키의 시작과 끝에서 공백을 제거합니다.


| 필드 | 설명 | 필수 | 기본값 | 제한 사항 | 
| --- | --- | --- | --- | --- | 
|  withKeys | 정리할 키의 목록 |  예 |  |  최대 항목: 10 | 

**예제**

다음 예제 로그 이벤트를 살펴봅니다.

```
{
    "outer_key": {
        "inner_key": "   inner_value  "
    }
}
```

트랜스포머 구성은 `trimString`를 `parseJSON`과 사용하는 경우 다음과 같습니다.

```
[
    {
        "parseJSON": {}
    },
    {
        "trimString": {
            "withKeys":["outer_key.inner_key"]
        }
    }
]
```

변환된 로그 이벤트는 다음과 같습니다.

```
{
  "outer_key": {
    "inner_key": "inner_value"
  }
}
```