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 API शामिल हैं. इसका इस्तेमाल gRPC करता है. हर Status मैसेज में तीन तरह का डेटा होता है: गड़बड़ी का कोड, गड़बड़ी का मैसेज, और गड़बड़ी की जानकारी.

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

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

integer

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

message

string

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

details[]

object

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

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

तरीके

get

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