최신 업데이트:2025-08-18 15:49:47
통계 API 인터페이스는 다음과 같은 기능을 제공합니다:
GET /bucketname?statistics&type=requests&method=PUT&startTime=201707200244 HTTP/1.1
Host: Bucket.Endpoint
Date: Date
Authorization: Authorization
이 인터페이스의 파라미터는 아래와 같습니다:
| 이름 | 설명 | 필수 여부 |
|---|---|---|
| type | 통계 타입. 선택 가능한 값: requests(요청 수), bandwidth(대역폭), ObjectNum(오브젝트 수) |
예 |
| startTime | 통계를 시작할 시간(분 단위까지 정확히 지정). endTime이 지정되면, startTime~endTime 구간의 데이터를 조회하며 두 시간 간격은 1주일을 초과할 수 없습니다. 형식: YYYYMMDDhhmmss |
예 |
| endTime | 통계의 종료 시간. 형식: YYYYMMDDhhmmss |
아니오 |
| method | 모니터링 데이터의 요청 메서드. 오브젝트 수 조회 시에는 이 파라미터가 무시됩니다. 선택 가능한 값: PUT / POST |
예 |
common request headers 를 사용합니다.
요청 본문은 필요하지 않습니다.
HTTP/1 status_code
x-amz-request-id: request id
Date: date
Content-Type: type
Content-Length: length
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<StatisticsResult xmlns="http://wcs.chinanetcenter.com/document">
<Owner>Owner</Owner>
<Bucket>Bucket</Bucket>
<Type>Type</Type>
<Operation>Operation</Operation>
<StartTime>StartTime</StartTime>
<EndTime>EndTime</EndTime>
<Results time="2017-07-23 02:44">2472</Results>
<Results time="2017-07-23 02:45">2546</Results>
……
</StatisticsResult>
common response headers 를 사용합니다.
응답에 포함된 각 요소의 설명은 아래 표와 같습니다:
| 필드명 | 설명 |
|---|---|
| StatisticsResult | 응답의 루트 노드. 자식 노드: Owner, Bucket, Type, StartTime, EndTime, Results 타입: XML 부모 노드: 없음 |
| Owner | 버킷 소유자. 자식 노드: 없음 부모 노드: StatisticsResult 타입: String |
| Bucket | 버킷 이름. 자식 노드: 없음 부모 노드: StatisticsResult 타입: String |
| Type | 통계 타입. 자식 노드: 없음 부모 노드: StatisticsResult 타입: String (requests/bandwidth/ObjectNum) |
| Operation | 요청 메서드. 자식 노드: 없음 부모 노드: StatisticsResult 타입: String (PUT/POST) 오브젝트 개수 조회 시에는 이 필드가 비어 있습니다 |
| StartTime | 통계 시작 시간. 자식 노드: 없음 부모 노드: StatisticsResult 타입: String (형식: YYYYMMDDhhmm) |
| EndTime | 통계 종료 시간. 자식 노드: 없음 부모 노드: StatisticsResult 타입: String (형식: YYYYMMDDhhmm) |
| Results | 통계 결과. 자식 노드: 없음 부모 노드: StatisticsResult 타입: String |
| 시나리오 | HTTP 상태 코드 | 오류 코드 | 메시지 |
|---|---|---|---|
| 요청에 필수 파라미터가 누락된 경우 | 400 Bad Request | InvalidArgument | Please provide parameter {parameter name} |
| 서브 리소스 오타 또는 누락된 경우 | 405 Method Not Allowed | MethodNotAllowed | MethodNotAllowed |
| Method가 허용된 값이 아님 (GET, HEAD, POST, PATCH, DELETE, OPTIONS, TRACE 이외의 경우) | 400 Bad Request | InvalidArgument | Method is invalid |
| startTime/endTime 파라미터 형식이 올바르지 않은 경우 | 400 Bad Request | InvalidArgument | {parameter name} is Invalid |
| startTime이 현재 시간보다 늦은 경우 | 400 Bad Request | InvalidArgument | {parameter name} is invalid |
| startTime이 endTime보다 늦은 경우 | 400 Bad Request | InvalidArgument | The startTime must be less than endTime |
| endTime이 현재 시간보다 늦은 경우 | 400 Bad Request | InvalidArgument | {parameter name} is invalid |
| URL이 만료된 경우 | 403 Forbidden | RequestTimeTooSkewed | The difference between the request time and the current time is too large. |
| 조회 구간이 1주일을 초과한 경우 | 400 Bad Request | InvalidArgument | The difference between the startTime and endTime must be less than one week. |
| type 값이 지원되지 않는 경우(오타나 미지원 쿼리) | 400 Bad Request | InvalidArgument | Parameter Type only support requests and bandwidth |
| 1분 내에 동일 요청을 두 번 이상 보낸 경우 | 429 Too Many Requests | TooManyRequests | You have sent too many requests in a given amount of time. |