Package google.longrunning

فهرست

عملیات

عملیات طولانی مدت را با یک سرویس API مدیریت می‌کند.

وقتی یک متد API معمولاً زمان زیادی برای تکمیل شدن نیاز دارد، می‌توان آن را طوری طراحی کرد که Operation به کلاینت برگرداند و کلاینت می‌تواند از این رابط برای دریافت پاسخ واقعی به صورت غیرهمزمان با نمونه‌برداری از منبع عملیات استفاده کند، یا منبع عملیات را به API دیگری (مانند Pub/Sub API) برای دریافت پاسخ ارسال کند. هر سرویس API که عملیات طولانی مدت را برمی‌گرداند، باید رابط Operations را پیاده‌سازی کند تا توسعه‌دهندگان بتوانند یک تجربه کلاینت ثابت داشته باشند.

لغو عملیات

rpc CancelOperation( CancelOperationRequest ) returns ( Empty )

(در حال حاضر پشتیبانی نمی‌شود) لغو ناهمزمان را در یک عملیات طولانی مدت آغاز می‌کند.

دامنه‌های مجوز

به محدوده OAuth زیر نیاز دارد:

  • https://www.googleapis.com/auth/cloud-platform
عملیات حذف

rpc DeleteOperation( DeleteOperationRequest ) returns ( Empty )

(در حال حاضر پشتیبانی نمی‌شود) یک عملیات طولانی مدت را حذف می‌کند.

دامنه‌های مجوز

به محدوده OAuth زیر نیاز دارد:

  • https://www.googleapis.com/auth/cloud-platform
عملیات دریافت

rpc GetOperation( GetOperationRequest ) returns ( Operation )

آخرین وضعیت یک عملیات طولانی مدت را دریافت می‌کند. کلاینت‌ها می‌توانند از این متد برای نظرسنجی از نتیجه عملیات در فواصل زمانی توصیه شده توسط سرویس API استفاده کنند.

دامنه‌های مجوز

به محدوده OAuth زیر نیاز دارد:

  • https://www.googleapis.com/auth/cloud-platform
مجوزهای IAM

به مجوز IAM زیر در منبع name نیاز دارد:

  • routeoptimization.operations.get

برای اطلاعات بیشتر، به مستندات IAM مراجعه کنید.

عملیات لیست

rpc ListOperations( ListOperationsRequest ) returns ( ListOperationsResponse )

(در حال حاضر پشتیبانی نمی‌شود) عملیاتی را که با فیلتر مشخص شده در درخواست مطابقت دارند، فهرست می‌کند.

دامنه‌های مجوز

به محدوده OAuth زیر نیاز دارد:

  • https://www.googleapis.com/auth/cloud-platform
عملیات صبر کنید

rpc WaitOperation( WaitOperationRequest ) returns ( Operation )

(در حال حاضر پشتیبانی نمی‌شود) منتظر می‌ماند تا عملیات طولانی‌مدت مشخص‌شده انجام شود یا حداکثر به یک مهلت زمانی مشخص برسد و آخرین وضعیت را برمی‌گرداند.

دامنه‌های مجوز

به محدوده OAuth زیر نیاز دارد:

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

لغو درخواست عملیات

پیام درخواست برای Operations.CancelOperation .

فیلدها
name

string

نام منبع عملیاتی که باید لغو شود.

درخواست عملیات حذف

پیام درخواست برای Operations.DeleteOperation .

فیلدها
name

string

نام منبع عملیاتی که قرار است حذف شود.

درخواست عملیات دریافت

پیام درخواست برای Operations.GetOperation .

فیلدها
name

string

نام منبع عملیات.

درخواست عملیات لیست

پیام درخواست برای Operations.ListOperations .

فیلدها
name

string

نام منبع والد عملیات.

filter

string

فیلتر لیست استاندارد.

page_size

int32

اندازه استاندارد صفحه فهرست

page_token

string

توکن استاندارد صفحه لیست.

return_partial_success

bool

وقتی روی true تنظیم شود، عملیاتی که قابل دسترسی هستند به صورت عادی برگردانده می‌شوند، و عملیاتی که قابل دسترسی نیستند در فیلد ListOperationsResponse.unreachable برگردانده می‌شوند.

این فقط می‌تواند هنگام خواندن بین مجموعه‌ها true باشد. برای مثال، وقتی parent روی "projects/example/locations/-" تنظیم شده باشد.

این فیلد به طور پیش‌فرض پشتیبانی نمی‌شود و در صورت تنظیم، منجر به خطای UNIMPLEMENTED خواهد شد، مگر اینکه صراحتاً خلاف آن در مستندات خاص سرویس یا محصول ذکر شده باشد.

پاسخ عملیات لیست

پیام پاسخ برای Operations.ListOperations .

فیلدها
operations[]

Operation

فهرستی از عملیات که با فیلتر مشخص شده در درخواست مطابقت دارند.

next_page_token

string

توکن استاندارد List next-page.

unreachable[]

string

لیست نامرتب. منابع غیرقابل دسترس. زمانی که درخواست، ListOperationsRequest.return_partial_success را تنظیم می‌کند و مجموعه‌ها را می‌خواند، مقداردهی می‌شود. برای مثال، هنگام تلاش برای فهرست کردن تمام منابع در تمام مکان‌های پشتیبانی‌شده.

عملیات

این منبع نشان دهنده یک عملیات طولانی مدت است که نتیجه یک فراخوانی API شبکه است.

فیلدها
name

string

نام اختصاص داده شده توسط سرور، که فقط در همان سرویسی که در ابتدا آن را برمی‌گرداند، منحصر به فرد است. اگر از نگاشت پیش‌فرض HTTP استفاده می‌کنید، name باید نام منبعی باشد که به operations/{unique_id} ختم می‌شود.

metadata

Any

فراداده‌های مختص سرویس مرتبط با عملیات. معمولاً شامل اطلاعات پیشرفت و فراداده‌های رایج مانند زمان ایجاد است. برخی از سرویس‌ها ممکن است چنین فراداده‌ای را ارائه ندهند. هر متدی که یک عملیات طولانی مدت را برمی‌گرداند، باید نوع فراداده را، در صورت وجود، مستند کند.

done

bool

اگر مقدار آن false باشد، به این معنی است که عملیات هنوز در حال انجام است. اگر true ، عملیات تکمیل شده و error یا response در دسترس است.

result فیلد Union. نتیجه عملیات، که می‌تواند یک error یا یک response معتبر باشد. اگر done == false باشد، نه error و نه response تنظیم نمی‌شوند. اگر done == true ، دقیقاً یکی از error یا response می‌تواند تنظیم شود. برخی از سرویس‌ها ممکن است نتیجه را ارائه ندهند. result فقط می‌تواند یکی از موارد زیر باشد:
error

Status

نتیجه خطای عملیات در صورت عدم موفقیت یا لغو.

response

Any

پاسخ عادی و موفقیت‌آمیز عملیات. اگر متد اصلی هیچ داده‌ای مانند Delete در صورت موفقیت برنگرداند، پاسخ google.protobuf.Empty خواهد بود. اگر متد اصلی Get / Create / Update استاندارد باشد، پاسخ باید resource باشد. برای متدهای دیگر، پاسخ باید از نوع XxxResponse باشد، که در آن Xxx نام متد اصلی است. به عنوان مثال، اگر نام متد اصلی TakeSnapshot() باشد، نوع پاسخ استنباط شده TakeSnapshotResponse خواهد بود.

درخواست عملیات منتظر بمانید

پیام درخواست برای Operations.WaitOperation .

فیلدها
name

string

نام منبع عملیاتی که باید منتظر آن ماند.

timeout

Duration

حداکثر مدت زمان انتظار قبل از اتمام زمان. اگر خالی گذاشته شود، حداکثر زمان مجاز توسط پروتکل HTTP/RPC مربوطه خواهد بود. اگر مهلت زمینه RPC نیز مشخص شده باشد، از کوتاه‌ترین آن استفاده خواهد شد.