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

الطُرق

cancel

يبدأ إلغاء غير متزامن لعملية تستغرق وقتًا طويلاً.

delete

لحذف عملية طويلة الأمد

get

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

list

يسرد العمليات التي تتطابق مع الفلتر المحدّد في الطلب.