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