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" }

الحالة

يحدّد النوع Status نموذج خطأ منطقي مناسبًا لبيئات البرمجة المختلفة، بما في ذلك واجهات برمجة تطبيقات REST وواجهات برمجة تطبيقات RPC. وتُستخدَم من قِبل gRPC. تحتوي كل رسالة Status على ثلاث بيانات: رمز الخطأ ورسالة الخطأ وتفاصيل الخطأ.

يمكنك معرفة المزيد من المعلومات عن نموذج الخطأ هذا وكيفية التعامل معه في دليل تصميم واجهة برمجة التطبيقات.

تمثيل JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
الحقول
code

integer

رمز الحالة، الذي يجب أن يكون قيمة تعداد بقيمة google.rpc.Code.

message

string

رسالة خطأ تظهر باللغة الإنجليزية يجب ترجمة أي رسالة خطأ تظهر للمستخدم وإرسالها في الحقل google.rpc.Status.details، أو ترجمتها من خلال البرنامج.

details[]

object

قائمة بالرسائل التي تتضمّن تفاصيل الخطأ. وهناك مجموعة شائعة من أنواع الرسائل التي يمكن لواجهات برمجة التطبيقات استخدامها.

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