위의 가이드대로 s3 버킷의 데이터를 Athena로 설정하시고 나신 후에 쿼리 편집기에서 다음의 쿼리를 실행합니다. **1. 성공 쿼리를 제외한 버킷명, httpstatus, errorcode, 카운트에 대한 내용
SELECT bucket_name
, httpstatus
, errorcode
, count(*)
FROM s3_access_logs_db.s3_logs
WHERE NOT httpstatus IN ('200')
AND parse_datetime(requestdatetime,'dd/MMM/yyyy:HH:mm:ss Z')
BETWEEN parse_datetime('2020-10','yyyy-MM')
AND parse_datetime('2021-03','yyyy-MM')
GROUP BY bucket_name
, httpstatus
, errorcode;
# 여기에 버킷을 제한하고 싶으시면 where절에 AND Bucket_name='XXXXXX'을 넣어주시기 바랍니다. 2. 명시한 기간에 버킷에 요청하는 모든 익명 요청자 표시
SELECT bucket_name
, Requester
, RemoteIP
, Key
, HTTPStatus
, ErrorCode
, RequestDateTime
FROM s3_access_logs_db.s3_logs
WHERE Requester IS NULL
AND parse_datetime(requestdatetime,'dd/MMM/yyyy:HH:mm:ss Z')
BETWEEN parse_datetime('2020-10','yyyy-MM')
AND parse_datetime('2021-03','yyyy-MM')
AND Bucket_name='XXXXXX'
GROUP BY Bucket_name
, Requester
, RemoteIP
, Key
, HTTPStatus
, ErrorCode
, RequestDateTime;
3. 작업, 전송된 바이트, 객체 크기, 카운트에 대한 쿼리
SELECT bucket_name as bucket
, operation as operation
, SUM(bytessent) as byte
, SUM(objectsize) as size
, count(*) as cnt
FROM s3_access_logs_db.s3_logs
WHERE parse_datetime(RequestDateTime,'dd/MMM/yyyy:HH:mm:ss Z')
BETWEEN parse_datetime('2021-03-01:00:00:00','yyyy-MM-dd:HH:mm:ss')
AND parse_datetime('2021-03-31:23:59:42','yyyy-MM-dd:HH:mm:ss')
GROUP BY bucket_name
,operation