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 صالحة إذا تم ضبط done على == false، لن يتم ضبط error أو response. إذا كانت قيمة done == true، قد يتم ضبط سمة واحدة 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" }.