فهرست
-
Operations(رابط) -
CancelOperationRequest(پیام) -
DeleteOperationRequest(پیام) -
GetOperationRequest(پیام) -
ListOperationsRequest(پیام) -
ListOperationsResponse(پیام) -
Operation(پیام) -
WaitOperationRequest(پیام)
عملیات
عملیات طولانی مدت را با یک سرویس API مدیریت میکند.
وقتی یک متد API معمولاً زمان زیادی برای تکمیل شدن نیاز دارد، میتوان آن را طوری طراحی کرد که Operation به کلاینت برگرداند و کلاینت میتواند از این رابط برای دریافت پاسخ واقعی به صورت غیرهمزمان با نمونهبرداری از منبع عملیات استفاده کند، یا منبع عملیات را به API دیگری (مانند Pub/Sub API) برای دریافت پاسخ ارسال کند. هر سرویس API که عملیات طولانی مدت را برمیگرداند، باید رابط Operations را پیادهسازی کند تا توسعهدهندگان بتوانند یک تجربه کلاینت ثابت داشته باشند.
| لغو عملیات |
|---|
لغو ناهمزمان را در یک عملیات طولانی مدت شروع میکند. سرور تمام تلاش خود را برای لغو عملیات انجام میدهد، اما موفقیت تضمین شده نیست. اگر سرور از این روش پشتیبانی نکند،
|
| عملیات حذف |
|---|
یک عملیات طولانی مدت را حذف میکند. این متد نشان میدهد که کلاینت دیگر علاقهای به نتیجه عملیات ندارد. این متد عملیات را لغو نمیکند. اگر سرور از این متد پشتیبانی نکند،
|
| عملیات دریافت |
|---|
آخرین وضعیت یک عملیات طولانی مدت را دریافت میکند. کلاینتها میتوانند از این متد برای نظرسنجی از نتیجه عملیات در فواصل زمانی توصیه شده توسط سرویس API استفاده کنند.
|
| عملیات لیست |
|---|
عملیاتی را که با فیلتر مشخص شده در درخواست مطابقت دارند، فهرست میکند. اگر سرور از این روش پشتیبانی نکند،
|
| عملیات صبر کنید |
|---|
منتظر میماند تا عملیات طولانیمدت مشخصشده انجام شود یا حداکثر به یک مهلت زمانی مشخص برسد و آخرین وضعیت را برمیگرداند. اگر عملیات قبلاً انجام شده باشد، آخرین وضعیت بلافاصله برگردانده میشود. اگر مهلت زمانی مشخصشده بیشتر از مهلت زمانی پیشفرض HTTP/RPC باشد، از مهلت زمانی HTTP/RPC استفاده میشود. اگر سرور از این روش پشتیبانی نکند،
|
لغو درخواست عملیات
پیام درخواست برای Operations.CancelOperation .
| فیلدها | |
|---|---|
name | نام منبع عملیاتی که باید لغو شود. |
درخواست عملیات حذف
پیام درخواست برای Operations.DeleteOperation .
| فیلدها | |
|---|---|
name | نام منبع عملیاتی که قرار است حذف شود. |
درخواست عملیات دریافت
پیام درخواست برای Operations.GetOperation .
| فیلدها | |
|---|---|
name | نام منبع عملیات. |
درخواست عملیات لیست
پیام درخواست برای Operations.ListOperations .
| فیلدها | |
|---|---|
name | نام منبع والد عملیات. |
filter | فیلتر لیست استاندارد. |
page_size | اندازه استاندارد صفحه فهرست |
page_token | توکن استاندارد صفحه لیست. |
return_partial_success | وقتی روی این فقط میتواند هنگام خواندن بین مجموعهها این فیلد به طور پیشفرض پشتیبانی نمیشود و در صورت تنظیم، منجر به خطای |
پاسخ عملیات لیست
پیام پاسخ برای Operations.ListOperations .
| فیلدها | |
|---|---|
operations[] | فهرستی از عملیات که با فیلتر مشخص شده در درخواست مطابقت دارند. |
next_page_token | توکن استاندارد List next-page. |
unreachable[] | لیست نامرتب. منابع غیرقابل دسترس. زمانی که درخواست، |
عملیات
این منبع نشان دهنده یک عملیات طولانی مدت است که نتیجه یک فراخوانی API شبکه است.
| فیلدها | |
|---|---|
name | نام اختصاص داده شده توسط سرور، که فقط در همان سرویسی که در ابتدا آن را برمیگرداند، منحصر به فرد است. اگر از نگاشت پیشفرض HTTP استفاده میکنید، |
metadata | فرادادههای مختص سرویس مرتبط با عملیات. معمولاً شامل اطلاعات پیشرفت و فرادادههای رایج مانند زمان ایجاد است. برخی از سرویسها ممکن است چنین فرادادهای را ارائه ندهند. هر متدی که یک عملیات طولانی مدت را برمیگرداند، باید نوع فراداده را، در صورت وجود، مستند کند. |
done | اگر مقدار آن |
result فیلد Union. نتیجه عملیات، که میتواند یک error یا یک response معتبر باشد. اگر done == false ، نه error و نه response تنظیم نمیشوند. اگر done == true ، دقیقاً یکی از error یا response میتواند تنظیم شود. برخی از سرویسها ممکن است نتیجه را ارائه ندهند. result فقط میتواند یکی از موارد زیر باشد: | |
error | نتیجه خطای عملیات در صورت عدم موفقیت یا لغو. |
response | پاسخ عادی و موفقیتآمیز عملیات. اگر متد اصلی هیچ دادهای مانند |
درخواست عملیات منتظر بمانید
پیام درخواست برای Operations.WaitOperation .
| فیلدها | |
|---|---|
name | نام منبع عملیاتی که باید منتظر آن ماند. |
timeout | حداکثر مدت زمان انتظار قبل از اتمام زمان. اگر خالی گذاشته شود، حداکثر زمان مجاز توسط پروتکل HTTP/RPC مربوطه خواهد بود. اگر مهلت زمینه RPC نیز مشخص شده باشد، از کوتاهترین آن استفاده خواهد شد. |