REST Resource: operations

الموارد: العملية

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

تمثيل جيسون
{
  "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 على ثلاث أجزاء من البيانات: رمز الخطأ، ورسالة الخطأ، وتفاصيل الخطأ.

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

تمثيل جيسون
{
  "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

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