Package google.longrunning

Dizin

İşlemler

Uzun süreli işlemleri bir API hizmetiyle yönetir.

Bir API yönteminin tamamlanması normalde uzun sürdüğünde istemciye Operation değerini döndürecek şekilde tasarlanabilir. Böylece istemci, işlem kaynağını yoklayarak gerçek yanıtı eşzamansız olarak almak için bu arayüzü kullanabilir veya işlem kaynağını başka bir API'ye (Pub/Sub API gibi) ileterek yanıtı alabilir. Uzun süreli işlemler döndüren tüm API hizmetleri, geliştiricilerin tutarlı bir istemci deneyimine sahip olabilmesi için Operations arayüzünü uygulamalıdır.

İptal İşlemi

rpc CancelOperation(CancelOperationRequest) returns (Empty)

Uzun süreli bir işlemde eşzamansız iptali başlatır. Sunucu, işlemi iptal etmek için elinden gelenin en iyisini yapar, ancak işlemin başarılı olacağı garanti edilmez. Sunucu bu yöntemi desteklemiyorsa google.rpc.Code.UNIMPLEMENTED değerini döndürür. Müşteriler, iptal işleminin başarılı olup olmadığını veya işlemin iptale rağmen tamamlanıp tamamlanmadığını kontrol etmek için Operations.GetOperation yöntemini veya diğer yöntemleri kullanabilir. Başarılı iptal durumunda işlem silinmez. Bunun yerine, Code.CANCELLED öğesine karşılık gelen google.rpc.Status.code 1 olan Operation.error değerine sahip bir işlem haline gelir.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Daha fazla bilgi için Kimlik Doğrulamaya Genel Bakış başlıklı makaleye bakın.

DeleteOperation

rpc DeleteOperation(DeleteOperationRequest) returns (Empty)

Uzun süren bir işlemi siler. Bu yöntem, istemcinin artık işlem sonucuyla ilgilenmediğini gösterir. İşlem iptal edilmez. Sunucu bu yöntemi desteklemiyorsa google.rpc.Code.UNIMPLEMENTED değerini döndürür.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Daha fazla bilgi için Kimlik Doğrulamaya Genel Bakış başlıklı makaleye bakın.

GetOperation

rpc GetOperation(GetOperationRequest) returns (Operation)

Uzun süren bir işlemin en son durumunu alır. İstemciler, işlem sonucunu API hizmeti tarafından önerilen aralıklarla yoklamak için bu yöntemi kullanabilir.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Daha fazla bilgi için Kimlik Doğrulamaya Genel Bakış başlıklı makaleye bakın.

ListOperations

rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse)

İstekte belirtilen filtreyle eşleşen işlemleri listeler. Sunucu bu yöntemi desteklemiyorsa UNIMPLEMENTED değerini döndürür.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Daha fazla bilgi için Kimlik Doğrulamaya Genel Bakış başlıklı makaleye bakın.

WaitOperation

rpc WaitOperation(WaitOperationRequest) returns (Operation)

Belirtilen uzun süreli işlem tamamlanıncaya veya en fazla belirtilen bir zaman aşımına ulaşana kadar bekler ve en son durumu döndürür. İşlem zaten tamamlandıysa en son durum hemen döndürülür. Belirtilen zaman aşımı varsayılan HTTP/RPC zaman aşımından büyükse, HTTP/RPC zaman aşımı kullanılır. Sunucu bu yöntemi desteklemiyorsa google.rpc.Code.UNIMPLEMENTED değerini döndürür. Bu yöntemin en iyi çaba esasına göre olduğunu unutmayın. En son durumu, belirtilen zaman aşımından (hemen dahil) önce döndürebilir. Yani anında yanıt vermeniz bile işlemin tamamlanacağını garanti etmez.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Daha fazla bilgi için Kimlik Doğrulamaya Genel Bakış başlıklı makaleye bakın.

CancelOperationRequest

Operations.CancelOperation için istek mesajı.

Alanlar
name

string

İptal edilecek işlem kaynağının adı.

DeleteOperationRequest

Operations.DeleteOperation için istek mesajı.

Alanlar
name

string

Silinecek işlem kaynağının adı.

GetOperationRequest

Operations.GetOperation için istek mesajı.

Alanlar
name

string

İşlem kaynağının adı.

ListOperationsRequest

Operations.ListOperations için istek mesajı.

Alanlar
name

string

İşlemin üst kaynağının adı.

filter

string

Standart liste filtresi.

page_size

int32

Standart liste sayfası boyutu.

page_token

string

Standart liste sayfası jetonu.

ListOperationsResponse

Operations.ListOperations için yanıt mesajı.

Alanlar
operations[]

Operation

İstekte belirtilen filtreyle eşleşen işlemlerin listesi.

next_page_token

string

Standart Liste sonraki sayfa jetonu.

İşlem

Bu kaynak, bir ağ API çağrısının sonucu olan uzun süreli bir işlemi temsil eder.

Alanlar
name

string

Sunucu tarafından atanmış ad. Bu ad, yalnızca onu ilk döndüren hizmet içinde benzersizdir. Varsayılan HTTP eşlemesini kullanıyorsanız name, operations/{unique_id} ile biten bir kaynak adı olmalıdır.

metadata

Any

İşlemle ilişkili hizmete özgü meta veriler. Genellikle ilerleme durumu bilgilerini ve oluşturulma zamanı gibi ortak 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.

done

bool

Değer false ise işlemin devam ettiği anlamına gelir. true ise işlem tamamlanır ve error ya da response kullanılabilir.

Birleştirme alanı result. İşlem sonucu (error veya geçerli bir response olabilir). done == false ise error veya response ayarlanmamıştır. done == true ise tam olarak error veya response ayarlanabilir. Bazı hizmetler sonucu sağlamayabilir. result şunlardan yalnızca biri olabilir:
error

Status

Hata veya iptal durumunda işlemin hata sonucu.

response

Any

İşlemin normal ve başarılı yanıtı. Orijinal yöntem başarıyla ilgili hiçbir veri (ör. Delete) 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 olur.

WaitOperationRequest

Operations.WaitOperation için istek mesajı.

Alanlar
name

string

Beklenecek işlem kaynağının adı.

timeout

Duration

Zaman aşımına uğramadan önce beklenecek maksimum süre. Boş bırakılırsa, bekleme süresi en fazla temel HTTP/RPC protokolünün izin verdiği zaman olur. RPC bağlamı için son tarih de belirtilirse daha kısa olan kullanılır.