

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

# 효과적인 데이터 관리를 위한 Amazon SNS 구성 테스트 및 쿼리
<a name="firehose-example-test-and-query"></a>

이 주제에서는 Amazon SNS 주제에 메시지를 게시하여 [메시지 아카이브 및 분석 예제 사용 사례](firehose-example-use-case.md)를 테스트하는 방법을 설명합니다. 지침에는 실행하고 필요에 맞게 조정할 수 있는 예제 쿼리가 포함되어 있습니다.

**구성을 테스트하려면**

1. Amazon SNS 콘솔의 [주제 페이지](https://console.aws.amazon.com/sns/home#/topics)를 엽니다.

1. **ticketTopic** 주제를 선택을 선택합니다.

1. **메시지 게시**를 선택합니다.

1. **주제에 메시지 게시** 페이지에서 메시지 본문에 대해 다음을 입력합니다. 메시지 끝에 줄바꿈 문자를 추가합니다.

   ```
   {"BookingDate":"2020-12-15","BookingTime":"2020-12-15 04:15:05","Destination":"Miami","FlyingFrom":"Vancouver","TicketNumber":"abcd1234"}
   ```

   다른 모든 옵션을 기본값으로 유지합니다.

1. **메시지 게시**를 선택합니다.

   메시지 게시에 대한 자세한 정보는 [Amazon SNS 메시지 게시](sns-publishing.md)에서 확인하세요.

1. 60초의 전송 스트림 간격 후에 [Amazon Simple Storage Service(Amazon S3) 콘솔](https://console.aws.amazon.com/s3/home)을 열고 [최초로 생성](firehose-example-initial-resources.md)한 Amazon S3 버킷을 선택합니다.

   버킷에 게시된 메시지가 표시됩니다.

**데이터를 쿼리하려면**

1. [Amazon Athena 콘솔](https://console.aws.amazon.com/athena/home)을 엽니다.

1. 쿼리를 실행합니다.

   예를 들어 `default` 스키마의 `notifications` 테이블에 다음 데이터가 포함되어 있다고 가정합니다.

   ```
   {"BookingDate":"2020-12-15","BookingTime":"2020-12-15 04:15:05","Destination":"Miami","FlyingFrom":"Vancouver","TicketNumber":"abcd1234"}
   {"BookingDate":"2020-12-15","BookingTime":"2020-12-15 11:30:15","Destination":"Miami","FlyingFrom":"Omaha","TicketNumber":"efgh5678"}
   {"BookingDate":"2020-12-15","BookingTime":"2020-12-15 3:30:10","Destination":"Miami","FlyingFrom":"NewYork","TicketNumber":"ijkl9012"}
   {"BookingDate":"2020-12-15","BookingTime":"2020-12-15 12:30:05","Destination":"Delhi","FlyingFrom":"Omaha","TicketNumber":"mnop3456"}
   ```

   최상위 대상을 찾으려면 다음 쿼리를 실행합니다.

   ```
   SELECT destination
   FROM default.notifications
   GROUP BY destination
   ORDER BY count(*) desc
   LIMIT 1;
   ```

   특정 날짜 및 시간 범위 동안 판매된 티켓을 쿼리하려면 다음과 같은 쿼리를 실행합니다.

   ```
   SELECT * 
   FROM default.notifications 
   WHERE bookingtime 
     BETWEEN TIMESTAMP '2020-12-15 10:00:00' 
     AND TIMESTAMP '2020-12-15 12:00:00';
   ```

   필요에 따라 두 샘플 쿼리를 모두 적용할 수 있습니다. Athena를 사용하여 쿼리를 실행하는 방법에 대한 자세한 정보는 *Amazon Athena 사용 설명서*의 [시작하기](https://docs.aws.amazon.com/athena/latest/ug/getting-started.html)를 참조하세요.

## 정리
<a name="firehose-example-cleanup"></a>

테스트를 완료한 후 사용 요금이 발생하지 않도록 하려면 자습서 중에 생성한 다음 리소스를 삭제하세요.
+ Amazon SNS 구독
+ Amazon SNS 주제
+ Amazon Simple Queue Service(Amazon SQS) 대기열
+ Amazon S3 버킷
+  전송 스트림
+ AWS Identity and Access Management (IAM) 역할 및 정책