این منبع نشان دهنده یک عملیات طولانی مدت است که نتیجه یک فراخوانی API شبکه است.
نمایش JSON
{"name": string,"metadata": {"@type": string,field1: ...,...},"done": boolean,// Union field result can be only one of the following:"error": {object (Status)},"response": {"@type": string,field1: ...,...}// End of list of possible types for union field result.}
فیلدها
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 در دسترس است.
result فیلد Union. نتیجه عملیات، که میتواند یک error یا یک response معتبر باشد. اگر done == false باشد، نه error و نه response تنظیم نمیشوند. اگر done == true ، دقیقاً یکی از error یا response میتواند تنظیم شود. برخی از سرویسها ممکن است نتیجه را ارائه ندهند. result فقط میتواند یکی از موارد زیر باشد:
پاسخ عادی و موفقیتآمیز عملیات. اگر متد اصلی هیچ دادهای مانند 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-31 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","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-31 بهوقت ساعت هماهنگ جهانی."],[],[]]