Operation

Bu kaynak, bir ağ API çağrısının sonucu olan 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 ve yalnızca orijinali döndüren hizmette benzersiz olan ad. Varsayılan HTTP eşlemesini kullanırsanız name, operations/{unique_id} ile biten bir kaynak adı olmalıdır.

metadata

object

İşlemle ilişkili hizmete özel meta veriler. Genellikle ilerleme durumu bilgilerinin yanı sıra oluşturma zamanı gibi yaygın meta verileri içerir. Bazı hizmetler bu tür meta verileri sağlamayabilir. Uzun süreli bir işlem döndüren tüm yöntemler meta veri türünü (varsa) belgelemelidir.

İsteğe bağlı türlere sahip alanları içeren bir nesne. Ek bir alan ("@type"), türü tanımlayan bir URI içeriyor. Örnek: { "id": 1234, "@type": "types.example.com/standard/id" }.

done

boolean

Değer false ise işlem devam ediyor demektir. true ise işlem tamamlanır ve error veya response kullanılabilir.

Birlik alanı result. error veya geçerli bir response olabilecek işlem sonucu. done == false ise error veya response ayarlanmamıştır. done == true ise tam olarak error veya response seçeneklerinden biri ayarlanabilir. Bazı hizmetler sonucu sağlamayabilir. result aşağıdakilerden yalnızca biri olabilir:
error

object (Status)

Başarısızlık veya iptal durumunda işlemin hata sonucu.

response

object

Başarılı olması durumunda işlemin normal yanıtı. Orijinal yöntem, Delete gibi başarı hakkında veri döndürmezse yanıt 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 XxxResponse türünde olmalıdır. Burada Xxx, orijinal yöntem adıdır. Örneğin, orijinal yöntemin adı TakeSnapshot() ise tahmin edilen yanıt türü TakeSnapshotResponse'dır.

İsteğe bağlı türlere sahip alanları içeren bir nesne. Ek bir alan ("@type"), türü tanımlayan bir URI içeriyor. Örnek: { "id": 1234, "@type": "types.example.com/standard/id" }.

Durum

Status türü, REST API'leri ve TBG API'leri de dahil olmak üzere farklı programlama ortamları için uygun olan bir mantıksal hata modeli tanımlar. gTB tarafından kullanılır. Her Status mesajı üç parça veri içerir: hata kodu, hata mesajı ve hata ayrıntıları.

Bu hata modeli ve nasıl çalışılabileceği hakkında daha fazla bilgiyi API Tasarım Kılavuzu'ndan edinebilirsiniz.

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

integer

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

message

string

Geliştiricinin görebileceği hata mesajı (İngilizce olmalıdır). Kullanıcıya 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 iletilerin listesi. API'lerin kullanması gereken yaygın bir mesaj türü grubu vardır.

İsteğe bağlı türlere sahip alanları içeren bir nesne. Ek bir alan ("@type"), türü tanımlayan bir URI içeriyor. Örnek: { "id": 1234, "@type": "types.example.com/standard/id" }.