다음 섹션에서는 v2 및 v1 리소스 메서드에 대한 오류 모델을 설명합니다.
v2 자원 오류 모델
기본적으로 리소스 메서드는 200 OK 상태로 응답합니다. 요청이 성공하지 않으면 Open Cloud는 표준 오류 코드를 반환합니다. 모든 오류 응답은 동일한 형식을 가지고 있으며, 다음을 포함합니다.
- code - HTTP 상태 코드를 나타냅니다.
- message - 오류를 설명하는 메시지.
- details - 오류에 대한 자세한 내용을 포함하는 개체.
예시 오류
{
"code": "INVALID_ARGUMENT",
"message": "The provided filter is invalid.",
"details": [
{
...
}
]
}
코드
다음 표에서는 code 에 대한 가능한 값을 설명합니다.
코드 | HTTP 상태 | 설명 |
---|---|---|
INVALID_ARGUMENT | 400 | 유효하지 않은 인수, 예를 들어 유효하지 않은 universeId 를 지정했습니다. 또한 콘텐츠 길이 Content-Length 및 유효하지 않은 형식 Content-Type 을 가질 수 있습니다. |
PERMISSION_DENIED | 403 | 요청에 필요한 권한이나 범위가 충분하지 않습니다. |
NOT_FOUND | 404 | 데이터 저장소 항목과 같은 지정된 리소스를 시스템이 찾을 수 없습니다. |
ABORTED | 409 | 작업이 중단되었습니다. |
RESOURCE_EXHAUSTED | 429 | 작업을 수행할 쿼터가 충분하지 않습니다. 일반적으로 너무 많은 요청을 보내기 때문입니다. |
CANCELLED | 499 | 시스템이 요청을 종료하는 경우, 일반적으로 클라이언트 측 타임아웃 때문입니다. |
INTERNAL | 500 | 일반적으로 서버 버그 때문에 발생하는 내부 서버 오류. |
NOT_IMPLEMENTED | 501 | 서버는 API 메서드를 구현하지 않습니다. |
UNAVAILABLE | 503 | 서비스는 일반적으로 서버가 다운될 때 반환됩니다. |
v1 리소스 오류 모델
모든 오류 응답에는 동일한 표준 형식이 포함되어 있으며, 다음을 포함합니다.
- 모든 Open Cloud 엔드포인트에 적용할 수 있는 고위험 원인인 error 필드.
- 오류 설명을 더 설명하는 오류 message , which further explains the error.
- 각 API에 대해 특정인 오류의 자세한 정보를 담는 errorDetails 개체.
오류의 근본 원인을 분석하려면 error 필드의 값과 errorDetails 필드를 참조하십시오. message 필드를 보조 오류 처리용으로 사용하십시오, 때로는 같은 수준의 세부 정보를 덮을 수 없습니다. 2>ErrorDetails2> 필드.
일반적인 데이터 저장소 오류 응답 예시
{
"error": "INVALID_ARGUMENT",
"message": "Invalid cursor.",
"errorDetails": [
{
"errorDetailType": "DatastoreErrorInfo",
"datastoreErrorCode": "InvalidCursor"
}
]
}
예시 오류 응답은 고도 레벨의 Open Cloud error 를 INVALID_
모든 주문된 데이터 저장소의 오류 응답은 동일한 형식을 가지고 있습니다. 여기에는 다음이 포함됩니다.
주문된 DataStores 오류 응답 예시
{
"code": "INVALID_ARGUMENT",
"message": "Invalid cursor."
}
코드 는 오류의 높은 수준 오류 문자열을 포함하고 message 는 오류와 관련된 특정 세부 정보를 포함합니다.
코드
다음 표에서 모든 고위급 Open Cloud 오류의 개요를 참조하십시오.
HTTP 상태 코드 | 오류 | 설명 |
---|---|---|
400 | 유효하지 않은 인수 | 유효하지 않은 인수, 예를 들어 유효하지 않은 universeId 를 지정했습니다. 또한 콘텐츠 길이 Content-Length 및 유효하지 않은 형식 Content-Type 을 가질 수 있습니다. |
403 | INSUFFICIENT_SCOPE | 요청에는 액세스 토큰으로 제공하는 것보다 높은 권한이 필요합니다. |
403 | 권한_거부 | 요청에 필요한 범위가 충분하지 않습니다. |
404 | 찾을 수 없음 | 데이터 상점등의 지정된 리소스를 찾을 수 없습니다. |
409 | 중단됨 | 유니버스가 아닌 장소를 게시하는 등의 콜리슨으로 인해 작업이 중단되었습니다. |
429 | 리소스_정보 | 작업을 수행할 쿼터가 충분하지 않습니다. 일반적으로 너무 많은 요청을 보내기 때문입니다. |
499 | 취소됨 | 시스템이 요청을 종료하는 경우, 일반적으로 클라이언트 측 타임아웃 때문입니다. |
500 | 내부 | 내부 서버 오류. 일반적으로 서버 버그입니다. |
501 | 구현되지 않음 | 서버는 API 메서드를 구현하지 않습니다. |
503 | 사용 불가 | 서비스를 사용할 수 없습니다. 일반적으로 서버가 다운되어 있습니다. |