

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

# parse
<a name="CWL_QuerySyntax-Parse"></a>

`parse`를 사용하여 로그 필드에서 데이터를 추출하고 쿼리에서 처리할 수 있는 추출된 필드를 생성합니다. `parse` 명령은 glob 표현식, 정규 표현식 및 logfmt의 세 가지 모드를 지원합니다.

`fieldName`이 생략되면 `@message`가 기본적으로 사용됩니다. 필드 이름을 첫 번째 인수로 지정하여 명명된 필드에서 구문 분석할 수 있습니다.

로그 이벤트가 지정된 패턴과 일치하지 않는 경우에도 결과에는 여전히 표시되지만 추출된 필드는 표시되지 않습니다.

## 글롭 모드
<a name="CWL_QuerySyntax-parse-glob"></a>

와일드카드(`*`)를 추출하려는 값의 자리 표시자로 사용하고를 사용하여 명명된 필드에 할당합니다`as`.

**구문**

```
parse {{fieldName}} "{{pattern}}" as {{alias1}}, {{alias2}}
```

`*` 와일드카드 수는 별칭 수와 같아야 합니다.

**예시**

```
parse @message "user=*, method:*, latency := *" as @user,
    @method, @latency | stats avg(@latency) by @method, @user
```

```
parse @logStream "*/*/*/*" as env, service, instance, shard
| stats count(*) by env, service
```

**연결된 구문 분석**

필드를 추출한 다음 추출된 필드를 추가로 구문 분석합니다.

```
parse @message "url=*" as url
| parse url "/api/*/users/*" as apiVersion, userId
| display apiVersion, userId
```

## 정규식 모드
<a name="CWL_QuerySyntax-parse-regex"></a>

명명된 캡처 그룹과 함께 정규식을 사용하여 필드를 추출합니다. 정규 표현식 구문에 대한 자세한 내용은 [지원되는 정규식 구문](FilterAndPatternSyntax.md#regex-expressions) 섹션을 참조하세요.

**구문**

```
parse {{fieldName}} /{{regex}}/
```

명명된 캡처 그룹을 사용하여 추출된 필드를 `(?<{{name}}>...)` 정의합니다.

**예시**

**명명된 캡처 그룹을 사용하여 필드 추출**

```
parse @message /user=(?<user2>.*?), method:(?<method2>.*?),
    latency := (?<latency2>.*?)/ | stats avg(latency2) by @method2,
    @user2
```

**명명된 캡처 그룹을 사용하여 VPC 흐름 로그에서 ENI 추출**

```
parse @message /(?<NetworkInterface>eni-.*?) /
| display NetworkInterface, @message
```

## Logfmt 모드
<a name="CWL_QuerySyntax-parse-logfmt"></a>

`parse logfmt`를 사용하여 logfmt 형식의 로그 줄을 키-값 페어로 구문 분석합니다. Logfmt는 각 줄에 공백으로 구분된 `key=value` 페어가 포함된 구조화된 로깅 형식입니다.

**구문**

```
parse {{fieldName}} logfmt as {{alias}}
```

그 결과 점 표기법으로 액세스하는 맵이 생성됩니다(예: , `lf.level``lf.msg`).

**예시**

```
parse @message logfmt as lf
| filter lf.level = "error"
| display lf.msg, lf.duration
```

```
parse @message logfmt as lf
| stats count(*) by lf.host
```