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/{uniqueId}.

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 APIs وواجهات برمجة التطبيقات لاستدعاء إجراء عن بُعد (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

يعرض هذا العمود أحدث حالة لعملية طويلة الأمد.