REST Resource: operations

संसाधन: कार्रवाई

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

JSON के काेड में दिखाना
{
  "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 मैसेज में तीन तरह का डेटा होता है: गड़बड़ी का कोड, गड़बड़ी का मैसेज, और गड़बड़ी की जानकारी.

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

JSON के काेड में दिखाना
{
  "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" }.

तरीके

get

लंबे समय से चल रहे ऑपरेशन की नई स्थिति की जानकारी देता है.