Package google.longrunning

Dizin

İşlemler

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

Bir API yönteminin tamamlanması genelde uzun sürerse istemciye Operation döndürecek şekilde tasarlanabilir. İstemci bu arayüzü kullanarak işlem kaynağını yoklayarak gerçek yanıtı eşzamansız olarak alabilir veya yanıtı almak için işlem kaynağını başka bir API'ye (Pub/Sub API gibi) aktarabilir. Uzun süreli işlemler döndüren API hizmetleri, geliştiricilerin tutarlı bir istemci deneyimi yaşayabilmesi için Operations arayüzünü uygulamalıdır.

CancelOperation

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 geleni yapar, ancak başarı 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 iptale rağmen işlemin tamamlanıp tamamlanmadığını kontrol etmek için Operations.GetOperation yöntemini ya da diğer yöntemleri kullanabilir. Başarılı bir iptal işlemiyle ilgili işlem silinmez. Bunun yerine, Code.CANCELLED değerine karşılık gelen 1/1 google.rpc.Status.code ile bir Operation.error değerine sahip işlem haline gelir.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamını gerektirir:

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

rpc DeleteOperation(DeleteOperationRequest) returns (Empty)

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

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamını gerektirir:

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

rpc GetOperation(GetOperationRequest) returns (Operation)

Uzun süreli 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 kapsamını gerektirir:

  • https://www.googleapis.com/auth/cloud-platform
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 kapsamını gerektirir:

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

rpc WaitOperation(WaitOperationRequest) returns (Operation)

Belirtilen uzun süreli işlem tamamlanana kadar bekler veya en fazla belirtilen zaman aşımına uğrar ve en son durumu döndürür. İşlem zaten tamamlanmışsa en son durum hemen döndürülür. Belirtilen zaman aşımı varsayılan HTTP/RPC zaman aşımından uzunsa 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öntemde mümkün olduğunca fazla çaba sarf edildiğini hatırlatmak isteriz. Belirtilen zaman aşımı süresinden önceki en son durumu döndürebilir (hemen sonra da dahil). Diğer bir deyişle, anında yanıt verilmesi bile işlemin tamamlandığını garanti etmez.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamını gerektirir:

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

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ı sonucunda gerçekleşen uzun süreli bir işlemi temsil eder.

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

Any

İş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.

done

bool

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

Status

Hata veya iptal durumunda işlemin hata sonucu.

response

Any

İş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.

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 süre olacaktır. RPC bağlamı son tarihi de belirtilmişse daha kısa olan süre kullanılır.