REST Resource: operations

संसाधन: ऑपरेशन

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

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

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "error": {
    object (Status)
  },
  "response": {
    "@type": string,
    field1: ...,
    ...
  }
  // End of mutually exclusive fields.
}
फ़ील्ड
name

string

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

metadata

object

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

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

done

boolean

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

कार्रवाई का नतीजा, जो error या मान्य response हो सकता है. अगर वैल्यू done == false है, तो न तो error और न ही response सेट है. अगर वैल्यू done == true है, तो error या response में से सिर्फ़ एक को सेट किया जा सकता है. ऐसा हो सकता है कि कुछ सेवाएं, नतीजे न दिखाएं. यहां ऐसे फ़ील्ड की सूची दी गई है जिनमें से सिर्फ़ एक को चुना जा सकता है. जवाब में, ज़्यादा से ज़्यादा एक फ़ील्ड सेट किया जाएगा:
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

इस तरीके से, ज़्यादा समय तक चलने वाली कार्रवाई की मौजूदा स्थिति मिलती है.