این منبع نشان دهنده یک عملیات طولانی مدت است که نتیجه یک فراخوانی API شبکه است.
نمایش JSON
{"name": string,"metadata": {"@type": string,field1: ...,...},"done": boolean,// The following is a list of mutually exclusive fields. At most one of the// fields will be set in a response:"error": {object (Status)},"response": {"@type": string,field1: ...,...}// End of mutually exclusive fields.}
فیلدها
name
string
نام اختصاص داده شده توسط سرور، که فقط در همان سرویسی که در ابتدا آن را برمیگرداند، منحصر به فرد است. اگر از نگاشت پیشفرض HTTP استفاده میکنید، name باید نام منبعی باشد که به operations/{unique_id} ختم میشود.
metadata
object
فرادادههای مختص سرویس مرتبط با عملیات. معمولاً شامل اطلاعات پیشرفت و فرادادههای رایج مانند زمان ایجاد است. برخی از سرویسها ممکن است چنین فرادادهای را ارائه ندهند. هر متدی که یک عملیات طولانی مدت را برمیگرداند، باید نوع فراداده را، در صورت وجود، مستند کند.
یک شیء حاوی فیلدهایی از نوع دلخواه. یک فیلد اضافی "@type" حاوی یک URI است که نوع را مشخص میکند. مثال: { "id": 1234, "@type": "types.example.com/standard/id" } .
done
boolean
اگر مقدار آن false باشد، به این معنی است که عملیات هنوز در حال انجام است. اگر true ، عملیات تکمیل شده و error یا response در دسترس است.
نتیجه عملیات، که میتواند یک error یا یک response معتبر باشد. اگر done == false باشد، نه error و نه response تنظیم نمیشوند. اگر done == true ، دقیقاً یکی از error یا response میتواند تنظیم شود. برخی از سرویسها ممکن است نتیجه را ارائه ندهند. در زیر لیستی از فیلدهای ناسازگار آمده است. حداکثر یکی از فیلدها در یک پاسخ تنظیم خواهد شد:
پاسخ عادی و موفقیتآمیز عملیات. اگر متد اصلی هیچ دادهای در مورد موفقیت برنگرداند، مانند Delete ، پاسخ google.protobuf.Empty خواهد بود. اگر متد اصلی Get / Create / Update استاندارد باشد، پاسخ باید resource باشد. برای متدهای دیگر، پاسخ باید از نوع XxxResponse باشد، که در آن Xxx نام متد اصلی است. به عنوان مثال، اگر نام متد اصلی TakeSnapshot() باشد، نوع پاسخ استنباط شده TakeSnapshotResponse خواهد بود.
یک شیء حاوی فیلدهایی از نوع دلخواه. یک فیلد اضافی "@type" حاوی یک URI است که نوع را مشخص میکند. مثال: { "id": 1234, "@type": "types.example.com/standard/id" } .
پایان میدانهای ناسازگار.
وضعیت
نوع Status یک مدل خطای منطقی را تعریف میکند که برای محیطهای برنامهنویسی مختلف، از جمله REST APIها و RPC APIها، مناسب است. این مدل توسط gRPC استفاده میشود. هر پیام Status شامل سه بخش داده است: کد خطا، پیام خطا و جزئیات خطا.
میتوانید اطلاعات بیشتری در مورد این مدل خطا و نحوه کار با آن را در راهنمای طراحی API بیابید.
کد وضعیت، که باید یک مقدار شمارشی از google.rpc.Code باشد.
message
string
یک پیام خطای مربوط به توسعهدهنده که باید به زبان انگلیسی باشد. هرگونه پیام خطای مربوط به کاربر باید بومیسازی شده و در فیلد google.rpc.Status.details ارسال شود، یا توسط کلاینت بومیسازی شود.
details[]
object
فهرستی از پیامهایی که جزئیات خطا را در خود دارند. مجموعهای مشترک از انواع پیامها برای استفاده توسط APIها وجود دارد.
یک شیء حاوی فیلدهایی از نوع دلخواه. یک فیلد اضافی "@type" حاوی یک URI است که نوع را مشخص میکند. مثال: { "id": 1234, "@type": "types.example.com/standard/id" } .
تاریخ آخرین بهروزرسانی 2026-08-27 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","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"]],["تاریخ آخرین بهروزرسانی 2026-08-27 بهوقت ساعت هماهنگ جهانی."],[],["The `Operation` resource represents a long-running API operation, containing a `name`, service-specific `metadata`, and a `done` status. If `done` is true, it contains either an `error` or a successful `response`. The `Status` resource defines an error model with an error `code`, a developer-facing `message`, and `details`. Available methods include `cancel` to start operation cancellation, `get` to check the state, and `list` to filter operations.\n"]]