Package google.longrunning

इंडेक्स

ऑपरेशंस

एपीआई सेवा की मदद से, लंबे समय तक चलने वाले ऑपरेशन मैनेज करता है.

जब किसी एपीआई तरीके को पूरा होने में आम तौर पर ज़्यादा समय लगता है, तो उसे क्लाइंट को Operation दिखाने के लिए डिज़ाइन किया जा सकता है. क्लाइंट, ऑपरेशन रिसॉर्स को पॉलिंग करके, असाइनमेंट के रिस्पॉन्स को असींक्रोनस तरीके से पाने के लिए इस इंटरफ़ेस का इस्तेमाल कर सकता है. इसके अलावा, वह ऑपरेशन रिसॉर्स को किसी दूसरे एपीआई (जैसे, Pub/Sub API) को पास करके भी रिस्पॉन्स पा सकता है. लंबे समय तक चलने वाले ऑपरेशन दिखाने वाली किसी भी एपीआई सेवा को Operations इंटरफ़ेस लागू करना चाहिए, ताकि डेवलपर को क्लाइंट का बेहतर अनुभव मिल सके.

CancelOperation

rpc CancelOperation(CancelOperationRequest) returns (Empty)

ज़्यादा समय तक चलने वाले ऑपरेशन को असिंक्रोनस तरीके से रद्द करने की प्रोसेस शुरू करता है. सर्वर, ऑपरेशन को रद्द करने की पूरी कोशिश करता है. हालांकि, इस बात की कोई गारंटी नहीं है कि ऑपरेशन रद्द हो जाएगा. अगर सर्वर पर यह तरीका काम नहीं करता है, तो यह google.rpc.Code.UNIMPLEMENTED दिखाता है. क्लाइंट, Operations.GetOperation या अन्य तरीकों का इस्तेमाल करके यह देख सकते हैं कि रद्द करने की प्रोसेस पूरी हुई या नहीं या रद्द करने के बावजूद ऑपरेशन पूरा हुआ या नहीं. रद्द करने की कार्रवाई पूरी होने पर, वह कार्रवाई मिटाई नहीं जाती. इसके बजाय, वह Code.CANCELLED से जुड़ी 1 की google.rpc.Status.code वैल्यू वाली Operation.error वैल्यू वाली कार्रवाई बन जाती है.

DeleteOperation

rpc DeleteOperation(DeleteOperationRequest) returns (Empty)

ज़्यादा समय तक चलने वाली कार्रवाई को मिटाता है. इस तरीके से पता चलता है कि क्लाइंट को अब ऑपरेशन के नतीजे में दिलचस्पी नहीं है. इससे कार्रवाई रद्द नहीं होती. अगर सर्वर पर यह तरीका काम नहीं करता है, तो यह google.rpc.Code.UNIMPLEMENTED दिखाता है.

GetOperation

rpc GetOperation(GetOperationRequest) returns (Operation)

लंबे समय तक चलने वाले ऑपरेशन की नई स्थिति दिखाता है. क्लाइंट इस तरीके का इस्तेमाल करके, एपीआई सेवा के सुझाव के मुताबिक, ऑपरेशन के नतीजे को समय-समय पर पोल कर सकते हैं.

ListOperations

rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse)

अनुरोध में बताए गए फ़िल्टर से मैच करने वाली कार्रवाइयों की सूची बनाता है. अगर सर्वर पर यह तरीका काम नहीं करता है, तो यह UNIMPLEMENTED दिखाता है.

WaitOperation

rpc WaitOperation(WaitOperationRequest) returns (Operation)

यह तब तक इंतज़ार करता है, जब तक कि लंबे समय तक चलने वाला कोई ऑपरेशन पूरा नहीं हो जाता या तय किए गए टाइम आउट तक नहीं पहुंच जाता. साथ ही, यह ऑपरेशन की नई स्थिति दिखाता है. अगर कार्रवाई पहले ही पूरी हो चुकी है, तो नई स्थिति तुरंत दिखती है. अगर तय किया गया टाइम आउट, डिफ़ॉल्ट एचटीटीपी/आरपीसी टाइम आउट से ज़्यादा है, तो एचटीटीपी/आरपीसी टाइम आउट का इस्तेमाल किया जाता है. अगर सर्वर पर यह तरीका काम नहीं करता है, तो यह google.rpc.Code.UNIMPLEMENTED दिखाता है. ध्यान दें कि इस तरीके से, ज़्यादा से ज़्यादा लोगों तक पहुंचने की कोशिश की जाती है. यह तय किए गए टाइम आउट से पहले (तुरंत भी) नई स्थिति दिखा सकता है. इसका मतलब है कि तुरंत जवाब मिलने से भी इस बात की कोई गारंटी नहीं है कि कार्रवाई पूरी हो गई है.

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

सर्वर से असाइन किया गया नाम, जो मूल रूप से उसे दिखाने वाली सेवा में ही यूनीक होता है. डिफ़ॉल्ट एचटीटीपी मैपिंग का इस्तेमाल करने पर, 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

टाइम आउट होने से पहले, इंतज़ार करने की ज़्यादा से ज़्यादा अवधि. अगर इसे खाली छोड़ दिया जाता है, तो इंतज़ार का समय ज़्यादा से ज़्यादा उतना ही होगा जितना कि एचटीटीपी/आरपीसी प्रोटोकॉल की अनुमति है. अगर आरपीसी कॉन्टेक्स्ट की समयसीमा भी तय की गई है, तो कम समयसीमा का इस्तेमाल किया जाएगा.