

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

# 3단계: 개체 분석 출력을 Amazon Kendra 메타데이터로 형식 지정
<a name="tutorial-search-metadata-format-output"></a>

Amazon Comprehend에서 추출한 개체를 Amazon Kendra 인덱스에 필요한 메타데이터 형식으로 변환하려면 Python 3 스크립트를 실행합니다. 변환 결과는 Amazon S3 버킷의 `metadata` 폴더에 저장됩니다.

Amazon Kendra 메타데이터 형식 및 구조에 대한 자세한 내용은 [S3 문서 메타데이터](https://docs.aws.amazon.com/kendra/latest/dg/s3-metadata.html)를 참조하세요.

**Topics**
+ [Amazon Comprehend 출력 다운로드 및 추출](#tutorial-search-metadata-format-output-download-extract)
+ [출력을 S3 버킷에 업로드](#tutorial-search-metadata-format-output-upload)
+ [출력을 Amazon Kendra 메타데이터 형식으로 변환](#tutorial-search-metadata-format-output-script)
+ [Amazon S3 버킷 정리](#tutorial-search-metadata-format-output-cleanup)

## Amazon Comprehend 출력 다운로드 및 추출
<a name="tutorial-search-metadata-format-output-download-extract"></a>

Amazon Comprehend 개체 분석 출력의 형식을 지정하려면 먼저 Amazon Comprehend 개체 분석 `output.tar.gz` 아카이브를 다운로드하고 개체 분석 파일을 추출해야 합니다.

### 출력 파일을 다운로드하려면(콘솔)
<a name="tutorial-search-metadata-download-extract-console"></a>

1. Amazon Comprehend 콘솔의 탐색 창에서 **분석 작업**으로 이동합니다.

1. 개체 분석 작업 `data-entities-analysis`를 선택합니다.

1. **출력**에서 **출력 데이터 위치** 옆에 표시된 링크를 선택합니다. 그러면 S3 버킷의 `output.tar.gz` 아카이브로 리디렉션됩니다.

1. **개요** 탭에서 **다운로드**를 선택합니다.
**작은 정보**  
모든 Amazon Comprehend 분석 작업의 출력 이름은 동일합니다. 아카이브 이름을 변경하면 아카이브를 더 쉽게 추적할 수 있습니다.

1. 디바이스에 다운로드한 Amazon Comprehend 파일의 압축을 풀고 추출합니다.

### 출력 파일을 다운로드하려면(AWS CLI)
<a name="tutorial-search-metadata-download-extract-cli"></a>

1. 개체 분석 작업의 결과를 포함하는 S3 버킷의 Amazon Comprehend 자동 생성 폴더 이름에 액세스하려면 [describe-entities-detection-job](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/comprehend/describe-entities-detection-job.html) 명령을 사용하세요.

------
#### [ Linux ]

   ```
   aws comprehend describe-entities-detection-job \
             --job-id entities-job-id \
             --region aws-region
   ```

   위치:
   + *entities-job-id*는 [2단계: Amazon Comprehend에서 개체 분석 작업 실행](tutorial-search-metadata-entities-analysis.md)에서 저장한 `comprehend-job-id`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------
#### [ macOS ]

   ```
   aws comprehend describe-entities-detection-job \
             --job-id entities-job-id \
             --region aws-region
   ```

   위치:
   + *entities-job-id*는 [2단계: Amazon Comprehend에서 개체 분석 작업 실행](tutorial-search-metadata-entities-analysis.md)에서 저장한 `comprehend-job-id`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------
#### [ Windows ]

   ```
   aws comprehend describe-entities-detection-job ^
             --job-id entities-job-id ^
             --region aws-region
   ```

   위치:
   + *entities-job-id*는 [2단계: Amazon Comprehend에서 개체 분석 작업 실행](tutorial-search-metadata-entities-analysis.md)에서 저장한 `comprehend-job-id`입니다.
   + *aws-region*은 사용자의 AWS 리전입니다.

------

1. 개체 작업 설명의 `OutputDataConfig` 객체에서 `S3Uri` 값을 복사하고 텍스트 편집기에 `comprehend-S3uri`로 저장합니다.
**참고**  
`S3Uri` 값의 형식은 *s3://amzn-s3-demo-bucket/.../output/output.tar.gz*와 비슷합니다.

1. 개체 출력 아카이브를 다운로드하려면 [copy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/cp.html) 명령을 사용합니다.

------
#### [ Linux ]

   ```
   aws s3 cp s3://amzn-s3-demo-bucket/.../output/output.tar.gz path/output.tar.gz
   ```

   위치:
   + *s3://amzn-s3-demo-bucket/.../output/output.tar.gz*는 `comprehend-S3uri`로 저장한 `S3Uri` 값입니다.
   + *path/*는 출력을 저장하려는 로컬 디렉터리입니다.

------
#### [ macOS ]

   ```
   aws s3 cp s3://amzn-s3-demo-bucket/.../output/output.tar.gz path/output.tar.gz
   ```

   위치:
   + *s3://amzn-s3-demo-bucket/.../output/output.tar.gz*는 `comprehend-S3uri`로 저장한 `S3Uri` 값입니다.
   + *path/*는 출력을 저장하려는 로컬 디렉터리입니다.

------
#### [ Windows ]

   ```
   aws s3 cp s3://amzn-s3-demo-bucket/.../output/output.tar.gz path/output.tar.gz
   ```

   위치:
   + *s3://amzn-s3-demo-bucket/.../output/output.tar.gz*는 `comprehend-S3uri`로 저장한 `S3Uri` 값입니다.
   + *path/*는 출력을 저장하려는 로컬 디렉터리입니다.

------

1. 개체 출력을 추출하려면 터미널 창에서 다음 명령을 실행합니다.

------
#### [ Linux ]

   ```
   tar -xf path/output.tar.gz -C path/
   ```

   위치:
   + *path/*는 로컬 디바이스에 다운로드한 `output.tar.gz` 아카이브의 파일 경로입니다.

------
#### [ macOS ]

   ```
   tar -xf path/output.tar.gz -C path/
   ```

   위치:
   + *path/*는 로컬 디바이스에 다운로드한 `output.tar.gz` 아카이브의 파일 경로입니다.

------
#### [ Windows ]

   ```
   tar -xf path/output.tar.gz -C path/
   ```

   위치:
   + *path/*는 로컬 디바이스에 다운로드한 `output.tar.gz` 아카이브의 파일 경로입니다.

------

이 단계가 끝나면 Amazon Comprehend에서 식별한 개체 목록이 포함된 `output`라는 파일이 디바이스에 생성되어야 합니다.

## 출력을 S3 버킷에 업로드
<a name="tutorial-search-metadata-format-output-upload"></a>

Amazon Comprehend 개체 분석 파일을 다운로드하고 추출한 후 추출한 `output` 파일을 Amazon S3 버킷에 업로드합니다.

### 추출한 Amazon Comprehend 출력 파일 업로드(콘솔)
<a name="tutorial-search-metadata-upload-output-console"></a>

1. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. **버킷**에서 버킷 이름을 선택한 다음 **업로드**를 선택합니다.

1. **파일 및 폴더**에서 **파일 추가**를 선택합니다.

1. 대화 상자에서 디바이스의 추출된 `output` 파일을 찾아 선택한 다음 **열기**를 선택합니다.

1. **대상**, **권한** 및 **속성**에 대한 기본 설정을 유지합니다.

1. **업로드**를 선택합니다.

### 추출한 Amazon Comprehend 출력 파일 업로드(AWS CLI)
<a name="tutorial-search-metadata-upload-output-cli"></a>

1. 추출된 `output` 파일을 버킷에 업로드하려면 [copy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/cp.html) 명령을 사용합니다.

------
#### [ Linux ]

   ```
   aws s3 cp path/output s3://amzn-s3-demo-bucket/output
   ```

   위치:
   + *path/*는 추출된 `output` 파일의 로컬 파일 경로입니다.
   + S3 버킷의 이름은 amzn-s3-demo-bucket입니다.

------
#### [ macOS ]

   ```
   aws s3 cp path/output s3://amzn-s3-demo-bucket/output
   ```

   위치:
   + *path/*는 추출된 `output` 파일의 로컬 파일 경로입니다.
   + S3 버킷의 이름은 amzn-s3-demo-bucket입니다.

------
#### [ Windows ]

   ```
   aws s3 cp path/output s3://amzn-s3-demo-bucket/output
   ```

   위치:
   + *path/*는 추출된 `output` 파일의 로컬 파일 경로입니다.
   + S3 버킷의 이름은 amzn-s3-demo-bucket입니다.

------

1. `output` 파일이 S3 버킷에 성공적으로 업로드되었는지 확인하려면 [list](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/ls.html) 명령을 사용하여 파일의 내용을 확인하세요.

------
#### [ Linux ]

   ```
   aws s3 ls s3://amzn-s3-demo-bucket/
   ```

   위치:
   + S3 버킷의 이름은 amzn-s3-demo-bucket입니다.

------
#### [ macOS ]

   ```
   aws s3 ls s3://amzn-s3-demo-bucket/
   ```

   위치:
   + S3 버킷의 이름은 amzn-s3-demo-bucket입니다.

------
#### [ Windows ]

   ```
   aws s3 ls s3://amzn-s3-demo-bucket/
   ```

   위치:
   + S3 버킷의 이름은 amzn-s3-demo-bucket입니다.

------

## 출력을 Amazon Kendra 메타데이터 형식으로 변환
<a name="tutorial-search-metadata-format-output-script"></a>

Amazon Comprehend 출력을 Amazon Kendra 메타데이터로 변환하려면 Python 3 스크립트를 실행합니다. 콘솔을 사용하는 경우이 단계에서 AWS CloudShell 를 사용합니다.

### Python 3 스크립트를 실행하려면 (콘솔)
<a name="tutorial-search-metadata-format-output-console"></a>

1. [converter.py.zip](https://docs.aws.amazon.com/kendra/latest/dg/samples/converter.py.zip) 파일을 디바이스에 다운로드합니다.

1. Python 3 파일 `converter.py`를 추출합니다.

1. [AWS Management Console](https://aws.amazon.com/console/)에 로그인하고 AWS 리전이 S3 버킷 및 Amazon Comprehend 분석 작업과 동일한 리전으로 설정되어 있는지 확인합니다.

1. **AWS CloudShell 아이콘**을 선택하거나 상단 탐색 모음의 **검색** 상자에 **AWS CloudShell**을 입력하여 환경을 시작합니다.
**참고**  
가 새 브라우저 창에서 처음 AWS CloudShell 시작되면 시작 패널이 표시되고 주요 기능이 나열됩니다. 이 패널을 닫고 명령 프롬프트가 표시되면 쉘이 상호 작용할 준비가 된 것입니다.

1. 터미널이 준비되면 탐색 창에서 **작업**을 선택한 다음 메뉴에서 **파일 업로드**를 선택합니다.

1. 이때 열리는 대화 상자에서 **파일 선택** 을 선택한 후 디바이스에서 다운로드한 Python 3 파일 `converter.py`를 선택합니다. **업로드**를 선택합니다.

1.  AWS CloudShell 환경에서 다음 명령을 입력합니다.

   ```
   python3 converter.py
   ```

1. 쉘 인터페이스에서 **S3 버킷 이름을 입력**하라는 메시지가 표시되면 S3 버킷의 이름을 입력하고 Enter 키를 누릅니다.

1. 쉘 인터페이스에서 **Comprehend 출력 파일의 전체 파일 경로를 입력**하라는 메시지가 표시되면 **output**를 입력하고 Enter 키를 누릅니다.

1. 쉘 인터페이스에서 **메타데이터 폴더의 전체 파일 경로를 입력**하라는 메시지가 표시되면 **metadata/**를 입력하고 Enter 키를 누릅니다.

**중요**  
메타데이터의 형식을 올바르게 지정하려면 8-10단계의 입력 값이 정확해야 합니다.

### Python 3 스크립트를 실행하려면 (AWS CLI)
<a name="tutorial-search-metadata-format-output-cli"></a>

1. Python 3 파일 `converter.py`를 다운로드하려면 터미널 창에서 다음 명령을 실행합니다.

------
#### [ Linux ]

   ```
   curl -o path/converter.py.zip https://docs.aws.amazon.com/kendra/latest/dg/samples/converter.py.zip
   ```

   위치:
   + *path/*는 압축된 파일을 저장하려는 위치의 파일 경로입니다.

------
#### [ macOS ]

   ```
   curl -o path/converter.py.zip https://docs.aws.amazon.com/kendra/latest/dg/samples/converter.py.zip
   ```

   위치:
   + *path/*는 압축된 파일을 저장하려는 위치의 파일 경로입니다.

------
#### [ Windows ]

   ```
   curl -o path/converter.py.zip https://docs.aws.amazon.com/kendra/latest/dg/samples/converter.py.zip
   ```

   위치:
   + *path/*는 압축된 파일을 저장하려는 위치의 파일 경로입니다.

------

1. Python 3 파일을 추출하려면 터미널 창에서 다음 명령을 실행합니다.

------
#### [ Linux ]

   ```
   unzip path/converter.py.zip -d path/
   ```

   위치:
   + *path/*는 저장한 `converter.py.zip`의 파일 경로입니다.

------
#### [ macOS ]

   ```
   unzip path/converter.py.zip -d path/
   ```

   위치:
   + *path/*는 저장한 `converter.py.zip`의 파일 경로입니다.

------
#### [ Windows ]

   ```
   tar -xf path/converter.py.zip -C path/
   ```

   위치:
   + *path/*는 저장한 `converter.py.zip`의 파일 경로입니다.

------

1. 다음 명령을 실행하여 Boto3가 디바이스에 설치되어 있는지 확인합니다.

------
#### [ Linux ]

   ```
   pip3 show boto3
   ```

------
#### [ macOS ]

   ```
   pip3 show boto3
   ```

------
#### [ Windows ]

   ```
   pip3 show boto3
   ```

------
**참고**  
Boto3가 설치되어 있지 않은 경우 `pip3 install boto3`를 실행하여 설치합니다.

1. Python 3 스크립트를 실행하여 `output` 파일을 변환하려면 다음 명령을 실행합니다.

------
#### [ Linux ]

   ```
   python path/converter.py
   ```

   위치:
   + *path/*는 저장한 `converter.py.zip`의 파일 경로입니다.

------
#### [ macOS ]

   ```
   python path/converter.py
   ```

   위치:
   + *path/*는 저장한 `converter.py.zip`의 파일 경로입니다.

------
#### [ Windows ]

   ```
   python path/converter.py
   ```

   위치:
   + *path/*는 저장한 `converter.py.zip`의 파일 경로입니다.

------

1. 에 라는 AWS CLI 메시지가 표시되면 S3 버킷의 이름을 `Enter the name of your S3 bucket`입력하고 Enter 키를 누릅니다.

1. 에 AWS CLI 메시지가 표시되면를 `Enter the full filepath to your Comprehend output file` **output** 입력하고 Enter 키를 누릅니다.

1. 에 AWS CLI 메시지가 표시되면를 `Enter the full filepath to your metadata folder` **metadata/** 입력하고 Enter 키를 누릅니다.

**중요**  
메타데이터의 형식을 올바르게 지정하려면 5-7단계의 입력 값이 정확해야 합니다.

이 단계가 끝나면 형식이 지정된 메타데이터가 S3 버킷의 `metadata` 폴더 내에 보관됩니다.

## Amazon S3 버킷 정리
<a name="tutorial-search-metadata-format-output-cleanup"></a>

Amazon Kendra 인덱스는 버킷에 저장된 모든 파일을 동기화하므로 검색 결과가 중복되지 않도록 Amazon S3 버킷을 정리하는 것이 좋습니다.

### Amazon S3 버킷을 정리하려면 (콘솔)
<a name="tutorial-search-metadata-cleanup-bucket-console"></a>

1. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. **버킷**에서 버킷을 선택한 다음 Amazon Comprehend 개체 분석 출력 폴더, Amazon Comprehend 개체 분석 `.temp` 파일 및 추출된 Amazon Comprehend `output` 파일을 선택합니다.

1. **개요** 탭에서 **삭제**를 선택합니다.

1. **객체 삭제**에서 **객체를 영구적으로 삭제하시겠습니까?**를 선택하고 텍스트 입력 필드에 **permanently delete**를 입력합니다.

1. **객체 삭제**를 선택합니다.

### Amazon S3 버킷 정리(AWS CLI)
<a name="tutorial-search-metadata-cleanup-bucket-cli"></a>

1. `data` 및 `metadata` 폴더를 제외한 S3 버킷의 모든 파일 및 폴더를 삭제하려면 AWS CLI에서 [remove](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/rm.html) 명령을 사용합니다.

------
#### [ Linux ]

   ```
   aws s3 rm s3://amzn-s3-demo-bucket/ --recursive --exclude "data/*" --exclude "metadata/*"
   ```

   위치:
   + S3 버킷의 이름은 amzn-s3-demo-bucket입니다.

------
#### [ macOS ]

   ```
   aws s3 rm s3://amzn-s3-demo-bucket/ --recursive --exclude "data/*" --exclude "metadata/*"
   ```

   위치:
   + S3 버킷의 이름은 amzn-s3-demo-bucket입니다.

------
#### [ Windows ]

   ```
   aws s3 rm s3://amzn-s3-demo-bucket/ --recursive --exclude "data/*" --exclude "metadata/*"
   ```

   위치:
   + S3 버킷의 이름은 amzn-s3-demo-bucket입니다.

------

1. 객체가 S3 버킷에서 성공적으로 삭제되었는지 확인하려면 [list](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/ls.html) 명령을 사용하여 해당 콘텐츠를 확인하세요.

------
#### [ Linux ]

   ```
   aws s3 ls s3://amzn-s3-demo-bucket/
   ```

   위치:
   + S3 버킷의 이름은 amzn-s3-demo-bucket입니다.

------
#### [ macOS ]

   ```
   aws s3 ls s3://amzn-s3-demo-bucket/
   ```

   위치:
   + S3 버킷의 이름은 amzn-s3-demo-bucket입니다.

------
#### [ Windows ]

   ```
   aws s3 ls s3://amzn-s3-demo-bucket/
   ```

   위치:
   + S3 버킷의 이름은 amzn-s3-demo-bucket입니다.

------

이 단계가 끝나면 Amazon Comprehend 개체 분석 출력을 Amazon Kendra 메타데이터로 변환하게 됩니다. 이제 Amazon Kendra 인덱스를 생성할 준비가 완료되었습니다.