Package google.longrunning

इंडेक्स

कार्रवाइयां

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

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

कार्रवाई रद्द करें

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/datastore
  • https://www.googleapis.com/auth/cloud-platform

ज़्यादा जानकारी के लिए, पुष्टि करने से जुड़ी खास जानकारी देखें.

मिटाएं ऑपरेशन

rpc DeleteOperation(DeleteOperationRequest) returns (Empty)

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

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

इनमें से किसी एक OAuth स्कोप की ज़रूरत होती है:

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

ज़्यादा जानकारी के लिए, पुष्टि करने से जुड़ी खास जानकारी देखें.

गेटऑपरेशन

rpc GetOperation(GetOperationRequest) returns (Operation)

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

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

इनमें से किसी एक OAuth स्कोप की ज़रूरत होती है:

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

ज़्यादा जानकारी के लिए, पुष्टि करने से जुड़ी खास जानकारी देखें.

लिस्टऑपरेशन

rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse)

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

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

इनमें से किसी एक OAuth स्कोप की ज़रूरत होती है:

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

ज़्यादा जानकारी के लिए, पुष्टि करने से जुड़ी खास जानकारी देखें.

वेटऑपरेशन

rpc WaitOperation(WaitOperationRequest) returns (Operation)

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

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

इनमें से किसी एक OAuth स्कोप की ज़रूरत होती है:

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

ज़्यादा जानकारी के लिए, पुष्टि करने से जुड़ी खास जानकारी देखें.

कार्रवाई को रद्द करने का अनुरोध

Operations.CancelOperation के लिए अनुरोध का मैसेज.

फ़ील्ड
name

string

रद्द किए जाने वाले ऑपरेशन संसाधन का नाम.

Deleteऑपरेशन रिक्वेस्ट

Operations.DeleteOperation के लिए अनुरोध का मैसेज.

फ़ील्ड
name

string

मिटाए जाने वाले ऑपरेशन संसाधन का नाम.

गेटऑपरेशन अनुरोध

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 होता है.

इंतज़ार करने का अनुरोध

Operations.WaitOperation के लिए अनुरोध का मैसेज.

फ़ील्ड
name

string

इंतज़ार करने के लिए ऑपरेशन संसाधन का नाम.

timeout

Duration

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