Package google.longrunning

इंडेक्स

कार्रवाइयां

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

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

  • routeoptimization.operations.get

ज़्यादा जानकारी के लिए, IAM का दस्तावेज़ देखें.

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

यह स्टैंडर्ड सूची वाले पेज का टोकन है.

return_partial_success

bool

true पर सेट होने पर, जिन कार्रवाइयों तक पहुंचा जा सकता है उन्हें सामान्य तौर पर दिखाया जाता है. साथ ही, जिन कार्रवाइयों तक नहीं पहुंचा जा सकता उन्हें [ListOperationsResponse.unreachable] फ़ील्ड में दिखाया जाता है.

ऐसा सिर्फ़ तब हो सकता है, जब एक से ज़्यादा कलेक्शन पढ़े जा रहे हों. उदाहरण के लिए, जब parent को "projects/example/locations/-" पर सेट किया गया हो.true

यह फ़ील्ड डिफ़ॉल्ट रूप से काम नहीं करता है. अगर इसे सेट किया जाता है, तो UNIMPLEMENTED गड़बड़ी होगी. हालांकि, अगर सेवा या प्रॉडक्ट से जुड़े दस्तावेज़ में इसके बारे में साफ़ तौर पर बताया गया है, तो ऐसा नहीं होगा.

ListOperationsResponse

Operations.ListOperations के लिए जवाब वाला मैसेज.

फ़ील्ड
operations[]

Operation

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

next_page_token

string

यह सूची के अगले पेज का स्टैंडर्ड टोकन है.

unreachable[]

string

बिना क्रम वाली सूची. ऐसे संसाधन जिन तक नहीं पहुंचा जा सकता. इस फ़ील्ड में वैल्यू तब भरी जाती है, जब अनुरोध ListOperationsRequest.return_partial_success सेट करता है और सभी कलेक्शन को पढ़ता है. उदाहरण के लिए, जब सभी उपलब्ध जगहों पर सभी संसाधनों को लिस्ट करने की कोशिश की जाती है.

कार्रवाई

यह संसाधन, ज़्यादा समय तक चलने वाली कार्रवाई को दिखाता है. यह कार्रवाई, नेटवर्क एपीआई कॉल का नतीजा है.

फ़ील्ड
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

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