Package google.rpc

색인

Status

Status 유형은 REST API, RPC API를 비롯하여 다양한 프로그래밍 환경에 적합한 논리적 오류 모델을 정의하며, gRPC에 사용되고 있습니다. 이 오류 모델의 설계 목표는 다음과 같습니다.

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

개요

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