الفهرس
Operations(واجهة)CancelOperationRequest(رسالة)DeleteOperationRequest(رسالة)GetOperationRequest(رسالة)ListOperationsRequest(رسالة)ListOperationsResponse(رسالة)Operation(رسالة)WaitOperationRequest(رسالة)
العمليات
تدير العمليات الطويلة الأمد باستخدام خدمة واجهة برمجة التطبيقات.
عندما تستغرق إحدى طرق واجهة برمجة التطبيقات وقتًا طويلاً لإكمالها، يمكن تصميمها لعرض Operation للعميل، ويمكن للعميل استخدام هذه الواجهة لتلقّي الرد الفعلي بشكل غير متزامن من خلال التحقّق من مورد العملية، أو تمرير مورد العملية إلى واجهة برمجة تطبيقات أخرى (مثل Pub/Sub API) لتلقّي الرد. يجب أن تنفّذ أي خدمة واجهة برمجة تطبيقات تعرض عمليات طويلة الأمد واجهة Operations لكي يحصل المطوّرون على تجربة عميل متّسقة.
| CancelOperation |
|---|
|
تبدأ هذه الطريقة عملية إلغاء غير متزامنة لعملية طويلة الأمد. يبذل الخادم قصارى جهده لإلغاء العملية، ولكن لا يمكن ضمان نجاحها. إذا كان الخادم لا يتيح هذه الطريقة، سيعرض
|
| DeleteOperation |
|---|
|
تحذف هذه الطريقة عملية طويلة الأمد. تشير هذه الطريقة إلى أنّ العميل لم يعُد مهتمًا بنتيجة العملية. ولا يؤدي إلى إلغاء العملية. إذا كان الخادم لا يتيح هذه الطريقة، سيعرض
|
| GetOperation |
|---|
|
تتيح هذه الطريقة الاطّلاع على أحدث حالة لعملية طويلة، ويمكن للعملاء استخدامها للتحقّق من نتيجة العملية على فترات زمنية منتظمة تنصح بها خدمة واجهة برمجة التطبيقات.
|
| ListOperations |
|---|
|
تعرض هذه الطريقة العمليات التي تتطابق مع الفلتر المحدّد في الطلب. إذا كان الخادم لا يتيح هذه الطريقة، سيعرض
|
| WaitOperation |
|---|
|
تنتظر هذه الطريقة إلى أن تكتمل العملية الطويلة المحدّدة أو تصل إلى مهلة محدّدة على الأكثر، ثم تعرض أحدث حالة. إذا كانت العملية قد اكتملت، يتم عرض أحدث حالة على الفور. إذا كان المهلة المحدّدة أكبر من مهلة HTTP/RPC التلقائية، يتم استخدام مهلة HTTP/RPC. إذا كان الخادم لا يتيح هذه الطريقة، سيعرض
|
CancelOperationRequest
رسالة الطلب الخاصة بـ "Operations.CancelOperation".
| الحقول | |
|---|---|
name |
اسم مورد العملية المطلوب إلغاؤها. |
DeleteOperationRequest
رسالة الطلب الخاصة بـ "Operations.DeleteOperation".
| الحقول | |
|---|---|
name |
اسم مورد العملية المطلوب حذفه. |
GetOperationRequest
رسالة الطلب الخاصة بـ "Operations.GetOperation".
| الحقول | |
|---|---|
name |
يمثّل اسم مورد العملية. |
ListOperationsRequest
رسالة الطلب الخاصة بـ "Operations.ListOperations".
| الحقول | |
|---|---|
name |
اسم المورد الرئيسي للعملية |
filter |
فلتر القائمة العادي |
page_size |
حجم صفحة القائمة العادي |
page_token |
الرمز المميز لصفحة القائمة العادية |
return_partial_success |
عند ضبطها على يمكن أن تكون القيمة لا يكون هذا الحقل متاحًا تلقائيًا، وسيؤدي إلى ظهور الخطأ |
ListOperationsResponse
رسالة الردّ على Operations.ListOperations
| الحقول | |
|---|---|
operations[] |
قائمة بالعمليات التي تتطابق مع الفلتر المحدّد في الطلب |
next_page_token |
الرمز المميز العادي للصفحة التالية في قائمة. |
unreachable[] |
قائمة بدون ترتيب المراجع التي لا يمكن الوصول إليها يتم ملء هذا الحقل عندما يضبط الطلب |
العملية
يمثّل هذا المورد عملية طويلة ناتجة عن طلب بيانات من واجهة برمجة التطبيقات من الشبكة.
| الحقول | |
|---|---|
name |
هو الاسم الذي يُعيّنه الخادم، ويكون فريدًا فقط ضمن الخدمة نفسها التي أرسلت الاسم في الاستجابة. إذا كنت تستخدم أسلوب ربط HTTP التلقائي، يجب أن يكون حقل |
metadata |
يشير الحقل إلى بيانات وصفية خاصة بالخدمة ومرتبطة بالعملية. يتضمّن عادةً معلومات حول مستوى تقدّم العملية وبيانات وصفية شائعة مثل وقت الإنشاء. يُرجى الِعلم أنّ بعض الخدمات قد لا توفّر هذه البيانات. إذا أدّى إجراء ما إلى بدء عملية طويلة، يجب أن يوثّق نوع البيانات الوصفية، إن وُجدِت. |
done |
إذا كانت القيمة |
حقل الدمج result تمثّل نتيجة العملية، والتي يمكن أن تكون إما error أو response صالحة. إذا كان false == done، هذا يعني أنّه لم يتم ضبط أي من error أو response. إذا كان true == done، هذا يعني أنّه يمكن ضبط إما error أو response فقط. بعض الخدمات قد لا توفّر النتيجة. يمكن أن تكون result إحدى القيم التالية فقط: |
|
error |
يمثّل نتيجة الخطأ للعملية في حال فشلها أو إلغائها. |
response |
يشير هذا الحقل إلى الاستجابة المعتادة إذا كانت العملية ناجحة. إذا كان الإجراء الأصلي لا يعرض أي بيانات عند نجاحه، مثل |
WaitOperationRequest
رسالة الطلب الخاصة بـ "Operations.WaitOperation".
| الحقول | |
|---|---|
name |
اسم مورد العملية المطلوب الانتظار إلى حين اكتماله. |
timeout |
الحد الأقصى لمدة الانتظار قبل انتهاء المهلة. إذا تركته فارغًا، سيكون وقت الانتظار هو الحد الأقصى للوقت المسموح به بموجب بروتوكول HTTP/RPC الأساسي. إذا تم تحديد الموعد النهائي لسياق RPC أيضًا، سيتم استخدام الموعد الأقصر. |