REST Resource: operations

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

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

जेएसओएन के काेड में दिखाना
{
  "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

QueryMetadata ऑब्जेक्ट में, कार्रवाई से जुड़ा खास सेवा से जुड़ा डेटा शामिल है.

ऐसा ऑब्जेक्ट जिसमें आर्बिट्ररी टाइप के फ़ील्ड होते हैं. एक और फ़ील्ड "@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

क्वेरी की कार्रवाई पूरी होने पर, QueryResponse ऑब्जेक्ट दिखाया जाता है.

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

स्थिति

Status टाइप, लॉजिकल गड़बड़ी के मॉडल के बारे में बताता है, जो प्रोग्रामिंग के अलग-अलग एनवायरमेंट के लिए सही है. इनमें REST API और आरपीसी एपीआई शामिल हैं. इसका इस्तेमाल 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" }.

तरीके

cancel

लंबे समय तक चलने वाली कार्रवाई के लिए, एसिंक्रोनस रद्द करना शुरू करता है.

delete

लंबे समय तक चलने वाली कार्रवाई मिटाती है.

get

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

list

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

wait

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