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 और आरपीसी एपीआई. इसका इस्तेमाल 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" }.

तरीके

cancel

ज़्यादा समय तक चलने वाले ऑपरेशन को असिंक्रोनस तरीके से रद्द करने की प्रोसेस शुरू करता है.

delete

ज़्यादा समय तक चलने वाली कार्रवाई को मिटाता है.

get

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

list

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