Package google.longrunning

الفهرس

العمليات

تدير العمليات الطويلة الأمد باستخدام خدمة واجهة برمجة تطبيقات.

عندما تستغرق إحدى طرق واجهة برمجة التطبيقات وقتًا طويلاً لإكمالها عادةً، يمكن تصميمها لعرض Operation للعميل، ويمكن للعميل استخدام هذه الواجهة لتلقّي الردّ الفعلي بشكل غير متزامن من خلال طلب بيانات مورد العملية بشكل متكرّر، أو تمرير مورد العملية إلى واجهة برمجة تطبيقات أخرى (مثل Pub/Sub API) لتلقّي الردّ. يجب أن تنفّذ أي خدمة API تعرض عمليات طويلة الأمد واجهة Operations لكي يحصل المطوّرون على تجربة عميل متّسقة.

CancelOperation

rpc CancelOperation(CancelOperationRequest) returns (Empty)

تبدأ هذه الطريقة عملية إلغاء غير متزامنة لعملية تستغرق وقتًا طويلاً. يبذل الخادم قصارى جهده لإلغاء العملية، ولكن لا يمكن ضمان النجاح. إذا كان الخادم لا يتيح هذه الطريقة، سيعرض الرمز google.rpc.Code.UNIMPLEMENTED. يمكن للعملاء استخدام Operations.GetOperation أو طرق أخرى للتحقّق مما إذا تم الإلغاء بنجاح أو ما إذا اكتملت العملية على الرغم من الإلغاء. عند إلغاء العملية بنجاح، لا يتم حذفها، بل تصبح عملية ذات قيمة Operation.error مع google.rpc.Status.code بقيمة 1، ما يتوافق مع Code.CANCELLED.

نطاقات الأذونات

يجب توفير نطاق OAuth التالي:

  • https://www.googleapis.com/auth/cloud-platform
DeleteOperation

rpc DeleteOperation(DeleteOperationRequest) returns (Empty)

تحذف هذه الطريقة عملية تستغرق وقتًا طويلاً. تشير هذه الطريقة إلى أنّ العميل لم يعُد مهتمًا بنتيجة العملية. ولا يؤدي إلى إلغاء العملية. إذا كان الخادم لا يتيح هذه الطريقة، سيعرض الرمز google.rpc.Code.UNIMPLEMENTED.

نطاقات الأذونات

يجب توفير نطاق OAuth التالي:

  • https://www.googleapis.com/auth/cloud-platform
GetOperation

rpc GetOperation(GetOperationRequest) returns (Operation)

تعرض هذه الطريقة أحدث حالة لعملية تستغرق وقتًا طويلاً. يمكن للعملاء استخدام هذه الطريقة لاستطلاع نتيجة العملية على فترات زمنية على النحو الذي تنصح به خدمة واجهة برمجة التطبيقات.

نطاقات الأذونات

يجب توفير نطاق OAuth التالي:

  • https://www.googleapis.com/auth/cloud-platform
أذونات "إدارة الهوية وإمكانية الوصول"

يتطلّب الإذن التالي في IAM على مورد name:

  • routeoptimization.operations.get

لمزيد من المعلومات، يُرجى الاطّلاع على مستندات إدارة الهوية وإمكانية الوصول.

ListOperations

rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse)

تعرض هذه الطريقة العمليات التي تتطابق مع الفلتر المحدّد في الطلب. إذا كان الخادم لا يتيح هذه الطريقة، سيعرض الرمز UNIMPLEMENTED.

نطاقات الأذونات

يجب توفير نطاق OAuth التالي:

  • https://www.googleapis.com/auth/cloud-platform
WaitOperation

rpc WaitOperation(WaitOperationRequest) returns (Operation)

تنتظر هذه الطريقة إلى أن تنتهي العملية المحدّدة الطويلة الأمد أو تصل إلى مهلة محدّدة على الأكثر، ثم تعرض أحدث حالة. إذا تمّت العملية من قبل، يتمّ عرض الحالة الأخيرة على الفور. إذا كان المهلة الزمنية المحدّدة أكبر من المهلة الزمنية التلقائية لبروتوكول HTTP/RPC، يتم استخدام المهلة الزمنية لبروتوكول HTTP/RPC. إذا كان الخادم لا يتيح هذه الطريقة، سيعرض الرمز google.rpc.Code.UNIMPLEMENTED. يُرجى العِلم أنّ هذه الطريقة تعتمد على بذل أقصى مجهود. قد تعرض هذه الطريقة آخر حالة قبل انتهاء المهلة المحدّدة (بما في ذلك على الفور)، ما يعني أنّ الرد الفوري لا يضمن إكمال العملية.

نطاقات الأذونات

يجب توفير نطاق OAuth التالي:

  • https://www.googleapis.com/auth/cloud-platform

CancelOperationRequest

رسالة الطلب الخاصة بـ "Operations.CancelOperation".

الحقول
name

string

اسم مورد العملية المطلوب إلغاؤها.

DeleteOperationRequest

رسالة الطلب الخاصة بـ "Operations.DeleteOperation".

الحقول
name

string

اسم مورد العملية المطلوب حذفه.

GetOperationRequest

رسالة الطلب الخاصة بـ "Operations.GetOperation".

الحقول
name

string

اسم مورد العملية.

ListOperationsRequest

رسالة الطلب الخاصة بـ "Operations.ListOperations".

الحقول
name

string

اسم المورد الرئيسي للعملية.

filter

string

فلتر القائمة العادي

page_size

int32

حجم صفحة القائمة العادي

page_token

string

الرمز المميز لصفحة القائمة العادية

ListOperationsResponse

رسالة الردّ على Operations.ListOperations

الحقول
operations[]

Operation

قائمة بالعمليات التي تتطابق مع الفلتر المحدّد في الطلب

next_page_token

string

الرمز المميز العادي للصفحة التالية في قائمة.

العملية

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

الحقول
name

string

الاسم الذي يحدّده الخادم، وهو اسم فريد فقط ضمن الخدمة نفسها التي تعرضه في الأصل. في حال استخدام عملية الربط التلقائية ببروتوكول HTTP، يجب أن يكون name اسم مورد ينتهي بـ operations/{unique_id}.

metadata

Any

البيانات الوصفية الخاصة بالخدمة والمرتبطة بالعملية ويتضمّن عادةً معلومات عن مستوى التقدّم والبيانات الوصفية الشائعة، مثل وقت الإنشاء. قد لا توفّر بعض الخدمات هذه البيانات الوصفية. يجب توثيق نوع البيانات الوصفية لأي طريقة تعرض عملية طويلة الأمد، إذا كان ذلك منطبقًا.

done

bool

إذا كانت القيمة false، يعني ذلك أنّ العملية لا تزال قيد التقدّم. إذا كانت القيمة true، تكون العملية قد اكتملت، ويتوفّر إما error أو response.

حقل الدمج result نتيجة العملية، والتي يمكن أن تكون error أو response صالحًا. إذا كان done == false، لم يتم ضبط error ولا response. إذا كان done == true، يمكن ضبط أحد الحقلين error أو response فقط. قد لا تقدّم بعض الخدمات النتيجة. يمكن أن تكون result إحدى القيم التالية فقط:
error

Status

نتيجة الخطأ في العملية في حال حدوث خطأ أو إلغاء

response

Any

الاستجابة العادية والناجحة للعملية إذا لم تعرض الطريقة الأصلية أي بيانات عند النجاح، مثل Delete، تكون الاستجابة google.protobuf.Empty. إذا كانت الطريقة الأصلية هي Get/Create/Update العادية، يجب أن يكون الرد هو المورد. بالنسبة إلى الطرق الأخرى، يجب أن يتضمّن الرد النوع XxxResponse، حيث يمثّل Xxx اسم الطريقة الأصلية. على سبيل المثال، إذا كان اسم الطريقة الأصلية هو TakeSnapshot()، سيكون نوع الرد المستنتج هو TakeSnapshotResponse.

WaitOperationRequest

رسالة الطلب الخاصة بـ "Operations.WaitOperation".

الحقول
name

string

اسم مورد العملية المطلوب انتظارها.

timeout

Duration

المدة القصوى للانتظار قبل انتهاء المهلة. في حال ترك هذا الحقل فارغًا، سيكون وقت الانتظار هو الحد الأقصى للوقت المسموح به بموجب بروتوكول HTTP/RPC الأساسي. إذا تم تحديد الموعد النهائي لسياق RPC أيضًا، سيتم استخدام الموعد الأقصر.