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

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

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

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