Operation

Bu kaynak, bir ağ API çağrısı sonucunda gerçekleşen uzun süreli bir işlemi temsil eder.

JSON gösterimi
{
  "name": string,
  "metadata": {
    "@type": string,
    field1: ...,
    ...
  },
  "done": boolean,

  // Union field result can be only one of the following:
  "error": {
    object (Status)
  },
  "response": {
    "@type": string,
    field1: ...,
    ...
  }
  // End of list of possible types for union field result.
}
Alanlar
name

string

Sunucu tarafından atanan ad; bu ad, yalnızca sunucuyu ilk döndüren hizmette benzersizdir. Varsayılan HTTP eşlemesini kullanıyorsanız name, operations/{unique_id} ile biten bir kaynak adı olmalıdır.

metadata

object

İşlemle ilişkilendirilen hizmete özgü meta veriler. Bu veriler genellikle ilerleme bilgilerinin yanı sıra oluşturma zamanı gibi genel meta verileri içerir. Bazı hizmetler bu tür meta verileri sağlamayabilir. Uzun süreli bir işlem döndüren yöntemler, varsa meta veri türünü belgelemelidir.

Rastgele türde alanlar içeren bir nesne. "@type" adlı ek alan, türü tanımlayan bir URI içerir. Örnek: { "id": 1234, "@type": "types.example.com/standard/id" }.

done

boolean

Değer false ise işlemin devam ettiği anlamına gelir. true ise işlem tamamlanmıştır ve error veya response kullanılabilir.

Birleştirme alanı result. İşlemin sonucu. Bu değer, error veya geçerli bir response olabilir. done == false ise ne error ne de response ayarlanır. done == true ise tam olarak error veya response değerlerinden biri ayarlanabilir. Bazı hizmetler sonucu sağlamayabilir. result şunlardan yalnızca biri olabilir:
error

object (Status)

Hata veya iptal durumunda işlemin hata sonucu.

response

object

İşlemin normal, başarılı yanıtı. Orijinal yöntem başarılı olduğuna ilişkin hiçbir veri döndürmediyse yanıt (ör. Delete) google.protobuf.Empty olur. Orijinal yöntem standart Get/Create/Update ise yanıt kaynak olmalıdır. Diğer yöntemler için yanıtın türü XxxResponse olmalıdır. Burada Xxx, orijinal yöntemin adıdır. Örneğin, orijinal yöntemin adı TakeSnapshot() ise tahmin edilen yanıt türü TakeSnapshotResponse olur.

Rastgele türde alanlar içeren bir nesne. "@type" adlı ek alan, türü tanımlayan bir URI içerir. Örnek: { "id": 1234, "@type": "types.example.com/standard/id" }.

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. Her Status mesajı üç veri parçası içerir: hata kodu, hata mesajı ve hata ayrıntıları.

Bu hata modeli ve modelle nasıl çalışabileceğiniz hakkında daha fazla bilgiyi API Tasarım Kılavuzu'nda bulabilirsiniz.

JSON gösterimi
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Alanlar
code

integer

google.rpc.Code öğesinin 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[]

object

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

Rastgele türde alanlar içeren bir nesne. "@type" adlı ek alan, türü tanımlayan bir URI içerir. Örnek: { "id": 1234, "@type": "types.example.com/standard/id" }.