يمثّل هذا المورد عملية طويلة الأمد ناتجة عن طلب بيانات من واجهة برمجة التطبيقات للشبكة.
تمثيل 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
البيانات الوصفية الخاصة بالخدمة والمرتبطة بالعملية وهي تتضمن عادةً معلومات مستوى التقدّم وبيانات وصفية شائعة، مثل وقت الإنشاء. قد لا توفّر بعض الخدمات هذه البيانات الوصفية. ويجب توثيق نوع البيانات الوصفية إن وجد أي طريقة تؤدي إلى إرجاع عملية طويلة الأمد.
done
boolean
إذا كانت القيمة 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.
الحالة
يحدّد النوع Status نموذج خطأ منطقي مناسبًا لبيئات البرمجة المختلفة، بما في ذلك واجهات برمجة تطبيقات REST وواجهات برمجة تطبيقات RPC. وتُستخدَم من قِبل gRPC. تحتوي كل رسالة Status على ثلاث بيانات: رمز الخطأ ورسالة الخطأ وتفاصيل الخطأ.
رمز الحالة، الذي يجب أن يكون قيمة تعداد بقيمة google.rpc.Code.
message
string
رسالة خطأ مواجهة للمطوِّر، ويجب أن تكون باللغة الإنجليزية يجب ترجمة أي رسالة خطأ تظهر للمستخدم وإرسالها في الحقل google.rpc.Status.details، أو ترجمتها من خلال البرنامج.
details[]
object
قائمة بالرسائل التي تتضمّن تفاصيل الخطأ. وهناك مجموعة شائعة من أنواع الرسائل التي يمكن لواجهات برمجة التطبيقات استخدامها.
تاريخ التعديل الأخير: 2025-07-25 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","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-07-25 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003eThe Operation resource represents a long-running operation initiated by a network API call, containing metadata, status, and result information.\u003c/p\u003e\n"],["\u003cp\u003eOperations can be in progress (\u003ccode\u003edone=false\u003c/code\u003e) or completed (\u003ccode\u003edone=true\u003c/code\u003e) with either an error or a response.\u003c/p\u003e\n"],["\u003cp\u003eThe Status resource provides a standardized error model with an error code, message, and details for API responses.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eget\u003c/code\u003e method retrieves the current state of a specific long-running operation.\u003c/p\u003e\n"]]],["The document defines two key resources: `Operation` and `Status`. `Operation` represents a long-running API task, containing a `name`, `metadata`, and a `done` status indicating completion. Upon completion, the `result` field contains either an `error` or a `response`. `Status` defines an error model, with fields for `code`, `message`, and `details`, which are developer-facing errors. Operations can be checked for their status with a get method.\n"],null,[]]