Operation

يمثّل هذا المورد عملية طويلة ناتجة عن طلب بيانات من واجهة برمجة التطبيقات من الشبكة.

تمثيل 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 تمثّل نتيجة العملية، والتي يمكن أن تكون إما error أو response صالحة. إذا كان false ‏== done، هذا يعني أنّه لم يتم ضبط أي من error أو response. إذا كان true ‏== done، هذا يعني أنّه يمكن ضبط إما error أو response فقط. بعض الخدمات قد لا توفّر النتيجة. يمكن أن تكون result إحدى القيم التالية فقط:
error

object (Status)

يمثّل نتيجة الخطأ للعملية في حال فشلها أو إلغائها.

response

object

يشير هذا الحقل إلى الاستجابة المعتادة إذا كانت العملية ناجحة. إذا كان الإجراء الأصلي لا يعرض أي بيانات عند نجاحه، مثل Delete، تكون الاستجابة google.protobuf.Empty. وإذا كان الإجراء الأصلي أحد العمليات الشائعة مثل Get أو Create أو Update، يجب أن تكون الاستجابة هي المورد نفسه. أما بالنسبة إلى الإجراءات الأخرى، فيجب أن يكون نوع الاستجابة بصيغة XxxResponse، حيث يمثّل Xxx اسم الإجراء الأصلي. على سبيل المثال، إذا كان اسم الإجراء الأصلي TakeSnapshot()، سيكون نوع الاستجابة المستنتَج TakeSnapshotResponse.

هو كائن يحتوي على حقول من أي نوع، بالإضافة إلى حقل "@type" الذي يتضمّن معرف موارد منتظم (URI) يحدّد نوع الكائن، مثل { "id": 1234, "@type": "types.example.com/standard/id" }.