REST Resource: operations

المرجع: العملية

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

تمثيل 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" }

الطُرق

get

يحصل على أحدث حالة لعملية طويلة الأمد.