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

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