이 페이지에서는 Zerobus 수집 API에서 반환된 오류 코드와 클라이언트에서 이를 처리하는 방법을 설명합니다. 실패한 요청을 진단하거나 통합에서 오류 처리 논리를 구현할 때 이 참조를 사용합니다.
오류 응답 형식
오류 응답에는 머신에서 읽을 수 있는 오류 코드와 사용자가 읽을 수 있는 메시지가 포함되며 프로토콜에 적합한 형식으로 배달됩니다.
REST(JSON)
오류 응답은 적절한 HTTP 상태 코드가 있는 JSON으로 반환됩니다.
{
"error_code": "NOT_FOUND",
"message": "Table \"catalog.schema.table\" cannot be found."
}
| 분야 | 유형 | 설명 |
|---|---|---|
| 오류 코드 | 문자열 | 오류 범주를 식별하는 컴퓨터에서 읽을 수 있는 오류 코드입니다. 이를 사용하여 프로그래밍 방식으로 오류를 처리하는 방법을 결정합니다. |
| 메시지 | 문자열 | 사람이 읽을 수 있는 오류 설명입니다. 문제 해결을 위한 추가 진단 정보가 포함될 수 있습니다. 이 필드를 프로그래밍 방식으로 구문 분석하지 마세요. 형식은 예고 없이 변경됩니다. |
gRPC
오류 응답은 응답 트레일러를 통해 전달되는 표준 gRPC 상태 코드를 사용합니다.
| 트레일러 | 설명 |
|---|---|
| grpc-status | 숫자 상태 코드(예: 3INVALID_ARGUMENT 이를 사용하여 프로그래밍 방식으로 오류를 처리하는 방법을 결정합니다. |
| grpc 메시지 | 사람이 읽을 수 있는 오류 설명입니다. 문제 해결을 위한 추가 진단 정보가 포함될 수 있습니다. 이 필드를 프로그래밍 방식으로 구문 분석하지 마세요. 형식은 예고 없이 변경됩니다. |
오류 코드
다음 섹션에서는 Zerobus 수집 API에서 반환된 오류 코드, 해당 프로토콜 수준 코드 및 권장되는 클라이언트 동작에 대해 설명합니다.
클라이언트 오류
이러한 오류는 요청에 문제가 있음을 나타냅니다. 요청을 수정하지 않고 다시 시도하지 마세요.
| 오류 코드(REST) | gRPC 코드 | HTTP 상태 | 설명 | 권장 작업 |
|---|---|---|---|---|
INVALID_PARAMETER_VALUE |
INVALID_ARGUMENT(3) |
400 | 요청에는 누락된 필수 필드, 잘못된 스키마 또는 지원되지 않는 레코드 형식과 같은 잘못되었거나 형식이 잘못된 입력이 포함됩니다. | 요청을 수정하고 다시 제출합니다.
message 필드를 검사하여 잘못된 매개 변수에 대한 세부 정보를 확인하세요. |
NOT_FOUND |
NOT_FOUND(5) |
404 | 요청된 리소스가 없습니다. 예를 들어 지정된 테이블을 찾을 수 없습니다. | 리소스 이름이 올바르고 존재하는지 확인합니다. |
NOT_IMPLEMENTED |
UNIMPLEMENTED(12) |
501 | 요청된 작업은 지원되지 않습니다. 예를 들어 테이블은 지원되지 않는 기능 또는 데이터 형식을 사용합니다. | 다시 시도하지 마세요.
message 지원되지 않는 내용에 대한 자세한 내용은 필드를 확인합니다. |
인증 및 권한 부여 오류
이러한 오류는 호출자의 ID 또는 사용 권한과 관련된 문제를 나타냅니다. 동일한 자격 증명으로 다시 시도하지 마세요.
| 오류 코드(REST) | gRPC 코드 | HTTP 상태 | 설명 | 권장 작업 |
|---|---|---|---|---|
UNAUTHENTICATED |
UNAUTHENTICATED(16) |
401 | 요청에 유효한 인증 자격 증명이 없습니다. 토큰이 없거나, 비어 있거나, 만료되었거나, 유효하지 않을 수 있습니다. | 유효한 인증 토큰을 새로 고치거나 제공하고 다시 시도합니다. |
PERMISSION_DENIED |
PERMISSION_DENIED(7) |
403 | 호출자에게 지정된 리소스에 대해 요청된 작업을 수행할 수 있는 충분한 권한이 없습니다. | 호출자에게 대상 리소스에 필요한 권한(예: MODIFY, , SELECT, USE_CATALOGUSE_SCHEMA)이 있는지 확인합니다. |
서버 오류
이러한 오류는 서버 쪽에서 문제를 나타냅니다. 지수 백오프와 지터를 사용하여 재시도하십시오.
| 오류 코드(REST) | gRPC 코드 | HTTP 상태 | 설명 | 권장 작업 |
|---|---|---|---|---|
UNAVAILABLE |
UNAVAILABLE(14) |
503 | 서비스가 일시적으로 요청을 처리할 수 없습니다. 이것은 일반적으로 일시적인 상태입니다. | 지수 백오프와 지터를 사용하여 재시도하십시오. |
RESOURCE_EXHAUSTED |
RESOURCE_EXHAUSTED(8) |
429 | 서비스가 리소스 제한으로 인해 요청을 거부합니다. | 가능하면 요청 동시성을 줄입니다. 지수 백오프와 지터를 사용하여 재시도하십시오. |
INTERNAL_ERROR |
INTERNAL(13) |
500 | 예기치 않은 내부 오류가 발생했습니다. | 다시 시도하지 마세요. 지원에 문의하고 진단에 대한 전체 오류 응답을 제공합니다. |