반응형
https://aws.amazon.com/ko/premiumsupport/knowledge-center/schedule-query-athena/
1. AWS IAM 서비스 역할 생성
- IAM 역할 생성에서 Athena, Amazon S3 및 Amazon CloudWatch Logs에 대한 액세스를 허용하는 정책을 연결
2. Lambda 함수를 생성 합니다.
- 함수생성 → 새로 작성 → 함수이름 입력 → 런타임: 파이썬 → 역할: 기존 역할 사용 → 함수 생성 클릭하여 함수를 생성 합니다.
3. 함수 코드 입력
default: Athena 데이터베이스 이름
SELECT * FROM default.tb: 데이터를 조회하는 테이블
s3://AWSDOC-EXAMPLE-BUCKET/: 쿼리 출력의 S3 버킷
import time
import boto3
query = 'SELECT * FROM default.tb'
DATABASE = 'default'
output='s3://AWSDOC-EXAMPLE-BUCKET/'
def lambda_handler(event, context):
query = "SELECT * FROM default.tb"
client = boto3.client('athena')
# Execution
response = client.start_query_execution(
QueryString=query,
QueryExecutionContext={
'Database': DATABASE
},
ResultConfiguration={
'OutputLocation': output,
}
)
return response
return
- 코드 입력 후 배포 클릭
- 쿼리 형태는 아래와 같은 포맷으로 맞춰줘야 한다.
# 테스트 쿼리
query = "SELECT * FROM athena_test_01.athena_test_zzanggu
WHERE description = 'WHITE METAL LANTERN';"
4. 규칙 생성
- Amazon EventBridge 서비스 콘솔을 열고, 탐색 창에서 규칙을 선택 → 규칙 생성을 클릭합니다.
- 규칙의 이름과 설명을 입력 → 패턴정의에서 예약을 선택
- Cron식은 아래의 내용을 참조
2021.04.24 - [분류] - Crontab 사용방법
- 모든 설정은 완료 후 생성을 클릭하여 이벤트 브릿지 생성을 마친다.
5. 이벤트 브릿지 리스트 확인
- 이벤트가 생성된 것을 확인 할 수있다.
- 그리고 생성 이벤트를 클릭하면 세부 정보를 확인 할 수 있다.
- 60분 마다 1회씩 람다 함수를 실행 시키는 이벤트 브릿지가 생성 되었다.
- 끝 -
반응형
'⭐ AWS > Athena' 카테고리의 다른 글
Athena Case Statement (0) | 2023.07.20 |
---|---|
ALB Access 로그를 S3에 저장 후 Athena를 통한 분석 (0) | 2022.07.22 |
Athena와 람다를 활용한 데이터 분석 (0) | 2022.01.18 |
AWS Athena에서 추가로 CSV 컬럼 추가하기 (0) | 2022.01.05 |
S3에 저장된 CSV 파일을 Athena로 분석하기 (0) | 2022.01.05 |