Operation

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

जेएसओएन के काेड में दिखाना
{
  "name": string,
  "metadata": {
    "@type": string,
    field1: ...,
    ...
  },
  "done": boolean,

  // Union field result can be only one of the following:
  "error": {
    object (Status)
  },
  "response": {
    "@type": string,
    field1: ...,
    ...
  }
  // End of list of possible types for union field result.
}
फ़ील्ड
name

string

सर्वर से असाइन किया गया नाम, जो सिर्फ़ उसी सेवा के लिए खास होता है जो इसे मूल रूप से दिखाती है. अगर डिफ़ॉल्ट एचटीटीपी मैपिंग का इस्तेमाल किया जाता है, तो name एक संसाधन का नाम होना चाहिए, जिसके आखिर में operations/{unique_id} हो.

metadata

object

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

ऐसा ऑब्जेक्ट जिसमें किसी आर्बिट्रेरी टाइप के फ़ील्ड होते हैं. एक और फ़ील्ड "@type" में, टाइप की पहचान करने वाला एक यूआरआई शामिल है. उदाहरण: { "id": 1234, "@type": "types.example.com/standard/id" }.

done

boolean

अगर वैल्यू false है, तो इसका मतलब है कि कार्रवाई अब भी जारी है. अगर true है, तो कार्रवाई पूरी हो जाती है और error या response उपलब्ध होता है.

यूनियन फ़ील्ड result. कार्रवाई का नतीजा, जो error या मान्य response हो सकता है. अगर done == false है, तो error या response दोनों ही सेट नहीं हैं. अगर done == true है, तो error या response में से किसी एक को सेट किया जा सकता है. ऐसा हो सकता है कि कुछ सेवाओं से आपको नतीजे की जानकारी न मिले. result इनमें से सिर्फ़ एक हो सकती है:
error

object (Status)

विफलता या रद्द होने की स्थिति में कार्रवाई से गड़बड़ी का नतीजा.

response

object

कार्रवाई का सामान्य और सफल रिस्पॉन्स. अगर ओरिजनल तरीके से काम पूरा होने का कोई डेटा नहीं मिलता (जैसे कि Delete), तो रिस्पॉन्स google.protobuf.Empty है. अगर मूल तरीका स्टैंडर्ड Get/Create/Update है, तो रिस्पॉन्स, रिसॉर्स होना चाहिए. दूसरे तरीकों के लिए, रिस्पॉन्स में XxxResponse का टाइप होना चाहिए, जिसमें Xxx ओरिजनल तरीके का नाम है. उदाहरण के लिए, अगर जवाब पाने का मूल तरीका TakeSnapshot() है, तो रिस्पॉन्स का अनुमानित टाइप TakeSnapshotResponse होगा.

ऐसा ऑब्जेक्ट जिसमें किसी आर्बिट्रेरी टाइप के फ़ील्ड होते हैं. एक और फ़ील्ड "@type" में, टाइप की पहचान करने वाला एक यूआरआई शामिल है. उदाहरण: { "id": 1234, "@type": "types.example.com/standard/id" }.

स्थिति

Status टाइप, एक लॉजिकल गड़बड़ी वाले मॉडल के बारे में बताता है. यह मॉडल अलग-अलग प्रोग्रामिंग एनवायरमेंट के लिए सही होता है. इनमें REST API और RPC एपीआई शामिल हैं. इसका इस्तेमाल gRPC करता है. हर Status मैसेज में तीन तरह का डेटा होता है: गड़बड़ी कोड, गड़बड़ी का मैसेज, और गड़बड़ी की जानकारी.

एपीआई की डिज़ाइन गाइड में, गड़बड़ी के इस मॉडल और उस पर काम करने के तरीके के बारे में ज़्यादा जानें.

जेएसओएन के काेड में दिखाना
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
फ़ील्ड
code

integer

स्टेटस कोड, जो google.rpc.Code की एनम वैल्यू होना चाहिए.

message

string

डेवलपर को दिखने वाला गड़बड़ी का मैसेज, जो अंग्रेज़ी में होना चाहिए. उपयोगकर्ता को दिखने वाली गड़बड़ी के मैसेज को स्थानीय भाषा में लिखना चाहिए और google.rpc.Status.details फ़ील्ड में भेजना चाहिए. इसके अलावा, क्लाइंट की मदद से भी इस मैसेज को स्थानीय भाषा में लिखा जाना चाहिए.

details[]

object

मैसेज की ऐसी सूची जिसमें गड़बड़ी की जानकारी होती है. एपीआई के इस्तेमाल के लिए, मैसेज का एक सामान्य सेट है.

ऐसा ऑब्जेक्ट जिसमें किसी आर्बिट्रेरी टाइप के फ़ील्ड होते हैं. एक और फ़ील्ड "@type" में, टाइप की पहचान करने वाला एक यूआरआई शामिल है. उदाहरण: { "id": 1234, "@type": "types.example.com/standard/id" }.