Package google.longrunning

इंडेक्स

ऑपरेशंस

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

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

CancelOperation

rpc CancelOperation(CancelOperationRequest) returns (Empty)

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

अनुमति के दायरे

नीचे दिए गए 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
ListOperations

rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse)

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

अनुमति के दायरे

नीचे दिए गए OAuth के लिंक की ज़रूरत हाेती है:

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

rpc WaitOperation(WaitOperationRequest) returns (Operation)

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

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

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