عملیات طولانی مدت را با یک سرویس API مدیریت می کند.
زمانی که یک متد API معمولاً زمان زیادی برای تکمیل نیاز دارد، میتوان آن را طوری طراحی کرد که Operation به مشتری بازگرداند، و مشتری میتواند از این رابط برای دریافت پاسخ واقعی به صورت ناهمزمان با نظرسنجی منبع عملیاتی استفاده کند، یا منبع عملیات را به API دیگری (مانند Pub/Sub API) برای دریافت پاسخ ارسال کند. هر سرویس API که عملیات طولانیمدت را برمیگرداند باید رابط Operations را پیادهسازی کند تا توسعهدهندگان بتوانند تجربه مشتری ثابتی داشته باشند.
لغو ناهمزمان را در یک عملیات طولانی مدت شروع می کند. سرور تمام تلاش خود را برای لغو عملیات انجام می دهد، اما موفقیت تضمین نشده است. اگر سرور از این روش پشتیبانی نمیکند، google.rpc.Code.UNIMPLEMENTED برمیگرداند. مشتریان میتوانند از Operations.GetOperation یا روشهای دیگر برای بررسی اینکه آیا لغو موفقیتآمیز بوده است یا اینکه علیرغم لغو، عملیات تکمیل شده است، استفاده کنند. در صورت لغو موفقیت آمیز، عملیات حذف نمی شود. در عوض، به عملیاتی با مقدار Operation.error با google.rpc.Status.code1 تبدیل می شود که مربوط به Code.CANCELLED است.
یک عملیات طولانی مدت را حذف می کند. این روش نشان می دهد که مشتری دیگر علاقه ای به نتیجه عملیات ندارد. این عملیات را لغو نمی کند. اگر سرور از این روش پشتیبانی نمیکند، google.rpc.Code.UNIMPLEMENTED برمیگرداند.
آخرین وضعیت یک عملیات طولانی مدت را دریافت می کند. مشتریان می توانند از این روش برای نظرسنجی نتیجه عملیات در فواصل زمانی که توسط سرویس API توصیه می شود استفاده کنند.
صبر می کند تا عملیات طولانی مدت مشخص شده انجام شود یا حداکثر به یک بازه زمانی مشخص برسد و آخرین حالت را برمی گرداند. اگر عملیات قبلا انجام شده باشد، آخرین حالت بلافاصله برگردانده می شود. اگر مدت زمان تعیین شده بیشتر از مهلت زمانی پیشفرض HTTP/RPC باشد، از مهلت زمانی HTTP/RPC استفاده میشود. اگر سرور از این روش پشتیبانی نمی کند، google.rpc.Code.UNIMPLEMENTED برمی گرداند. توجه داشته باشید که این روش بر اساس بهترین تلاش است. ممکن است آخرین وضعیت را قبل از مهلت زمانی مشخص شده (از جمله فورا) برگرداند، به این معنی که حتی پاسخ فوری نیز تضمینی برای انجام عملیات نیست.
لیستی از عملیاتی که با فیلتر مشخص شده در درخواست مطابقت دارد.
next_ page_ token
string
نشانه استاندارد صفحه بعدی لیست.
عملیات
این منبع یک عملیات طولانی مدت را نشان می دهد که نتیجه تماس API شبکه است.
فیلدها
name
string
نام اختصاص داده شده به سرور، که فقط در همان سرویسی که در ابتدا آن را برمی گرداند منحصر به فرد است. اگر از نگاشت پیشفرض HTTP استفاده میکنید، name باید یک نام منبع باشد که با operations/{unique_id} ختم میشود.
فراداده خاص سرویس مرتبط با عملیات. معمولاً حاوی اطلاعات پیشرفت و ابرداده های رایج مانند زمان ایجاد است. برخی از خدمات ممکن است چنین متادیتا را ارائه ندهند. هر روشی که عملیات طولانیمدت را برمیگرداند، در صورت وجود، باید نوع ابرداده را مستند کند.
done
bool
اگر مقدار false باشد، به این معنی است که عملیات هنوز در حال انجام است. اگر true ، عملیات تکمیل شده و error یا response در دسترس است.
result میدان اتحادیه نتیجه عملیات، که می تواند یک error یا یک response معتبر باشد. اگر done == false ، نه error و نه response تنظیم می شود. اگر done == true ، دقیقاً یکی از error یا response می توان تنظیم کرد. برخی از خدمات ممکن است نتیجه را ارائه نکنند. result می تواند تنها یکی از موارد زیر باشد:
پاسخ عادی و موفقیت آمیز عمل. اگر روش اصلی هیچ دادهای را در مورد موفقیت بازگرداند، مانند Delete ، پاسخ google.protobuf.Empty است. اگر روش اصلی استاندارد Get / Create / Update باشد، پاسخ باید منبع باشد. برای روشهای دیگر، پاسخ باید دارای نوع XxxResponse باشد که Xxx نام روش اصلی است. به عنوان مثال، اگر نام متد اصلی TakeSnapshot() باشد، نوع پاسخ استنباط شده TakeSnapshotResponse است.
حداکثر مدت زمان انتظار قبل از اتمام زمان. اگر خالی باقی بماند، انتظار حداکثر زمانی خواهد بود که پروتکل HTTP/RPC زیربنایی اجازه می دهد. اگر مهلت زمینه RPC نیز مشخص شده باشد، از مهلت کوتاهتر استفاده میشود.
تاریخ آخرین بهروزرسانی 2025-02-10 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-02-10 بهوقت ساعت هماهنگ جهانی."],[[["The Operations interface facilitates managing long-running operations, allowing clients to receive responses asynchronously."],["Clients can initiate, monitor, and manage operations such as cancellation, deletion, retrieval, and listing, using dedicated request messages."],["The Operation resource represents a long-running operation, providing metadata, status, and results (error or response)."],["Comprehensive request and response messages are defined for various operations, enabling structured communication with the API service."],["Authorization scopes and IAM permissions ensure secure access and control over operations."]]],["The `Operations` interface manages long-running API tasks, returning an `Operation` resource. Clients can interact through several methods: `CancelOperation` for asynchronous cancellation (not guaranteed), `DeleteOperation` to indicate disinterest (not cancellation), `GetOperation` to check the operation's status, `ListOperations` to filter and view multiple operations, and `WaitOperation` to pause until an operation is done or a timeout is reached. These methods require authorization, typically through the `https://www.googleapis.com/auth/cloud-platform` OAuth scope. The API also defines requests and responses for each interaction type.\n"]]