Package google.rpc

색인

상태

Status 유형은 REST API, RPC API를 비롯하여 다양한 프로그래밍 환경에 적합한 논리적 오류 모델을 정의하며, gRPC에서 사용됩니다. 오류 모델은 다음과 같이 디자인되었습니다.

  • 대부분의 사용자가 쉽게 사용하고 이해할 수 있는 단순성
  • 예기치 않은 요구사항에 대응할 수 있는 유연성

개요

Status 메시지에는 오류 코드, 오류 메시지, 오류 세부정보라는 3가지 데이터가 포함됩니다. 오류 코드는 google.rpc.Code의 열거형 값이어야 하지만 필요한 경우 추가 오류 코드를 허용할 수 있습니다. 오류 메시지는 개발자가 문제를 understand하고 understand하는 데 도움이 되도록 개발자에게 정보를 제공하는 영문 메시지여야 합니다. 사용자에게 정보를 제공하는 현지화된 오류 메시지가 필요하다면 오류 세부정보에 지역화된 메시지를 넣거나 클라이언트에서 메시지를 현지화하면 됩니다. 선택사항인 오류 세부정보에는 오류에 대한 임의의 정보가 포함될 수 있습니다. 일반적인 오류 조건에 사용할 수 있는 google.rpc 패키지에는 사전 정의된 오류 세부정보 유형이 있습니다.

언어 매핑

Status 메시지는 오류 모델의 논리적 표현이지만 실제 유선 형식일 필요는 없습니다. Status 메시지는 다양한 클라이언트 라이브러리 및 다양한 전송 프로토콜에 노출됨에 따라 서로 다르게 매핑될 수 있습니다. 예를 들어 자바에서는 특정한 예외에 매핑되고, C에서는 특정한 오류 코드에 매핑되는 것이 보통입니다.

기타 용도

오류 모델과 Status 메시지는 API 유무에 관계없이 다양한 환경에서 사용할 수 있으며 다양한 환경에서 일관된 개발자 실험 환경을 제공합니다.

예를 들어 다음과 같은 용도로 이 오류 모델을 사용할 수 있습니다.

  • 부분적인 오류: 서비스에서 클라이언트에 부분적인 오류를 반환해야 한다면 정상 응답에 Status를 포함하여 부분적인 오류를 나타낼 수 있습니다.

  • 워크플로 오류: 일반적인 워크플로는 여러 단계로 구성됩니다. 각 단계에서 Status 메시지로 오류를 보고할 수 있습니다.

  • 일괄 작업: 클라이언트에서 일괄 요청 및 일괄 응답을 사용한다면 일괄 응답 내에서 각 오류 하위 응답에 하나씩 직접 Status 메시지를 사용할 수 있습니다.

  • 비동기 작업: API 호출이 응답에 비동기 작업 결과를 삽입하는 경우 Status 메시지를 사용하여 해당 작업의 상태를 직접 표현해야 합니다.

  • 로깅: 로그에 특정 API 오류가 저장되어 있으면 보안 및 개인정보 보호를 위해 삭제를 수행한 후 메시지 Status를 직접 사용할 수 있습니다.

필드
code

int32

상태 코드로, google.rpc.Code의 열거형 값이어야 합니다.

message

string

개발자에게 정보를 제공하는 오류 메시지로, 영어로 작성되어야 합니다. 사용자에게 표시되는 모든 오류 메시지는 현지화되어 google.rpc.Status.details 필드에 전송되거나, 클라이언트 측에서 현지화되어야 합니다.

details[]

Any

오류 세부정보를 설명하는 메시지 목록입니다. API에서 사용할 일반적인 메시지 유형 집합이 있습니다.