Package google.rpc

Dizin

Durum

Status türü, REST API'ler ve RPC API'leri dahil olmak üzere farklı programlama ortamları için uygun bir mantıksal hata modeli tanımlar. gRPC tarafından kullanılır. Hata modeli şöyle tasarlanmıştır:

  • Çoğu kullanıcı için kullanımı ve anlaşılması kolaydır
  • Beklenmedik ihtiyaçları karşılayacak kadar esneklik

Genel bakış

Status mesajı üç veri parçası içerir: hata kodu, hata mesajı ve hata ayrıntıları. Hata kodu, google.rpc.Code sıralama değeri olmalıdır, ancak gerekirse ek hata kodlarını kabul edebilir. Hata mesajı, geliştiricilerin hatayı understand ve understand yardımcı olan, geliştiricilere yönelik İngilizce bir mesaj olmalıdır. Kullanıcıya yönelik yerelleştirilmiş bir hata mesajı gerekiyorsa yerelleştirilmiş mesajı hata ayrıntılarına yerleştirin veya mesajı istemcide yerelleştirin. İsteğe bağlı hata ayrıntıları, hata hakkında rastgele bilgiler içerebilir. google.rpc paketinde, yaygın hata koşulları için kullanılabilecek önceden tanımlanmış bir dizi hata ayrıntısı türü vardır.

Dil eşleme

Status mesajı, hata modelinin mantıksal temsilidir, ancak gerçek kablo biçimi olması gerekmez. Status mesajı farklı istemci kitaplıklarında ve farklı kablo protokollerinde gösterildiğinde farklı şekilde eşlenebilir. Örneğin, büyük olasılıkla Java'daki bazı istisnalarla, ancak C'deki bazı hata kodlarıyla eşlenir.

Diğer kullanım alanları

Hata modeli ve Status mesajı, farklı ortamlarda tutarlı bir geliştirici deneyimi sağlamak için API'li veya API'siz çeşitli ortamlarda kullanılabilir.

Bu hata modelinin kullanım örnekleri arasında şunlar yer alır:

  • Kısmi hatalar. Bir hizmetin istemciye kısmi hatalar döndürmesi gerekiyorsa kısmi hataları belirtmek için Status öğesini normal yanıta yerleştirebilir.

  • İş akışı hataları. Tipik bir iş akışında birden fazla adım vardır. Her adımda, hata raporlama için bir Status mesajı olabilir.

  • Toplu işlemler. Bir istemci toplu istek ve toplu yanıt kullanıyorsa Status mesajı, her hata alt yanıtı için bir tane olmak üzere doğrudan toplu yanıtın içinde kullanılmalıdır.

  • Eşzamansız işlemler. Bir API çağrısı yanıt olarak eşzamansız işlem yerleştirirse bu işlemlerin durumu doğrudan Status mesajı kullanılarak gösterilmelidir.

  • Günlük kaydı. Bazı API hataları günlüklerde depolanıyorsa güvenlik/gizlilik nedeniyle gerekli kaldırma işlemlerinden hemen sonra Status mesajı kullanılabilir.

Alanlar
code

int32

google.rpc.Code değerinin enum değeri olması gereken durum kodu.

message

string

Geliştiricinin karşılaştığı İngilizce hata mesajı. Kullanıcılara yönelik tüm hata mesajları yerelleştirilip google.rpc.Status.details alanında gönderilmeli veya istemci tarafından yerelleştirilmelidir.

details[]

Any

Hata ayrıntılarını içeren mesajların listesi. API'lerin kullanabileceği yaygın bir dizi mesaj türü vardır.